From d021dd6a3fe61059094dba591aba265cbf6f7733 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 29 Apr 2019 08:38:24 -0400 Subject: [PATCH] cmd/go: add test of $GONOPROXY, $GONOSUMDB behavior Change-Id: I8a4917ce14ea22d5991226e485d43a9c9312950e Reviewed-on: https://go-review.googlesource.com/c/go/+/174219 Run-TryBot: Russ Cox Reviewed-by: Jay Conrod --- src/cmd/go/script_test.go | 2 ++ src/cmd/go/testdata/script/mod_gonoproxy.txt | 31 ++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/cmd/go/testdata/script/mod_gonoproxy.txt diff --git a/src/cmd/go/script_test.go b/src/cmd/go/script_test.go index 8be7a08675..499a1ccd3f 100644 --- a/src/cmd/go/script_test.go +++ b/src/cmd/go/script_test.go @@ -111,6 +111,8 @@ func (ts *testScript) setup() { "GOPROXY=" + proxyURL, "GOROOT=" + testGOROOT, "GOSUMDB=" + testSumDBVerifierKey, + "GONOPROXY=", + "GONOSUMDB=", tempEnvName() + "=" + filepath.Join(ts.workdir, "tmp"), "devnull=" + os.DevNull, "goversion=" + goVersion(ts), diff --git a/src/cmd/go/testdata/script/mod_gonoproxy.txt b/src/cmd/go/testdata/script/mod_gonoproxy.txt new file mode 100644 index 0000000000..f038112bf1 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_gonoproxy.txt @@ -0,0 +1,31 @@ +env GO111MODULE=on +env sumdb=$GOSUMDB +env proxy=$GOPROXY +env GOPROXY GONOPROXY GOSUMDB GONOSUMDB +env dbname=localhost.localdev/sumdb + +# disagree with sumdb fails +cp go.mod.orig go.mod +env GOSUMDB=$sumdb' '$proxy/sumdb-wrong +! go get rsc.io/quote +stderr 'SECURITY ERROR' + +# but GONOSUMDB bypasses sumdb, for rsc.io/quote, rsc.io/sampler, golang.org/x/text +env GONOSUMDB='*/quote,*/*mple*,golang.org/x' +go get rsc.io/quote + +# and GONOPROXY bypasses proxy +[!net] skip +env GONOPROXY='*/fortune' +! go get rsc.io/fortune # does not exist in real world, only on test proxy +stderr 'git ls-remote' + +env GOSUMDB= +env GONOPROXY='*/x' +go get golang.org/x/text +go list -m all +! stdout 'text.*v0.0.0-2017' # should not have the version from the proxy + + +-- go.mod.orig -- +module m -- 2.48.1