From da7496d84128be85a4db5b6fdf9029c48c867211 Mon Sep 17 00:00:00 2001 From: "Paul E. Murphy" Date: Wed, 28 Apr 2021 16:47:41 -0500 Subject: [PATCH] os/signal: increase test timeouts on ppc64*/linux TestSignalTrace can take a bit longer to run on some ppc64{,le} machines. I was only able to reproduce the timeout reliably on a POWER8/ppc64le ubuntu 16.04 host. Bump the timeout to 5 seconds. This should be more than sufficient for a test which occasionally takes a bit longer to run on these builders. Fixes #45773 Change-Id: I4177bb986561f714aabfa5b0ca44b1c90b1cd94f Reviewed-on: https://go-review.googlesource.com/c/go/+/315049 Run-TryBot: Paul Murphy TryBot-Result: Go Bot Reviewed-by: Bryan C. Mills Trust: Lynn Boger --- src/os/signal/signal_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/os/signal/signal_test.go b/src/os/signal/signal_test.go index 4c19281e91..cea68742d2 100644 --- a/src/os/signal/signal_test.go +++ b/src/os/signal/signal_test.go @@ -18,6 +18,7 @@ import ( "runtime" "runtime/trace" "strconv" + "strings" "sync" "syscall" "testing" @@ -47,6 +48,13 @@ func init() { // // See https://golang.org/issue/33174. settleTime = 11 * time.Second + } else if runtime.GOOS == "linux" && strings.HasPrefix(runtime.GOARCH, "ppc64") { + // Older linux kernels seem to have some hiccups delivering the signal + // in a timely manner on ppc64 and ppc64le. When running on a + // ppc64le/ubuntu 16.04/linux 4.4 host the time can vary quite + // substantially even on a idle system. 5 seconds is twice any value + // observed when running 10000 tests on such a system. + settleTime = 5 * time.Second } else if s := os.Getenv("GO_TEST_TIMEOUT_SCALE"); s != "" { if scale, err := strconv.Atoi(s); err == nil { settleTime *= time.Duration(scale) -- 2.50.0