mirror of
https://github.com/golang/go
synced 2024-11-17 08:04:46 -07:00
cmd/go: ignore irrelevant 'go test' failure in TestGoTestRaceInstallCgo
This test runs 'go test -race -i runtime/race' and checks that it did not overwrite cmd/cgo. If GOROOT/pkg is read-only and GOROOT/pkg/$GOOS_$GOARCH_race is not already populated, as are the conditions if the Go toolchain was installed from source as root using 'make.bash', then 'go test -race -i' itself will fail because it cannot install packages to GOROOT/pkg. However, such a failure is not relevant to the test: even if 'go test -race -i' fails, we can still verify that it did not incidentally overwrite cmd/cgo. Updates #28387 Updates #30316 Change-Id: Iff2f75a0aeb4c926290ac3062c83695604522078 Reviewed-on: https://go-review.googlesource.com/c/go/+/207959 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
This commit is contained in:
parent
104f07c902
commit
9ebd254b8e
@ -3308,7 +3308,17 @@ func TestGoTestRaceInstallCgo(t *testing.T) {
|
||||
cgo := strings.TrimSpace(tg.stdout.String())
|
||||
old, err := os.Stat(cgo)
|
||||
tg.must(err)
|
||||
tg.run("test", "-race", "-i", "runtime/race")
|
||||
|
||||
// For this test, we don't actually care whether 'go test -race -i' succeeds.
|
||||
// It may fail, for example, if GOROOT was installed from source as root and
|
||||
// is now read-only.
|
||||
// We only care that — regardless of whether it succeeds — it does not
|
||||
// overwrite cmd/cgo.
|
||||
runArgs := []string{"test", "-race", "-i", "runtime/race"}
|
||||
if status := tg.doRun(runArgs); status != nil {
|
||||
tg.t.Logf("go %v failure ignored: %v", runArgs, status)
|
||||
}
|
||||
|
||||
new, err := os.Stat(cgo)
|
||||
tg.must(err)
|
||||
if !new.ModTime().Equal(old.ModTime()) {
|
||||
|
Loading…
Reference in New Issue
Block a user