mirror of
https://github.com/golang/go
synced 2024-11-16 22:54:47 -07:00
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: Jay Conrod <jayconrod@google.com>
This commit is contained in:
parent
8eef74b493
commit
7c388cc89c
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user