From 96c9f3aa005001f9b316208220328a5178c6e967 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 19 Nov 2019 07:00:45 -0800 Subject: [PATCH] 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 Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/time/tick_test.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/time/tick_test.go b/src/time/tick_test.go index 92fb2f91fb..71ea3672b8 100644 --- a/src/time/tick_test.go +++ b/src/time/tick_test.go @@ -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)) -- 2.50.0