From 53e742fb027e60ff67c3c17306e6afcc0002f54e Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Fri, 3 Jul 2015 16:26:04 +0200 Subject: [PATCH] cpu_quota.run: don't get stuck on zero counters The test previously complained about divide-by-zero if the counters were all zero. Fixes #1616 --- repos/os/run/cpu_quota.run | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/repos/os/run/cpu_quota.run b/repos/os/run/cpu_quota.run index f9d406ac7d..c474ff4344 100644 --- a/repos/os/run/cpu_quota.run +++ b/repos/os/run/cpu_quota.run @@ -145,11 +145,14 @@ set err_cnt 0 proc check_counter { name opt cnt total_cnt } { global err_cnt - set err 0.01 - set is [expr double($cnt) / $total_cnt ] - set is_pc [expr double(round($is * 100000)) / 1000] - set opt_pc [expr double(round($opt * 100000)) / 1000] - set err_str "Good: " + set err_str "Good: " + set err 0.01 + set is 0 + + if {[expr $total_cnt != 0]} { set is [expr double($cnt) / $total_cnt ] } + + set is_pc [expr double(round($is * 100000)) / 1000] + set opt_pc [expr double(round($opt * 100000)) / 1000] if {[expr $is > $opt + $err || $is < $opt - $err]} {