mirror of
https://github.com/golang/go
synced 2024-11-19 20:54:39 -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.
|
// which is not what most people want when they do it.
|
||||||
if gopath := os.Getenv("GOPATH"); gopath == runtime.GOROOT() {
|
if gopath := os.Getenv("GOPATH"); gopath == runtime.GOROOT() {
|
||||||
fmt.Fprintf(os.Stderr, "warning: GOPATH set to GOROOT (%s) has no effect\n", gopath)
|
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 {
|
for _, cmd := range commands {
|
||||||
|
@ -125,6 +125,17 @@ elif ! test -x testdata/bin1/helloworld; then
|
|||||||
ok=false
|
ok=false
|
||||||
fi
|
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
|
if $ok; then
|
||||||
echo PASS
|
echo PASS
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user