cmd/dist: revise skip sequence added in CL 452763

Revise the code added in CL 452763 that skips some of the -race tests
on older windows builders. The old-style skip was doing a log.Printf,
which wound up being interpreted in "-list" mode. Fix is to pass in a
special rtPreFunc when registering the test (thanks Austin for the
fix suggestion).

Updates #56904.

Change-Id: Ia6ea31fb7f011b539173f47357ab3bf7389f256d
Reviewed-on: https://go-review.googlesource.com/c/go/+/452769
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Than McIntosh <thanm@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Than McIntosh <thanm@google.com>
This commit is contained in:
Than McIntosh 2022-11-22 12:06:53 -05:00 committed by Gopher Robot
parent 7a00f973a5
commit 793f1a13f7
1 changed files with 13 additions and 10 deletions

23
src/cmd/dist/test.go vendored
View File

@ -1602,18 +1602,21 @@ func (t *tester) registerRaceTests() {
// t.registerTest("race:misc/cgo/test", hdr, &goTest{dir: "../misc/cgo/test", race: true, env: []string{"GOTRACEBACK=2"}})
}
if t.extLink() {
var oldWindows rtPreFunc
if strings.HasPrefix(os.Getenv("GO_BUILDER_NAME"), "windows-amd64-2008") {
log.Printf("skipping -race with external linkage on older windows builder, see https://github.com/golang/go/issues/56904 for details")
} else {
// Test with external linking; see issue 9133.
t.registerTest("race:external", hdr,
&goTest{
race: true,
ldflags: "-linkmode=external",
runTests: "TestParse|TestEcho|TestStdinCloseRace",
pkgs: []string{"flag", "os/exec"},
})
oldWindows.pre = func(*distTest) bool {
fmt.Println("skipping -race with external linkage on older windows builder, see https://github.com/golang/go/issues/56904 for details")
return false
}
}
// Test with external linking; see issue 9133.
t.registerTest("race:external", hdr,
&goTest{
race: true,
ldflags: "-linkmode=external",
runTests: "TestParse|TestEcho|TestStdinCloseRace",
pkgs: []string{"flag", "os/exec"},
}, oldWindows)
}
}