summaryrefslogtreecommitdiff
path: root/libgo/go/cmd/go/testdata/script/mod_download_svn.txt
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/cmd/go/testdata/script/mod_download_svn.txt')
-rw-r--r--libgo/go/cmd/go/testdata/script/mod_download_svn.txt29
1 files changed, 29 insertions, 0 deletions
diff --git a/libgo/go/cmd/go/testdata/script/mod_download_svn.txt b/libgo/go/cmd/go/testdata/script/mod_download_svn.txt
new file mode 100644
index 00000000000..79e00dc9706
--- /dev/null
+++ b/libgo/go/cmd/go/testdata/script/mod_download_svn.txt
@@ -0,0 +1,29 @@
+[!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"$'