| env GO111MODULE=on |
| |
| # explicit get should report errors about bad names |
| ! go get appengine |
| stderr '^go get appengine: package appengine is not in GOROOT \(.*\)$' |
| ! go get x/y.z |
| stderr 'malformed module path "x/y.z": missing dot in first path element' |
| |
| # 'go list -m' should report errors about module names, never GOROOT. |
| ! go list -m -versions appengine |
| stderr 'malformed module path "appengine": missing dot in first path element' |
| ! go list -m -versions x/y.z |
| stderr 'malformed module path "x/y.z": missing dot in first path element' |
| |
| # build should report all unsatisfied imports, |
| # but should be more definitive about non-module import paths |
| ! go build ./useappengine |
| stderr 'cannot find package' |
| ! go build ./usenonexistent |
| stderr 'cannot find module providing package nonexistent.rsc.io' |
| |
| # go mod vendor and go mod tidy should ignore appengine imports. |
| rm usenonexistent/x.go |
| go mod tidy |
| go mod vendor |
| |
| -- go.mod -- |
| module x |
| |
| -- useappengine/x.go -- |
| package useappengine |
| import _ "appengine" // package does not exist |
| -- usenonexistent/x.go -- |
| package usenonexistent |
| import _ "nonexistent.rsc.io" // domain does not exist |