From c6b5dce0d1ef35c1c35ab14f3e32ad55d7f83818 Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Thu, 20 Jul 2023 10:23:47 -0400 Subject: [PATCH] cmd/dist: apply timeout scale even if timeout isn't overridden The timeout field is documented as being available so that it's possible to override timeout by setting a non-zero value. If it's left at zero, we don't need to override the default go test timeout, but we still need to apply the timeout scale whenever it's something other than 1. Fixes (via backport) #61468. Change-Id: I63634e9b3ef8c4ec7f334b5a6b4bf3cad121355c Reviewed-on: https://go-review.googlesource.com/c/go/+/511567 Auto-Submit: Dmitri Shuralyov Reviewed-by: Dmitri Shuralyov TryBot-Result: Gopher Robot Reviewed-by: Bryan Mills Run-TryBot: Dmitri Shuralyov --- src/cmd/dist/test.go | 3 +++ src/cmd/go/internal/test/testflag.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index bd02149c115..554adea1b17 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -405,6 +405,9 @@ func (opts *goTest) buildArgs(t *tester) (build, run, pkgs, testFlags []string, if opts.timeout != 0 { d := opts.timeout * time.Duration(t.timeoutScale) run = append(run, "-timeout="+d.String()) + } else if t.timeoutScale != 1 { + const goTestDefaultTimeout = 10 * time.Minute // Default value of go test -timeout flag. + run = append(run, "-timeout="+(goTestDefaultTimeout*time.Duration(t.timeoutScale)).String()) } if opts.short || t.short { run = append(run, "-short") diff --git a/src/cmd/go/internal/test/testflag.go b/src/cmd/go/internal/test/testflag.go index 970c2f59e9a..425378889d9 100644 --- a/src/cmd/go/internal/test/testflag.go +++ b/src/cmd/go/internal/test/testflag.go @@ -61,7 +61,7 @@ func init() { cf.String("run", "", "") cf.Bool("short", false, "") cf.String("skip", "", "") - cf.DurationVar(&testTimeout, "timeout", 10*time.Minute, "") + cf.DurationVar(&testTimeout, "timeout", 10*time.Minute, "") // known to cmd/dist cf.String("fuzztime", "", "") cf.String("fuzzminimizetime", "", "") cf.StringVar(&testTrace, "trace", "", "")