If GOBIN is set in the GOENV file, then merely unsetting it in the
process environment is not sufficient. We can instead either set GOBIN
explicitly, or disable GOENV explicitly. For now, we (semi-arbitrary)
choose the former.
Fixes #37390
Change-Id: Iec54532c804b70546d695105cd89e9169eac5dbb
Reviewed-on: https://go-review.googlesource.com/c/go/+/220652
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
fmt.Printf("+ cd %s\n", modRoot)
}
os.Setenv("GOPATH", gopath)
+ // Explicitly override GOBIN as well, in case it was set through a GOENV file.
+ os.Setenv("GOBIN", filepath.Join(gopath, "bin"))
os.Chdir(modRoot)
os.Setenv("PWD", modRoot)
log.SetFlags(log.Lshortfile)
flag.Parse()
- // Some of the tests install binaries into a custom GOPATH.
- // That won't work if GOBIN is set.
- os.Unsetenv("GOBIN")
-
exitCode, err := testMain(m)
if err != nil {
log.Fatal(err)