From fa14ed223e6fa3e9d58462cdc6aadc31ec7b5066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Nguyen?= Date: Mon, 19 Sep 2022 17:26:19 +0200 Subject: [PATCH] session: fix the testbench name used by build products. --- power_fv/session.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/power_fv/session.py b/power_fv/session.py index 770642e..7278211 100644 --- a/power_fv/session.py +++ b/power_fv/session.py @@ -175,12 +175,13 @@ class PowerFVSession: return check.build(do_build=False, **kwargs) for check_name, check_args in self._checks.items(): - plan = prepare_check(check_name, check_args) - root = str(build_dir / check_name) - worker_inputs.append((check_name, plan, root, connect_to)) + plan = prepare_check(check_name, check_args) + tb_name = "{}_tb".format(check_name.replace(":", "_")) + tb_root = str(build_dir / tb_name) + worker_inputs.append((tb_name, plan, tb_root, connect_to)) # Save an archive of the build files to the result directory. - plan.archive(result_dir / f"{check_name}.zip") + plan.archive(result_dir / f"{tb_name}.zip") # Execute build plans. @@ -204,23 +205,23 @@ class PowerFVSession: # Write the results. - def write_result(check_name, products): + def write_result(tb_name, products): status = "unknown" for filename in ("PASS", "FAIL"): try: - products.get(f"{check_name}_tb/{filename}") + products.get(f"{tb_name}/{filename}") status = filename.lower() except: pass with open(result_dir / "status.txt", "a") as statusfile: - statusfile.write(f"{check_name} {status}\n") + statusfile.write(f"{tb_name} {status}\n") if status == "fail": - with open(result_dir / f"{check_name}.log", "w") as logfile: - logfile.write(products.get(f"{check_name}_tb/engine_0/logfile.txt", "t")) - with open(result_dir / f"{check_name}.vcd", "w") as vcdfile: - vcdfile.write(products.get(f"{check_name}_tb/engine_0/trace.vcd", "t")) + with open(result_dir / f"{tb_name}.log", "w") as logfile: + logfile.write(products.get(f"{tb_name}/engine_0/logfile.txt", "t")) + with open(result_dir / f"{tb_name}.vcd", "w") as vcdfile: + vcdfile.write(products.get(f"{tb_name}/engine_0/trace.vcd", "t")) - for check_name, products in sorted(worker_outputs, key=itemgetter(0)): - write_result(check_name, products) + for tb_name, products in sorted(worker_outputs, key=itemgetter(0)): + write_result(tb_name, products)