# 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"