cmd/dist: skip moved GOROOT on Go's Windows builders when not sharding tests
Change-Id: I0bcae339624e7d61037d9ea0885b7bd07491bbb6
Reviewed-on: https://go-review.googlesource.com/51430
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
index 6846970..73432d3 100644
--- a/src/cmd/dist/test.go
+++ b/src/cmd/dist/test.go
@@ -447,6 +447,17 @@
t.runPending(dt)
moved := t.goroot + "-moved"
if err := os.Rename(t.goroot, moved); err != nil {
+ if t.goos == "windows" {
+ // Fails on Windows (with "Access is denied") if a process
+ // or binary is in this directory. For instance, using all.bat
+ // when run from c:\workdir\go\src fails here
+ // if GO_BUILDER_NAME is set. Our builders invoke tests
+ // a different way which happens to work when sharding
+ // tests, but we should be tolerant of the non-sharded
+ // all.bat case.
+ log.Printf("skipping test on Windows")
+ return nil
+ }
return err
}