From: LE Manh Cuong Date: Sat, 27 Apr 2019 11:55:49 +0000 (+0700) Subject: cmd/go: fix import current directory error message X-Git-Tag: go1.13beta1~304 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=46e03c4b92231a38e089b34f6a09707676216b48;p=gostls13.git cmd/go: fix import current directory error message Fixes #14683 Change-Id: I62c429e4fcc2f20a94d3db8c1f0ca587252c07a7 Reviewed-on: https://go-review.googlesource.com/c/go/+/174130 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- diff --git a/src/cmd/go/go_test.go b/src/cmd/go/go_test.go index f34339ab57..1ec82ad532 100644 --- a/src/cmd/go/go_test.go +++ b/src/cmd/go/go_test.go @@ -3626,7 +3626,7 @@ func TestImportLocal(t *testing.T) { var _ = x.X `) tg.runFail("build", "dir/x") - tg.grepStderr("local import.*in non-local package", "did not diagnose local import") + tg.grepStderr("cannot import current directory", "did not diagnose import current directory") // ... even in a test. tg.tempFile("src/dir/x/xx.go", `package x @@ -3639,7 +3639,7 @@ func TestImportLocal(t *testing.T) { `) tg.run("build", "dir/x") tg.runFail("test", "dir/x") - tg.grepStderr("local import.*in non-local package", "did not diagnose local import") + tg.grepStderr("cannot import current directory", "did not diagnose import current directory") // ... even in an xtest. tg.tempFile("src/dir/x/xx.go", `package x @@ -3652,7 +3652,7 @@ func TestImportLocal(t *testing.T) { `) tg.run("build", "dir/x") tg.runFail("test", "dir/x") - tg.grepStderr("local import.*in non-local package", "did not diagnose local import") + tg.grepStderr("cannot import current directory", "did not diagnose import current directory") } func TestGoGetInsecure(t *testing.T) { diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go index 7ee335c5d6..b1e9fc9ff5 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -544,9 +544,13 @@ func loadImport(pre *preload, path, srcDir string, parent *Package, stk *ImportS if p.Internal.Local && parent != nil && !parent.Internal.Local { perr := *p + errMsg := fmt.Sprintf("local import %q in non-local package", path) + if path == "." { + errMsg = "cannot import current directory" + } perr.Error = &PackageError{ ImportStack: stk.Copy(), - Err: fmt.Sprintf("local import %q in non-local package", path), + Err: errMsg, } return setErrorPos(&perr, importPos) }