]> Cypherpunks repositories - gostls13.git/commitdiff
os/signal: increase test timeouts on ppc64*/linux
authorPaul E. Murphy <murp@ibm.com>
Wed, 28 Apr 2021 21:47:41 +0000 (16:47 -0500)
committerLynn Boger <laboger@linux.vnet.ibm.com>
Tue, 4 May 2021 17:37:39 +0000 (17:37 +0000)
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 <murp@ibm.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Trust: Lynn Boger <laboger@linux.vnet.ibm.com>

src/os/signal/signal_test.go

index 4c19281e91b756ef0c897c42a83518f0c8730d35..cea68742d264b9889a9e18a31cec2ff0d0fe0fd0 100644 (file)
@@ -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)