| # Regression test for GOPATH validation in GOPATH mode. |
| env GO111MODULE=off |
| |
| env ORIG_GOPATH=$GOPATH |
| |
| # The literal path '.' in GOPATH should be rejected. |
| env GOPATH=. |
| ! go build go-cmd-test/helloworld.go |
| stderr 'GOPATH entry is relative' |
| |
| # It should still be rejected if the requested package can be |
| # found using another entry. |
| env GOPATH=${:}$ORIG_GOPATH${:}. |
| ! go build go-cmd-test |
| stderr 'GOPATH entry is relative' |
| |
| # GOPATH cannot be a relative subdirectory of the working directory. |
| env ORIG_GOPATH |
| stdout 'ORIG_GOPATH='$WORK[/\\]gopath |
| cd $WORK |
| env GOPATH=gopath |
| ! go build gopath/src/go-cmd-test/helloworld.go |
| stderr 'GOPATH entry is relative' |
| |
| # Blank paths in GOPATH should be rejected as relative (issue 21928). |
| env GOPATH=' '${:}$ORIG_GOPATH |
| ! go build go-cmd-test |
| stderr 'GOPATH entry is relative' |
| |
| [short] stop |
| |
| # Empty paths in GOPATH should be ignored (issue 21928). |
| env GOPATH=${:}$ORIG_GOPATH |
| env GOPATH |
| go install go-cmd-test |
| exists $ORIG_GOPATH/bin/go-cmd-test$GOEXE |
| |
| -- go-cmd-test/helloworld.go -- |
| package main |
| |
| func main() { |
| println("hello world") |
| } |