mirror of
https://github.com/golang/go
synced 2024-11-21 20:24:50 -07:00
cmd/go: reject relative values for GOPATH
Fixes #4062. R=rsc, dave, r CC=golang-dev, nicksaika https://golang.org/cl/6488129
This commit is contained in:
parent
551e263823
commit
916ccbf165
@ -127,6 +127,13 @@ func main() {
|
||||
// which is not what most people want when they do it.
|
||||
if gopath := os.Getenv("GOPATH"); gopath == runtime.GOROOT() {
|
||||
fmt.Fprintf(os.Stderr, "warning: GOPATH set to GOROOT (%s) has no effect\n", gopath)
|
||||
} else {
|
||||
for _, p := range strings.Split(gopath, ":") {
|
||||
if build.IsLocalImport(p) {
|
||||
fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nRun 'go help gopath' for usage.\n", p)
|
||||
os.Exit(2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for _, cmd := range commands {
|
||||
|
@ -125,6 +125,17 @@ elif ! test -x testdata/bin1/helloworld; then
|
||||
ok=false
|
||||
fi
|
||||
|
||||
# Reject relative paths in GOPATH.
|
||||
if GOPATH=. ./testgo build testdata/src/go-cmd-test/helloworld.go; then
|
||||
echo 'GOPATH="." go build should have failed, did not'
|
||||
ok=false
|
||||
fi
|
||||
|
||||
if GOPATH=:$(pwd)/testdata:. ./testgo build go-cmd-test; then
|
||||
echo 'GOPATH=":$(pwd)/testdata:." go build should have failed, did not'
|
||||
ok=false
|
||||
fi
|
||||
|
||||
if $ok; then
|
||||
echo PASS
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user