| [short] skip |
| [!exec:svn] skip |
| |
| # 'go mod download' will fall back to svn+ssh once svn fails over protocols like https. |
| # If vcs-test.golang.org isn't in the user's known_hosts file, this will result |
| # in an ssh prompt, which will stop 'go test' entirely |
| # |
| # Unfortunately, there isn't a way to globally disable host checking for ssh, |
| # without modifying the real system's or user's configs. Changing $HOME won't |
| # affect ssh either, as it ignores the environment variable entirely. |
| # |
| # However, a useful trick is pointing SVN_SSH to a program that doesn't exist, |
| # resulting in svn skipping ssh entirely. Alternatives like |
| # SVN_SSH="ssh -o StrictHostKeyChecking=no" didn't avoid the prompt. |
| env SVN_SSH="svn_do_not_use_ssh" |
| |
| env GO111MODULE=on |
| env GOPROXY=direct |
| env GOSUMDB=off |
| |
| # Attempting to get a module zip using svn should succeed. |
| go mod download vcs-test.golang.org/svn/hello.svn@000000000001 |
| exists $GOPATH/pkg/mod/cache/download/vcs-test.golang.org/svn/hello.svn/@v/v0.0.0-20170922011245-000000000001.zip |
| |
| # Attempting to get a nonexistent module using svn should fail with a |
| # reasonable message instead of a panic. |
| ! go mod download vcs-test.golang.org/svn/nonexistent.svn@latest |
| ! stderr panic |
| stderr 'go: module vcs-test.golang.org/svn/nonexistent.svn: no matching versions for query "latest"$' |