| env GO111MODULE=on |
| |
| # We should not create a go.mod file unless the user ran 'go mod init' explicitly. |
| # However, we should suggest 'go mod init' if we can find an alternate config file. |
| cd $WORK/test/x |
| ! go list . |
| stderr 'found .git/config in .*[/\\]test' |
| stderr '\s*cd \.\. && go mod init' |
| |
| # The command we suggested should succeed. |
| cd .. |
| go mod init |
| go list -m all |
| stdout '^m$' |
| |
| # We should not suggest creating a go.mod file in $GOROOT, even though there may be a .git/config there. |
| cd $GOROOT |
| ! go list . |
| ! stderr 'go mod init' |
| |
| # We should also not suggest creating a go.mod file in $GOROOT if its own |
| # .git/config has been stripped away and we find one in a parent directory. |
| # (https://golang.org/issue/34191) |
| env GOROOT=$WORK/parent/goroot |
| cd $GOROOT |
| ! go list . |
| ! stderr 'go mod init' |
| |
| cd $GOROOT/doc |
| ! go list . |
| ! stderr 'go mod init' |
| |
| -- $WORK/test/.git/config -- |
| -- $WORK/test/x/x.go -- |
| package x // import "m/x" |
| -- $WORK/parent/.git/config -- |
| -- $WORK/parent/goroot/README -- |
| This directory isn't really a GOROOT, but let's pretend that it is. |
| -- $WORK/parent/goroot/doc/README -- |
| This is a subdirectory of our fake GOROOT. |