mirror of
https://github.com/golang/go
synced 2024-11-23 20:10:08 -07:00
cmd/go: fail tests immediately if they attempt to create a tempfile within GOROOT
This will help to detect regressions of #28387 when running 'go test cmd/go' in a writable GOROOT. Updates #28387 Updates #30316 Change-Id: I551e044111535404688b1a76e63163dfcb41bb5c Reviewed-on: https://go-review.googlesource.com/c/go/+/207701 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
9bba63bbbe
commit
c726361fff
@ -683,8 +683,11 @@ func (tg *testgoData) creatingTemp(path string) {
|
|||||||
// If we have changed the working directory, make sure we have
|
// If we have changed the working directory, make sure we have
|
||||||
// an absolute path, because we are going to change directory
|
// an absolute path, because we are going to change directory
|
||||||
// back before we remove the temporary.
|
// back before we remove the temporary.
|
||||||
if tg.wd != "" && !filepath.IsAbs(path) {
|
if !filepath.IsAbs(path) {
|
||||||
path = filepath.Join(tg.pwd(), path)
|
if tg.wd == "" || strings.HasPrefix(tg.wd, testGOROOT) {
|
||||||
|
tg.t.Fatalf("internal testsuite error: creatingTemp(%q) within GOROOT/src", path)
|
||||||
|
}
|
||||||
|
path = filepath.Join(tg.wd, path)
|
||||||
}
|
}
|
||||||
tg.must(robustio.RemoveAll(path))
|
tg.must(robustio.RemoveAll(path))
|
||||||
tg.temps = append(tg.temps, path)
|
tg.temps = append(tg.temps, path)
|
||||||
|
Loading…
Reference in New Issue
Block a user