}
func TestGoGetInsecure(t *testing.T) {
- testenv.MustHaveExternalNetwork(t)
+ test := func(t *testing.T, modules bool) {
+ testenv.MustHaveExternalNetwork(t)
- tg := testgo(t)
- defer tg.cleanup()
- tg.makeTempdir()
- tg.setenv("GOPATH", tg.path("."))
- tg.failSSH()
+ tg := testgo(t)
+ defer tg.cleanup()
+ tg.makeTempdir()
+ tg.failSSH()
- const repo = "insecure.go-get-issue-15410.appspot.com/pkg/p"
+ if modules {
+ tg.setenv("GOPATH", tg.path("gp"))
+ tg.tempFile("go.mod", "module m")
+ tg.cd(tg.path("."))
+ tg.setenv("GO111MODULE", "on")
+ } else {
+ tg.setenv("GOPATH", tg.path("."))
+ tg.setenv("GO111MODULE", "off")
+ }
- // Try go get -d of HTTP-only repo (should fail).
- tg.runFail("get", "-d", repo)
+ const repo = "insecure.go-get-issue-15410.appspot.com/pkg/p"
- // Try again with -insecure (should succeed).
- tg.run("get", "-d", "-insecure", repo)
+ // Try go get -d of HTTP-only repo (should fail).
+ tg.runFail("get", "-d", repo)
+
+ // Try again with -insecure (should succeed).
+ tg.run("get", "-d", "-insecure", repo)
+
+ // Try updating without -insecure (should fail).
+ tg.runFail("get", "-d", "-u", "-f", repo)
+
+ if modules {
+ tg.run("list", "-m", "...")
+ tg.grepStdout("insecure.go-get-issue", "should find insecure module")
+ }
+ }
- // Try updating without -insecure (should fail).
- tg.runFail("get", "-d", "-u", "-f", repo)
+ t.Run("gopath", func(t *testing.T) { test(t, false) })
+ t.Run("modules", func(t *testing.T) { test(t, true) })
}
func TestGoGetUpdateInsecure(t *testing.T) {
return lookupProxy(path)
}
- rr, err := get.RepoRootForImportPath(path, get.PreferMod, web.Secure)
+ security := web.Secure
+ if get.Insecure {
+ security = web.Insecure
+ }
+ rr, err := get.RepoRootForImportPath(path, get.PreferMod, security)
if err != nil {
// We don't know where to find code for a module with this path.
return nil, err
// Note: Because we are converting a code reference from a legacy
// version control system, we ignore meta tags about modules
// and use only direct source control entries (get.IgnoreMod).
- rr, err := get.RepoRootForImportPath(path, get.IgnoreMod, web.Secure)
+ security := web.Secure
+ if get.Insecure {
+ security = web.Insecure
+ }
+ rr, err := get.RepoRootForImportPath(path, get.IgnoreMod, security)
if err != nil {
return nil, nil, err
}