diff --git a/src/dvsim/flow/base.py b/src/dvsim/flow/base.py index 2a12980..098738b 100644 --- a/src/dvsim/flow/base.py +++ b/src/dvsim/flow/base.py @@ -471,14 +471,25 @@ def gen_results(self, results: Sequence[CompletedJobStatus]) -> None: """ for item in self.cfgs: + project = item.name + item_results = [r for r in results if r.project == project] + json_str = ( - item._gen_json_results(results) if hasattr(item, "_gen_json_results") else None + item._gen_json_results(item_results) if hasattr(item, "_gen_json_results") else None + ) + result = item._gen_results(item_results) + + log.info("[results]: [%s]:\n%s\n", project, result) + log.info("[scratch_path]: [%s] [%s]", project, item.scratch_path) + + item.write_results( + self.results_html_name, + item.results_md, + json_str=json_str, ) - result = item._gen_results(results) - log.info("[results]: [%s]:\n%s\n", item.name, result) - log.info("[scratch_path]: [%s] [%s]", item.name, item.scratch_path) - item.write_results(self.results_html_name, item.results_md, json_str) - log.verbose("[report]: [%s] [%s/report.html]", item.name, item.results_dir) + + log.verbose("[report]: [%s] [%s/report.html]", project, item.results_dir) + self.errors_seen |= item.errors_seen if self.is_primary_cfg: diff --git a/src/dvsim/job/data.py b/src/dvsim/job/data.py index 600b37f..142939d 100644 --- a/src/dvsim/job/data.py +++ b/src/dvsim/job/data.py @@ -119,6 +119,8 @@ class CompletedJobStatus(BaseModel): model_config = ConfigDict(frozen=True, extra="forbid") + project: str + """Name of the project""" job_type: str """Deployment type""" name: str diff --git a/src/dvsim/scheduler.py b/src/dvsim/scheduler.py index 28306b6..8e48561 100644 --- a/src/dvsim/scheduler.py +++ b/src/dvsim/scheduler.py @@ -237,6 +237,7 @@ def on_signal(signal_received: int, _: FrameType | None) -> None: results.append( CompletedJobStatus( + project=job_spec.workspace_cfg.project, job_type=job_spec.job_type, name=job_spec.name, seed=job_spec.seed, diff --git a/src/dvsim/testplan.py b/src/dvsim/testplan.py index 4b76f6c..3170ac8 100644 --- a/src/dvsim/testplan.py +++ b/src/dvsim/testplan.py @@ -650,8 +650,8 @@ def get_test_results_table(self, map_full_testplan=True): continue pass_rate = self._get_percentage(tr.passing, tr.total) - job_runtime = "" if tr.job_runtime is None else str(tr.job_runtime) - simulated_time = "" if tr.simulated_time is None else str(tr.simulated_time) + job_runtime = "" if tr.job_runtime is None else f"{tr.job_runtime:.3f}s" + simulated_time = "" if tr.simulated_time is None else f"{tr.simulated_time:.3f}us" table.append( [