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: no package to get in current directory$'
! go get .
stderr '^go: .: no package to get in current directory$'
! go get ./subdir
stderr '^go: \.[/\\]subdir \('$WORK'[/\\]gopath[/\\]src[/\\]dir[/\\]subdir\) is not a package in module rooted at '$WORK'[/\\]gopath[/\\]src[/\\]dir$'
! go list
! stderr 'cannot find module providing package'
stderr '^no Go files in '$WORK'[/\\]gopath[/\\]src[/\\]dir$'

cd subdir
! go list
! stderr 'cannot find module providing package'
stderr '^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 '^main module \(example\.com\) does not contain package example.com/othermodule$'

# golang.org/issue/27122: 'go build' of a nonexistent directory should produce
# a helpful "no Go files" error message, not a generic "unknown import path".
! go list ./subdir
stderr '^no Go files in '$WORK'[/\\]gopath[/\\]src[/\\]dir[/\\]subdir$'

# golang.org/issue/29280: 'go list -e' for a nonexistent directory should
# report a nonexistent package with an error.
go list -e -json ./subdir
stdout '"Incomplete": true'

# golang.org/issue/28155: 'go list ./testdata' should not synthesize underscores.
go list ./testdata
stdout '^example.com/testdata'

# golang.org/issue/32921: vendor directories should only be accepted as directories
# if the directory would actually be used to load the package.
! go list ./vendor/nonexist
stderr '^no Go files in '$WORK'[/\\]gopath[/\\]src[/\\]dir[/\\]vendor[/\\]nonexist$'

! go list ./vendor/pkg
stderr '^without -mod=vendor, directory '$WORK'[/\\]gopath[/\\]src[/\\]dir[/\\]vendor[/\\]pkg has no package path$'

! go list -mod=vendor ./vendor/nonexist
stderr '^no Go files in '$WORK'[/\\]gopath[/\\]src[/\\]dir[/\\]vendor[/\\]nonexist$'

! go list -mod=vendor ./vendor/unlisted
stderr '^directory '$WORK'[/\\]gopath[/\\]src[/\\]dir[/\\]vendor[/\\]unlisted is not a package listed in vendor/modules.txt$'

go list -mod=vendor ./vendor/pkg
stdout '^pkg$'

# Packages within GOROOT should resolve as in any other module,
# except that -mod=vendor is implied by default.
cd $GOROOT/src
! go list .
stderr '^no Go files in '$GOROOT'[/\\]src$'

! go list ./builtin
stderr '^"builtin" is a pseudo-package, not an importable package$'

! go list ./debug
! stderr 'cannot find module providing package'
stderr '^no Go files in '$GOROOT'[/\\]src[/\\]debug$'

! go list ./golang.org/x/tools/cmd/goimports
! stderr 'cannot find module providing package'
stderr '^stat '$GOROOT'[/\\]src[/\\]golang.org[/\\]x[/\\]tools[/\\]cmd[/\\]goimports: directory not found'

go list ./vendor/golang.org/x/net/http2/hpack
stdout '^golang.org/x/net/http2/hpack$'

# golang.org/issue/30756: packages in other GOROOTs should not get the special
# prefixless treatment of GOROOT itself.
cd $WORK/othergoroot/src
! go list .
stderr '^no Go files in '$WORK'[/\\]othergoroot[/\\]src$'

go list ./builtin
stdout '^std/builtin$'  # Only the "std" in actual $GOROOT is special, and only its "builtin" is special.

! go list ./bytes
! stderr 'cannot find module providing package'
stderr '^no Go files in '$WORK'[/\\]othergoroot[/\\]src[/\\]bytes$'

! go list ./vendor/golang.org/x/net/http2/hpack
stderr '^without -mod=vendor, directory '$WORK'[/\\]othergoroot[/\\]src[/\\]vendor[/\\]golang.org[/\\]x[/\\]net[/\\]http2[/\\]hpack has no package path$'

-- 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
-- dir/testdata/td.go --
package testdata
-- dir/vendor/modules.txt --
# pkg v0.0.0
pkg
-- dir/vendor/nonexist/README --
There are no Go source files here either.
-- dir/vendor/pkg/pkg.go --
package pkg
-- dir/vendor/unlisted/unlisted.go --
package unlisted
-- emptyroot/go.mod --
module example.com/emptyroot
-- emptyroot/pkg/pkg.go --
package pkg
-- $WORK/othergoroot/src/go.mod --
module std
go 1.13
-- $WORK/othergoroot/src/builtin/builtin.go --
package builtin
-- $WORK/othergoroot/src/bytes/README --
There are no Go source files in this directory.
-- $WORK/othergoroot/src/vendor/golang.org/x/net/http2/hpack --
package hpack
