mirror of https://github.com/golang/go.git
cmd/go: don't reject ./... matching top-level file outside GOPATH
This unwinds a small part of CL 31668: we now accept "./." in cleanImport. Fixes #18778. Change-Id: Ia7f1fde1cafcea3cc9e0b597a95a0e0bb410a3ed Reviewed-on: https://go-review.googlesource.com/35646 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
This commit is contained in:
parent
2b283cedef
commit
78860b2ad2
|
|
@ -3787,3 +3787,26 @@ GLOBL ·constants<>(SB),8,$8
|
|||
tg.setenv("GOPATH", tg.path("go"))
|
||||
tg.run("build", "p")
|
||||
}
|
||||
|
||||
// Issue 18778.
|
||||
func TestDotDotDotOutsideGOPATH(t *testing.T) {
|
||||
tg := testgo(t)
|
||||
defer tg.cleanup()
|
||||
|
||||
tg.tempFile("pkgs/a.go", `package x`)
|
||||
tg.tempFile("pkgs/a_test.go", `package x_test
|
||||
import "testing"
|
||||
func TestX(t *testing.T) {}`)
|
||||
|
||||
tg.tempFile("pkgs/a/a.go", `package a`)
|
||||
tg.tempFile("pkgs/a/a_test.go", `package a_test
|
||||
import "testing"
|
||||
func TestA(t *testing.T) {}`)
|
||||
|
||||
tg.cd(tg.path("pkgs"))
|
||||
tg.run("build", "./...")
|
||||
tg.run("test", "./...")
|
||||
tg.run("list", "./...")
|
||||
tg.grepStdout("pkgs$", "expected package not listed")
|
||||
tg.grepStdout("pkgs/a", "expected package not listed")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -429,7 +429,7 @@ func setErrorPos(p *Package, importPos []token.Position) *Package {
|
|||
func cleanImport(path string) string {
|
||||
orig := path
|
||||
path = pathpkg.Clean(path)
|
||||
if strings.HasPrefix(orig, "./") && path != ".." && path != "." && !strings.HasPrefix(path, "../") {
|
||||
if strings.HasPrefix(orig, "./") && path != ".." && !strings.HasPrefix(path, "../") {
|
||||
path = "./" + path
|
||||
}
|
||||
return path
|
||||
|
|
|
|||
Loading…
Reference in New Issue