diff --git a/project/evmbench/evmbench/nano/eval.py b/project/evmbench/evmbench/nano/eval.py index 631f4e44..dfaad689 100644 --- a/project/evmbench/evmbench/nano/eval.py +++ b/project/evmbench/evmbench/nano/eval.py @@ -181,7 +181,6 @@ async def get_full_summary( ) -> dict[str, Any]: ctx_logger = logger.bind(run_group_id=self.run_group_id, runs_dir=self.runs_dir) - tasks = [t for t, _ in results] final_results = [ r.grade.evmbench_result for _, r in results @@ -240,7 +239,7 @@ async def get_full_summary( "params": params, "run_health": run_health, "metrics": metrics, - "run_group_id": getattr(tasks[0], "run_group_id", "undefined"), + "run_group_id": self.run_group_id, } ctx_logger.info( diff --git a/project/evmbench/tests/test_empty_summary.py b/project/evmbench/tests/test_empty_summary.py new file mode 100644 index 00000000..29a8dae6 --- /dev/null +++ b/project/evmbench/tests/test_empty_summary.py @@ -0,0 +1,15 @@ +import pytest + +from evmbench.nano.eval import EVMbench + + +@pytest.mark.asyncio +async def test_evmbench_full_summary_handles_empty_results() -> None: + eval = EVMbench() + + summary = await eval.get_full_summary([]) + + assert summary["params"]["n_samples"] == 0 + assert summary["metrics"]["score"] == 0 + assert summary["metrics"]["max_score"] == 0 + assert summary["run_group_id"] == eval.run_group_id