# Regression test for golang.org/issue/28481:
# 'mod tidy' removed dependencies if the module root was
# within a directory named 'testdata' or '_foo'.

env GO111MODULE=on

# A module should be allowed in a directory named testdata.
cd $WORK/testdata
go mod init testdata.tld/foo

# Getting a package within that module should resolve its dependencies.
go get
grep 'rsc.io/quote' go.mod

# Tidying the module should preserve those dependencies.
go mod tidy
grep 'rsc.io/quote' go.mod

[short] stop

# Vendoring the module's dependencies should work too.
go mod vendor
exists vendor/rsc.io/quote

# The same should work in directories with names starting with underscores.
cd $WORK/_ignored
go mod init testdata.tld/foo

go get
grep 'rsc.io/quote' go.mod

go mod tidy
grep 'rsc.io/quote' go.mod

go mod vendor
exists vendor/rsc.io/quote

-- $WORK/testdata/main.go --
package foo

import _ "rsc.io/quote"
-- $WORK/_ignored/main.go --
package foo

import _ "rsc.io/quote"
