Add testcases to cover design validation errors

This commit is contained in:
Alex Mykyta
2025-03-06 22:10:05 -08:00
parent f882e155d1
commit 54ac56e1c3
10 changed files with 196 additions and 6 deletions

View File

@@ -52,7 +52,7 @@ class BaseTestCase(unittest.TestCase):
@property
def rerun(self) -> bool:
"""
Re-run wothout deleting and re-generating prior output directory.
Re-run without deleting and re-generating prior output directory.
"""
return self.request.config.getoption("--rerun")
@@ -79,14 +79,14 @@ class BaseTestCase(unittest.TestCase):
f.write(f"{k}: {repr(v)}\n")
def _export_regblock(self):
def export_regblock(self):
"""
Call the peakrdl_regblock exporter to generate the DUT
"""
this_dir = self.get_testcase_dir()
if self.rdl_file:
rdl_file = self.rdl_file
rdl_file = os.path.join(this_dir, self.rdl_file)
else:
# Find any *.rdl file in testcase dir
rdl_file = glob.glob(os.path.join(this_dir, "*.rdl"))[0]
@@ -120,17 +120,21 @@ class BaseTestCase(unittest.TestCase):
default_reset_async=self.default_reset_async,
)
def delete_run_dir(self) -> None:
run_dir = self.get_run_dir()
if os.path.exists(run_dir):
shutil.rmtree(run_dir)
def setUp(self) -> None:
if self.rerun:
return
# Create fresh build dir
run_dir = self.get_run_dir()
if os.path.exists(run_dir):
shutil.rmtree(run_dir)
self.delete_run_dir()
pathlib.Path(run_dir).mkdir(parents=True, exist_ok=True)
self._write_params()
# Convert testcase RDL file --> SV
self._export_regblock()
self.export_regblock()