mirror of
https://github.com/golang/go
synced 2024-11-18 13:04:46 -07:00
cmd/dist: fix computation of test timeout
When dist test was updated to run "go test" with multiple package arguments at once, merging the logical test units into one execution, the hack to give cmd/go twice as much time wasn't updated. What was happening (even in the all.bash case) was that we were merging together, say, "cmd/go" and "bytes", and because bar was lexically earlier, the timeout calculation was based on package "byte", even though we were actually running, say: "go test bytes cmd/go". This explains why x/build/cmd/release was often flaky with its all.bash, since cmd/go can't really finish in 3 minutes reliably unless it's running by itself. If it has any competition, it runs over. Change-Id: I875c8c9e65940ce0ceff48215740dfadfaa89d3f Reviewed-on: https://go-review.googlesource.com/111395 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org>
This commit is contained in:
parent
bcdbd58ce4
commit
8aa316c139
13
src/cmd/dist/test.go
vendored
13
src/cmd/dist/test.go
vendored
@ -273,10 +273,6 @@ func (t *tester) registerStdTest(pkg string) {
|
||||
if t.runRx == nil || t.runRx.MatchString(testName) == t.runRxWant {
|
||||
stdMatches = append(stdMatches, pkg)
|
||||
}
|
||||
timeoutSec := 180
|
||||
if pkg == "cmd/go" {
|
||||
timeoutSec *= 2
|
||||
}
|
||||
t.tests = append(t.tests, distTest{
|
||||
name: testName,
|
||||
heading: "Testing packages.",
|
||||
@ -288,6 +284,15 @@ func (t *tester) registerStdTest(pkg string) {
|
||||
timelog("start", dt.name)
|
||||
defer timelog("end", dt.name)
|
||||
ranGoTest = true
|
||||
|
||||
timeoutSec := 180
|
||||
for _, pkg := range stdMatches {
|
||||
if pkg == "cmd/go" {
|
||||
timeoutSec *= 2
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
args := []string{
|
||||
"test",
|
||||
"-short",
|
||||
|
Loading…
Reference in New Issue
Block a user