internal/testenv: remove SetModVendor

It turns out not to be necessary. Russ expressed a preference for
avoiding module fetches over making 'go mod tidy' work within std and
cmd right away, so for now we will make the loader use the vendor
directory for the standard library even if '-mod=vendor' is not set
explicitly.

Updates #30228

Change-Id: Idf7208e63da8cb7bfe281b93ec21b61d40334947
Reviewed-on: https://go-review.googlesource.com/c/go/+/166357
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:
Bryan C. Mills 2019-03-08 13:26:04 -05:00
parent 632162ccbc
commit 0271d41ed6
17 changed files with 0 additions and 56 deletions

View file

@ -115,5 +115,3 @@ func TestAddr2Line(t *testing.T) {
testAddr2Line(t, exepath, syms[symName])
testAddr2Line(t, exepath, "0x"+syms[symName])
}
func init() { testenv.SetModVendor() }

View file

@ -202,8 +202,6 @@ var testfile = []testline{
const detailOutput = false
func init() { testenv.SetModVendor() }
// Compiles testfile checks that the description of lexical blocks emitted
// by the linker in debug_info, for each function in the main package,
// corresponds to what we expect it to be.

View file

@ -77,8 +77,6 @@ var debug = flag.Bool("debug", false, "keep rewritten files for debugging")
// We use TestMain to set up a temporary directory and remove it when
// the tests are done.
func TestMain(m *testing.M) {
testenv.SetModVendor()
dir, err := ioutil.TempDir("", "gotestcover")
if err != nil {
fmt.Fprintln(os.Stderr, err)

View file

@ -134,8 +134,6 @@ func parseOutput(t *testing.T, td *ParsedTestData, asmout []byte) {
}
}
func init() { testenv.SetModVendor() }
func TestDynlink(t *testing.T) {
testenv.MustHaveGoBuild(t)

View file

@ -13,8 +13,6 @@ import (
"testing"
)
func init() { testenv.SetModVendor() }
func TestUndefinedRelocErrors(t *testing.T) {
t.Parallel()
testenv.MustHaveGoBuild(t)

View file

@ -38,8 +38,6 @@ func TestLargeSymName(t *testing.T) {
_ = AuthorPaidByTheColumnInch
}
func init() { testenv.SetModVendor() }
func TestIssue21703(t *testing.T) {
t.Parallel()

View file

@ -30,8 +30,6 @@ func testMain(m *testing.M) int {
return 0
}
testenv.SetModVendor()
tmpDir, err := ioutil.TempDir("", "TestNM")
if err != nil {
fmt.Println("TempDir failed:", err)

View file

@ -24,7 +24,6 @@ func TestMain(m *testing.M) {
if !testenv.HasGoBuild() {
return
}
testenv.SetModVendor()
var exitcode int
if err := buildObjdump(); err == nil {

View file

@ -44,7 +44,6 @@ func main() {
log.SetPrefix("vet/all: ")
log.SetFlags(log.Lshortfile)
testenv.SetModVendor()
var err error
cmdGoPath, err = testenv.GoTool()
if err != nil {

View file

@ -32,8 +32,6 @@ func TestMain(m *testing.M) {
}
func testMain(m *testing.M) int {
testenv.SetModVendor()
dir, err := ioutil.TempDir("", "vet_test")
if err != nil {
fmt.Fprintln(os.Stderr, err)

View file

@ -1146,8 +1146,6 @@ func TestParsePEMCRL(t *testing.T) {
// Can't check the signature here without a package cycle.
}
func init() { testenv.SetModVendor() }
func TestImports(t *testing.T) {
testenv.MustHaveGoRun(t)

View file

@ -21,8 +21,6 @@ var (
pclinetestBinary string
)
func init() { testenv.SetModVendor() }
func dotest(t *testing.T) {
testenv.MustHaveGoBuild(t)
// For now, only works on amd64 platforms.

View file

@ -16,8 +16,6 @@ import (
"testing"
)
func init() { testenv.SetModVendor() }
func TestForCompiler(t *testing.T) {
testenv.MustHaveGoBuild(t)

View file

@ -18,8 +18,6 @@ import (
"time"
)
func init() { testenv.SetModVendor() }
const maxTime = 2 * time.Second
var importer = New(&build.Default, token.NewFileSet(), make(map[string]*types.Package))

View file

@ -19,7 +19,6 @@ import (
"runtime"
"strconv"
"strings"
"sync"
"testing"
)
@ -78,31 +77,6 @@ func MustHaveGoRun(t testing.TB) {
}
}
var modVendorOnce sync.Once
// SetModVendor adds the "-mod=vendor" flag to the GOFLAGS environment variable.
// This allows tests whose working directories are within the cmd and std
// modules to run ``go'' commands without accessing the network to load
// dependencies modules.
//
// SetModVendor must be called before any test may read the GOFLAGS environment
// variable.
//
// TODO(golang.org/issue/30240): If we load go.mod files from vendor/
// automatically, this will probably no longer be necessary.
func SetModVendor() {
modVendorOnce.Do(func() {
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, " "))
})
}
// GoToolPath reports the path to the Go tool.
// It is a convenience wrapper around GoTool.
// If the tool is unavailable GoToolPath calls t.Skip.

View file

@ -25,8 +25,6 @@ import (
var toRemove []string
func TestMain(m *testing.M) {
testenv.SetModVendor()
status := m.Run()
for _, file := range toRemove {
os.RemoveAll(file)

View file

@ -301,8 +301,6 @@ func TestProcSelfMaps(t *testing.T) {
})
}
func init() { testenv.SetModVendor() }
// TestMapping checkes the mapping section of CPU profiles
// has the HasFunctions field set correctly. If all PCs included
// in the samples are successfully symbolized, the corresponding