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