]> Cypherpunks repositories - gostls13.git/commitdiff
time: give TestTicker more time on darwin-arm64
authorIan Lance Taylor <iant@golang.org>
Tue, 19 Nov 2019 15:00:45 +0000 (07:00 -0800)
committerIan Lance Taylor <iant@golang.org>
Tue, 19 Nov 2019 16:24:02 +0000 (16:24 +0000)
The darwin-arm64-correlium builder was failing the test consistently
at the old values. Give the ticks more time to let the test pass.

Updates #35692

Change-Id: Ibc636cd4db2595c82f4e8c6c822c3df4c2b7e0a1
Reviewed-on: https://go-review.googlesource.com/c/go/+/207839
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/time/tick_test.go

index 92fb2f91fb7761c293718631cb337c934ac0ad7b..71ea3672b86645a4d8d35e9be033f39930d468a8 100644 (file)
@@ -6,6 +6,7 @@ package time_test
 
 import (
        "fmt"
+       "runtime"
        "testing"
        . "time"
 )
@@ -16,9 +17,15 @@ func TestTicker(t *testing.T) {
        // want to use lengthy times. This makes the test inherently flaky.
        // So only report an error if it fails five times in a row.
 
-       const count = 10
+       count := 10
        delta := 20 * Millisecond
 
+       // On Darwin ARM64 the tick frequency seems limited. Issue 35692.
+       if runtime.GOOS == "darwin" && runtime.GOARCH == "arm64" {
+               count = 5
+               delta = 100 * Millisecond
+       }
+
        var errs []string
        logErrs := func() {
                for _, e := range errs {
@@ -35,7 +42,7 @@ func TestTicker(t *testing.T) {
                ticker.Stop()
                t1 := Now()
                dt := t1.Sub(t0)
-               target := delta * count
+               target := delta * Duration(count)
                slop := target * 2 / 10
                if dt < target-slop || dt > target+slop {
                        errs = append(errs, fmt.Sprintf("%d %s ticks took %s, expected [%s,%s]", count, delta, dt, target-slop, target+slop))