From 490035b0b9dd27e8868ccc5dced45a29e9b21227 Mon Sep 17 00:00:00 2001 From: Mark Pulford Date: Sat, 4 Aug 2018 00:19:21 +1000 Subject: [PATCH] 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 Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/cmd/go/go_test.go | 10 ++++------ src/cmd/go/script_test.go | 1 + 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/cmd/go/go_test.go b/src/cmd/go/go_test.go index 318f4393e3..6ac625cfce 100644 --- a/src/cmd/go/go_test.go +++ b/src/cmd/go/go_test.go @@ -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 } diff --git a/src/cmd/go/script_test.go b/src/cmd/go/script_test.go index 90cf3a5679..389485bc65 100644 --- a/src/cmd/go/script_test.go +++ b/src/cmd/go/script_test.go @@ -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,