env GO111MODULE=on # golang.org/issue/32917 and golang.org/issue/28459: 'go build' and 'go test' # in an empty directory should refer to the path '.' and should not attempt # to resolve an external module. cd dir ! go get . stderr 'go get \.: path .* is not a package in module rooted at .*[/\\]dir$' ! go list ! stderr 'cannot find module providing package' stderr '^can.t load package: package \.: no Go files in '$WORK'[/\\]gopath[/\\]src[/\\]dir$' cd subdir ! go list ! stderr 'cannot find module providing package' stderr '^can.t load package: package \.: no Go files in '$WORK'[/\\]gopath[/\\]src[/\\]dir[/\\]subdir$' cd .. # golang.org/issue/30590: if a package is found in the filesystem # but is not in the main module, the error message should not say # "cannot find module providing package", and we shouldn't try # to find a module providing the package. ! go list ./othermodule ! stderr 'cannot find module providing package' stderr 'go: directory othermodule is outside main module' -- dir/go.mod -- module example.com go 1.13 -- dir/subdir/README -- There are no Go source files in this directory. -- dir/othermodule/go.mod -- module example.com/othermodule go 1.13 -- dir/othermodule/om.go -- package othermodule