session: fix the testbench name used by build products.

main
Jean-François Nguyen 2 years ago
parent 84bad74a04
commit fa14ed223e

@ -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)

Loading…
Cancel
Save