mirror of
https://github.com/golang/go
synced 2024-09-06 00:19:45 +00:00
cmd/go: disable ccache when setting HOME to non-existent dir
This fixes tests on systems where ccache is the default compiler. Also simplify a prior workaround for this fault. Fixed #26789 Change-Id: I031ff0b65ace7fc5e284393298e004aa2ad3b6f5 Reviewed-on: https://go-review.googlesource.com/127775 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
15779d58ec
commit
490035b0b9
|
@ -224,13 +224,11 @@ func TestMain(m *testing.M) {
|
|||
os.Unsetenv("GOBIN")
|
||||
os.Unsetenv("GOPATH")
|
||||
os.Unsetenv("GIT_ALLOW_PROTOCOL")
|
||||
if home, ccacheDir := os.Getenv("HOME"), os.Getenv("CCACHE_DIR"); home != "" && ccacheDir == "" {
|
||||
// On some systems the default C compiler is ccache.
|
||||
// Setting HOME to a non-existent directory will break
|
||||
// those systems. Set CCACHE_DIR to cope. Issue 17668.
|
||||
os.Setenv("CCACHE_DIR", filepath.Join(home, ".ccache"))
|
||||
}
|
||||
os.Setenv("HOME", "/test-go-home-does-not-exist")
|
||||
// On some systems the default C compiler is ccache.
|
||||
// Setting HOME to a non-existent directory will break
|
||||
// those systems. Disable ccache and use real compiler. Issue 17668.
|
||||
os.Setenv("CCACHE_DISABLE", "1")
|
||||
if os.Getenv("GOCACHE") == "" {
|
||||
os.Setenv("GOCACHE", testGOCACHE) // because $HOME is gone
|
||||
}
|
||||
|
|
|
@ -87,6 +87,7 @@ func (ts *testScript) setup() {
|
|||
"WORK=" + ts.workdir, // must be first for ts.abbrev
|
||||
"PATH=" + testBin + string(filepath.ListSeparator) + os.Getenv("PATH"),
|
||||
homeEnvName() + "=/no-home",
|
||||
"CCACHE_DISABLE=1", // ccache breaks with non-existent HOME
|
||||
"GOARCH=" + runtime.GOARCH,
|
||||
"GOCACHE=" + testGOCACHE,
|
||||
"GOOS=" + runtime.GOOS,
|
||||
|
|
Loading…
Reference in a new issue