Add option to specify spec_name
authorDonald Sebastian Leung <donaldsebleung@gmail.com>
Fri, 18 Sep 2020 03:45:11 +0000 (11:45 +0800)
committerSébastien Bourdeauducq <sb@m-labs.hk>
Sat, 19 Sep 2020 08:59:31 +0000 (16:59 +0800)
nmigen/test/utils.py

index 29bd5b6d27e8dbd25015048b4207da62515f5a2f..aa7b81d5e3bb54978c4fbac77b7f78681f556edc 100644 (file)
@@ -53,14 +53,15 @@ class FHDLTestCase(unittest.TestCase):
         if msg is not None:
             self.assertEqual(str(warns[0].message), msg)
 
-    def assertFormal(self, spec, mode="bmc", depth=1, engine="smtbmc"):
+    def assertFormal(self, spec, mode="bmc", depth=1, engine="smtbmc", spec_name=None):
         caller, *_ = traceback.extract_stack(limit=2)
         spec_root, _ = os.path.splitext(caller.filename)
         spec_dir = os.path.dirname(spec_root)
-        spec_name = "{}_{}".format(
-            os.path.basename(spec_root).replace("test_", "spec_"),
-            caller.name.replace("test_", "")
-        )
+        if spec_name is None:
+            spec_name = "{}_{}".format(
+                os.path.basename(spec_root).replace("test_", "spec_"),
+                caller.name.replace("test_", "")
+            )
 
         # The sby -f switch seems not fully functional when sby is reading from stdin.
         if os.path.exists(os.path.join(spec_dir, spec_name)):