]> Cypherpunks.ru repositories - gostls13.git/commitdiff
time: increase arbitrary upper bound in TestReset to 10s
authorBryan C. Mills <bcmills@google.com>
Mon, 10 Jul 2023 22:40:47 +0000 (18:40 -0400)
committerBryan Mills <bcmills@google.com>
Tue, 11 Jul 2023 13:19:40 +0000 (13:19 +0000)
The previous upper bound was around 0.375 s, which is empirically
too short on a slow, heavily-loaded builder. Since the test doesn't
seem to depend on the actual duration in any meaningful way, let's
make it several orders of magnitude larger.

Fixes #61266.

Change-Id: I6dde5e174966ee385db67e3cb87334f463c7e597
Reviewed-on: https://go-review.googlesource.com/c/go/+/508695
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/time/sleep_test.go

index 8aac3b68f674d614480a04b187e1515403b8295e..2f791240f927810a2904a041b9e985ef9d89a88d 100644 (file)
@@ -418,22 +418,22 @@ func TestReset(t *testing.T) {
        // We try to run this test with increasingly larger multiples
        // until one works so slow, loaded hardware isn't as flaky,
        // but without slowing down fast machines unnecessarily.
-       const unit = 25 * Millisecond
-       tries := []Duration{
-               1 * unit,
-               3 * unit,
-               7 * unit,
-               15 * unit,
-       }
-       var err error
-       for _, d := range tries {
-               err = testReset(d)
+       //
+       // (maxDuration is several orders of magnitude longer than we
+       // expect this test to actually take on a fast, unloaded machine.)
+       d := 1 * Millisecond
+       const maxDuration = 10 * Second
+       for {
+               err := testReset(d)
                if err == nil {
-                       t.Logf("passed using duration %v", d)
-                       return
+                       break
                }
+               d *= 2
+               if d > maxDuration {
+                       t.Error(err)
+               }
+               t.Logf("%v; trying duration %v", err, d)
        }
-       t.Error(err)
 }
 
 // Test that sleeping (via Sleep or Timer) for an interval so large it