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))