Commit 7c388cc8 authored by Bryan C. Mills's avatar Bryan C. Mills

go/internal/srcimporter: set -mod=vendor before running tests

Otherwise, if the working directory is inside a standard-library
module, the test may try to fetch module contents from GOPROXY or
upstream.

Updates #26924
Updates #30228
Updates #30241

Change-Id: I4cb9a07721bd808fd094f7ed55a74cf7bce9cd6f
Reviewed-on: https://go-review.googlesource.com/c/164625
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarJay Conrod <jayconrod@google.com>
parent 8eef74b4
......@@ -10,6 +10,7 @@ import (
"go/types"
"internal/testenv"
"io/ioutil"
"os"
"path"
"path/filepath"
"runtime"
......@@ -18,6 +19,23 @@ import (
"time"
)
func TestMain(m *testing.M) {
// Add -mod=vendor to GOFLAGS to ensure that we don't fetch modules while importing std or cmd.
//
// TODO(golang.org/issue/30240): If we load go.mod files from vendor/
// automatically, this will probably no longer be necessary.
var goflags []string
for _, f := range strings.Fields(os.Getenv("GOFLAGS")) {
if !strings.HasPrefix(f, "-mod=") && !strings.HasPrefix(f, "--mod=") {
goflags = append(goflags, f)
}
}
goflags = append(goflags, "-mod=vendor")
os.Setenv("GOFLAGS", strings.Join(goflags, " "))
os.Exit(m.Run())
}
const maxTime = 2 * time.Second
var importer = New(&build.Default, token.NewFileSet(), make(map[string]*types.Package))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment