From 24e5fae92e2c971fa30ac170b7656ff14f3cfde5 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 12 Jul 2018 13:52:14 -0400 Subject: [PATCH] cmd/go: fix tests from x/vgo repo This CL fixes up tests from the x/vgo repo that are failing on some of the builders. It will be submitted together with CL 123576. Change-Id: I6bec81a93ad4f7116e8edc8c15beafa25747530c Reviewed-on: https://go-review.googlesource.com/123580 Run-TryBot: Russ Cox Reviewed-by: Bryan C. Mills Reviewed-by: Brad Fitzpatrick --- src/cmd/go/internal/modfetch/unzip.go | 3 +- src/cmd/go/mod_test.go | 50 +++++++++++++++++---------- 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/src/cmd/go/internal/modfetch/unzip.go b/src/cmd/go/internal/modfetch/unzip.go index 3c698038ec..c2cb17ebfc 100644 --- a/src/cmd/go/internal/modfetch/unzip.go +++ b/src/cmd/go/internal/modfetch/unzip.go @@ -10,6 +10,7 @@ import ( "io" "io/ioutil" "os" + "path" "path/filepath" "sort" "strings" @@ -57,7 +58,7 @@ func Unzip(dir, zipfile, prefix string, maxSize int64) error { if zf.Name == prefix || strings.HasSuffix(zf.Name, "/") { continue } - if filepath.Clean(zf.Name) != zf.Name || strings.HasPrefix(zf.Name[len(prefix)+1:], "/") { + if path.Clean(zf.Name) != zf.Name || strings.HasPrefix(zf.Name[len(prefix)+1:], "/") { return fmt.Errorf("unzip %v: invalid file name %s", zipfile, zf.Name) } s := int64(zf.UncompressedSize64) diff --git a/src/cmd/go/mod_test.go b/src/cmd/go/mod_test.go index ebd9c9b57a..faebff0f7a 100644 --- a/src/cmd/go/mod_test.go +++ b/src/cmd/go/mod_test.go @@ -6,8 +6,10 @@ package main_test import ( "bytes" + "internal/testenv" "io/ioutil" "os" + "os/exec" "path/filepath" "regexp" "sort" @@ -81,48 +83,48 @@ func TestModGO111MODULE(t *testing.T) { // In GOPATH/src with go.mod. tg.cd(tg.path("gp/src/x/y/z")) tg.setenv("GO111MODULE", "auto") - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ""`, "expected module mode disabled") + tg.run("env", "GOMOD") + tg.grepStdoutNot(`go.mod`, "expected module mode disabled") tg.cd(tg.path("gp/src/x/y/z/w")) - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ""`, "expected module mode disabled") + tg.run("env", "GOMOD") + tg.grepStdoutNot(`go.mod`, "expected module mode disabled") tg.setenv("GO111MODULE", "off") - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ""`, "expected module mode disabled") + tg.run("env", "GOMOD") + tg.grepStdoutNot(`go.mod`, "expected module mode disabled") tg.setenv("GO111MODULE", "on") - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ".*z[/\\]go.mod"`, "expected module mode enabled") + tg.run("env", "GOMOD") + tg.grepStdout(`.*z[/\\]go.mod$`, "expected module mode enabled") // In GOPATH/src without go.mod. tg.cd(tg.path("gp/src/x/y")) tg.setenv("GO111MODULE", "auto") - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ""`, "expected module mode disabled") + tg.run("env", "GOMOD") + tg.grepStdoutNot(`go.mod`, "expected module mode disabled") tg.setenv("GO111MODULE", "off") - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ""`, "expected module mode disabled") + tg.run("env", "GOMOD") + tg.grepStdoutNot(`go.mod`, "expected module mode disabled") tg.setenv("GO111MODULE", "on") - tg.runFail("env", "-json") + tg.runFail("env", "GOMOD") tg.grepStderr(`cannot find main module root`, "expected module mode failure") // Outside GOPATH/src with go.mod. tg.cd(tg.path("gp/foo")) tg.setenv("GO111MODULE", "auto") - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ".*foo[/\\]go.mod"`, "expected module mode enabled") + tg.run("env", "GOMOD") + tg.grepStdout(`.*foo[/\\]go.mod$`, "expected module mode enabled") tg.cd(tg.path("gp/foo/bar/baz")) - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ".*foo[/\\]go.mod"`, "expected module mode enabled") + tg.run("env", "GOMOD") + tg.grepStdout(`.*foo[/\\]go.mod$`, "expected module mode enabled") tg.setenv("GO111MODULE", "off") - tg.run("env", "-json") - tg.grepStdout(`"GOMOD": ""`, "expected module mode disabled") + tg.run("env", "GOMOD") + tg.grepStdoutNot(`go.mod`, "expected module mode disabled") } func TestModVersionsInGOPATHMode(t *testing.T) { @@ -933,6 +935,11 @@ func TestModList(t *testing.T) { } func TestModInitLegacy(t *testing.T) { + testenv.MustHaveExternalNetwork(t) + if _, err := exec.LookPath("git"); err != nil { + t.Skip("skipping because git binary not found") + } + tg := testGoModules(t) defer tg.cleanup() @@ -1035,6 +1042,11 @@ func TestModRequireExcluded(t *testing.T) { } func TestModInitLegacy2(t *testing.T) { + testenv.MustHaveExternalNetwork(t) + if _, err := exec.LookPath("git"); err != nil { + t.Skip("skipping because git binary not found") + } + tg := testGoModules(t) defer tg.cleanup()