time: give TestTicker more time on darwin-arm64
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>
diff --git a/src/time/tick_test.go b/src/time/tick_test.go
index 92fb2f9..71ea367 100644
--- a/src/time/tick_test.go
+++ b/src/time/tick_test.go
@@ -6,6 +6,7 @@
import (
"fmt"
+ "runtime"
"testing"
. "time"
)
@@ -16,9 +17,15 @@
// 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 @@
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))