mirror of
https://github.com/golang/go
synced 2024-11-12 03:10:22 -07:00
cmd/go: reject relative paths that don't start with a dot (.)
Change-Id: Idc4a7fdb561ba5b3b52094d895deaf3fcdf475bf Reviewed-on: https://go-review.googlesource.com/10716 Reviewed-by: Andrew Gerrand <adg@golang.org>
This commit is contained in:
parent
0beb931c76
commit
239ec73e66
@ -1036,11 +1036,12 @@ func TestInstalls(t *testing.T) {
|
||||
tg.wantExecutable(tg.path("bin/progname")+exeSuffix, "did not install progname to $GOPATH/bin/progname")
|
||||
}
|
||||
|
||||
func TestRejectRelativePathsInGOPATHCommandLinePackage(t *testing.T) {
|
||||
func TestRejectRelativeDotPathInGOPATHCommandLinePackage(t *testing.T) {
|
||||
tg := testgo(t)
|
||||
defer tg.cleanup()
|
||||
tg.setenv("GOPATH", ".")
|
||||
tg.runFail("build", "testdata/src/go-cmd-test/helloworld.go")
|
||||
tg.grepStderr("GOPATH entry is relative", "expected an error message rejecting relative GOPATH entries")
|
||||
}
|
||||
|
||||
func TestRejectRelativePathsInGOPATH(t *testing.T) {
|
||||
@ -1049,6 +1050,15 @@ func TestRejectRelativePathsInGOPATH(t *testing.T) {
|
||||
sep := string(filepath.ListSeparator)
|
||||
tg.setenv("GOPATH", sep+filepath.Join(tg.pwd(), "testdata")+sep+".")
|
||||
tg.runFail("build", "go-cmd-test")
|
||||
tg.grepStderr("GOPATH entry is relative", "expected an error message rejecting relative GOPATH entries")
|
||||
}
|
||||
|
||||
func TestRejectRelativePathsInGOPATHCommandLinePackage(t *testing.T) {
|
||||
tg := testgo(t)
|
||||
defer tg.cleanup()
|
||||
tg.setenv("GOPATH", "testdata")
|
||||
tg.runFail("build", "testdata/src/go-cmd-test/helloworld.go")
|
||||
tg.grepStderr("GOPATH entry is relative", "expected an error message rejecting relative GOPATH entries")
|
||||
}
|
||||
|
||||
// Issue 4104.
|
||||
|
@ -142,7 +142,7 @@ func main() {
|
||||
fmt.Fprintf(os.Stderr, "go: GOPATH entry cannot start with shell metacharacter '~': %q\n", p)
|
||||
os.Exit(2)
|
||||
}
|
||||
if build.IsLocalImport(p) {
|
||||
if !filepath.IsAbs(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)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user