[!net] 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"$'