@@ -43,39 +43,37 @@ def run_iterations(
4343):
4444 for iter in range (iters ):
4545 log .info (f"running { benchmark .name ()} , iteration { iter } ... " )
46- bench_results = benchmark .run (env_vars )
47- if bench_results is None :
48- if options .exit_on_failure :
49- raise RuntimeError (f"Benchmark { benchmark .name ()} produced no results!" )
50- else :
51- failures [benchmark .name ()] = "benchmark produced no results!"
52- break
53-
54- for bench_result in bench_results :
55- if not bench_result .passed :
46+ try :
47+ bench_results = benchmark .run (env_vars )
48+ if bench_results is None :
5649 if options .exit_on_failure :
57- raise RuntimeError (
58- f"Benchmark { benchmark .name ()} failed: { bench_result .label } verification failed."
59- )
50+ raise RuntimeError (f"Benchmark produced no results!" )
6051 else :
61- failures [bench_result .label ] = "verification failed"
62- log .warning (
63- f"complete ({ bench_result .label } : verification failed)."
64- )
65- continue
66-
67- log .info (
68- f"{ benchmark .name ()} complete ({ bench_result .label } : { bench_result .value :.3f} { bench_result .unit } )."
69- )
52+ failures [benchmark .name ()] = "benchmark produced no results!"
53+ break
7054
71- bench_result .name = bench_result .label
72- bench_result .lower_is_better = benchmark .lower_is_better ()
73- bench_result .suite = benchmark .get_suite_name ()
55+ for bench_result in bench_results :
56+ log .info (
57+ f"{ benchmark .name ()} complete ({ bench_result .label } : { bench_result .value :.3f} { bench_result .unit } )."
58+ )
59+ bench_result .name = bench_result .label
60+ bench_result .lower_is_better = benchmark .lower_is_better ()
61+ bench_result .suite = benchmark .get_suite_name ()
7462
75- if bench_result .label not in results :
76- results [bench_result .label ] = []
63+ if bench_result .label not in results :
64+ results [bench_result .label ] = []
7765
78- results [bench_result .label ].append (bench_result )
66+ results [bench_result .label ].append (bench_result )
67+ except Exception as e :
68+ failure_label = f"{ benchmark .name ()} iteration { iter } "
69+ if options .exit_on_failure :
70+ raise RuntimeError (
71+ f"Benchmark failed: { failure_label } verification failed: { str (e )} "
72+ )
73+ else :
74+ failures [failure_label ] = f"verification failed: { str (e )} "
75+ log .error (f"complete ({ failure_label } : verification failed: { str (e )} )." )
76+ continue
7977
8078
8179# https://www.statology.org/modified-z-score/
0 commit comments