summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-04-03 14:10:16 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-04-06 00:19:03 +0900
commitf07c756494b0e473ff8e4ece6f04c7ababe93b01 (patch)
tree6de84533291786e3639c2e86b0b6d49e99ef4922 /tool
parent4b100f75d2047de4f525f748fe8901471e8318ed (diff)
downloadruby-f07c756494b0e473ff8e4ece6f04c7ababe93b01.tar.gz
core_assertions.rb: Tweak timeout limit
Increase the timeout limit when variance at rehearsal is small.
Diffstat (limited to 'tool')
-rw-r--r--tool/lib/core_assertions.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/tool/lib/core_assertions.rb b/tool/lib/core_assertions.rb
index c5b4089862..6000d39c90 100644
--- a/tool/lib/core_assertions.rb
+++ b/tool/lib/core_assertions.rb
@@ -758,14 +758,14 @@ eom
end
times.compact!
tmin, tmax = times.minmax
- tmax *= tmax / tmin
- tmax = 10**Math.log10(tmax).ceil
+ tbase = 10 ** Math.log10(tmax * ([(tmax / tmin), 2].max ** 2)).ceil
+ info = "(tmin: #{tmin}, tmax: #{tmax}, tbase: #{tbase})"
seq.each do |i|
next if i == first
- t = tmax * i.fdiv(first)
+ t = tbase * i.fdiv(first)
*arg = pre.call(i)
- message = "[#{i}]: in #{t}s"
+ message = "[#{i}]: in #{t}s #{info}"
Timeout.timeout(t, Timeout::Error, message) do
st = Process.clock_gettime(Process::CLOCK_MONOTONIC)
yield(*arg)