mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/go: honor -timeout=0 to mean no timeout
The test binaries accept -timeout=0 to mean no timeout, but then the backup timer in cmd/go kills the test after 1 minute. Make cmd/go understand this special case and change behavior accordingly. Fixes #14780. Change-Id: I66bf517173a4ad21d53a5ee88d163f04b8929fb6 Reviewed-on: https://go-review.googlesource.com/81499 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
7684fe0bf1
commit
496688b3cf
3 changed files with 10 additions and 4 deletions
|
|
@ -1199,9 +1199,9 @@
|
||||||
// GO386
|
// GO386
|
||||||
// For GOARCH=386, the floating point instruction set.
|
// For GOARCH=386, the floating point instruction set.
|
||||||
// Valid values are 387, sse2.
|
// Valid values are 387, sse2.
|
||||||
// GOMIPS
|
// GOMIPS
|
||||||
// For GOARCH=mips{,le}, whether to use floating point instructions.
|
// For GOARCH=mips{,le}, whether to use floating point instructions.
|
||||||
// Valid values are hardfloat (default), softfloat.
|
// Valid values are hardfloat (default), softfloat.
|
||||||
//
|
//
|
||||||
// Special-purpose environment variables:
|
// Special-purpose environment variables:
|
||||||
//
|
//
|
||||||
|
|
@ -1575,6 +1575,7 @@
|
||||||
//
|
//
|
||||||
// -timeout d
|
// -timeout d
|
||||||
// If a test binary runs longer than duration d, panic.
|
// If a test binary runs longer than duration d, panic.
|
||||||
|
// If d is 0, the timeout is disabled.
|
||||||
// The default is 10 minutes (10m).
|
// The default is 10 minutes (10m).
|
||||||
//
|
//
|
||||||
// -v
|
// -v
|
||||||
|
|
|
||||||
|
|
@ -272,6 +272,7 @@ const testFlag2 = `
|
||||||
|
|
||||||
-timeout d
|
-timeout d
|
||||||
If a test binary runs longer than duration d, panic.
|
If a test binary runs longer than duration d, panic.
|
||||||
|
If d is 0, the timeout is disabled.
|
||||||
The default is 10 minutes (10m).
|
The default is 10 minutes (10m).
|
||||||
|
|
||||||
-v
|
-v
|
||||||
|
|
@ -549,6 +550,10 @@ func runTest(cmd *base.Command, args []string) {
|
||||||
// timer does not get a chance to fire.
|
// timer does not get a chance to fire.
|
||||||
if dt, err := time.ParseDuration(testTimeout); err == nil && dt > 0 {
|
if dt, err := time.ParseDuration(testTimeout); err == nil && dt > 0 {
|
||||||
testKillTimeout = dt + 1*time.Minute
|
testKillTimeout = dt + 1*time.Minute
|
||||||
|
} else if err == nil && dt == 0 {
|
||||||
|
// An explicit zero disables the test timeout.
|
||||||
|
// Let it have one century (almost) before we kill it.
|
||||||
|
testKillTimeout = 100 * 365 * 24 * time.Hour
|
||||||
}
|
}
|
||||||
|
|
||||||
// show passing test output (after buffering) with -v flag.
|
// show passing test output (after buffering) with -v flag.
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,7 @@ var (
|
||||||
mutexProfile = flag.String("test.mutexprofile", "", "write a mutex contention profile to the named file after execution")
|
mutexProfile = flag.String("test.mutexprofile", "", "write a mutex contention profile to the named file after execution")
|
||||||
mutexProfileFraction = flag.Int("test.mutexprofilefraction", 1, "if >= 0, calls runtime.SetMutexProfileFraction()")
|
mutexProfileFraction = flag.Int("test.mutexprofilefraction", 1, "if >= 0, calls runtime.SetMutexProfileFraction()")
|
||||||
traceFile = flag.String("test.trace", "", "write an execution trace to `file`")
|
traceFile = flag.String("test.trace", "", "write an execution trace to `file`")
|
||||||
timeout = flag.Duration("test.timeout", 0, "panic test binary after duration `d` (0 means unlimited)")
|
timeout = flag.Duration("test.timeout", 0, "panic test binary after duration `d` (default 0, timeout disabled)")
|
||||||
cpuListStr = flag.String("test.cpu", "", "comma-separated `list` of cpu counts to run each test with")
|
cpuListStr = flag.String("test.cpu", "", "comma-separated `list` of cpu counts to run each test with")
|
||||||
parallel = flag.Int("test.parallel", runtime.GOMAXPROCS(0), "run at most `n` tests in parallel")
|
parallel = flag.Int("test.parallel", runtime.GOMAXPROCS(0), "run at most `n` tests in parallel")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue