1 [!net] skip
2 [!exec:svn] skip
3
4 # 'go mod download' will fall back to svn+ssh once svn fails over protocols like https.
5 # If vcs-test.golang.org isn't in the user's known_hosts file, this will result
6 # in an ssh prompt, which will stop 'go test' entirely
7 #
8 # Unfortunately, there isn't a way to globally disable host checking for ssh,
9 # without modifying the real system's or user's configs. Changing $HOME won't
10 # affect ssh either, as it ignores the environment variable entirely.
11 #
12 # However, a useful trick is pointing SVN_SSH to a program that doesn't exist,
13 # resulting in svn skipping ssh entirely. Alternatives like
14 # SVN_SSH="ssh -o StrictHostKeyChecking=no" didn't avoid the prompt.
15 env SVN_SSH="svn_do_not_use_ssh"
16
17 env GO111MODULE=on
18 env GOPROXY=direct
19 env GOSUMDB=off
20
21 # Attempting to get a module zip using svn should succeed.
22 go mod download vcs-test.golang.org/svn/hello.svn@000000000001
23 exists $GOPATH/pkg/mod/cache/download/vcs-test.golang.org/svn/hello.svn/@v/v0.0.0-20170922011245-000000000001.zip
24
25 # Attempting to get a nonexistent module using svn should fail with a
26 # reasonable message instead of a panic.
27 ! go mod download vcs-test.golang.org/svn/nonexistent.svn@latest
28 ! stderr panic
29 stderr 'go: module vcs-test.golang.org/svn/nonexistent.svn: no matching versions for query "latest"$'
30
View as plain text