From: Brad Fitzpatrick Date: Wed, 30 Mar 2016 04:13:26 +0000 (+1100) Subject: internal/testenv: prefer to find go binary in GOROOT X-Git-Tag: go1.7beta1~1009 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ca72f5f5df62181cfc8043e9064b4f847527ec2a;p=gostls13.git internal/testenv: prefer to find go binary in GOROOT Partial revert of https://golang.org/cl/20967 which I can't reproduce and actually breaks me more. Fixes #14901 Change-Id: I8cce443fbd95f5f6f2a5b6a4b9f2faab36167a12 Reviewed-on: https://go-review.googlesource.com/21292 Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor Reviewed-by: David Crawshaw --- diff --git a/src/internal/testenv/testenv.go b/src/internal/testenv/testenv.go index cd3f43640a..e751e0cf11 100644 --- a/src/internal/testenv/testenv.go +++ b/src/internal/testenv/testenv.go @@ -13,6 +13,7 @@ package testenv import ( "os" "os/exec" + "path/filepath" "runtime" "strings" "testing" @@ -68,10 +69,17 @@ func MustHaveGoRun(t *testing.T) { // If the tool should be available and isn't, GoToolPath calls t.Fatal. func GoToolPath(t *testing.T) string { MustHaveGoBuild(t) + var exeSuffix string if runtime.GOOS == "windows" { exeSuffix = ".exe" } + + path := filepath.Join(runtime.GOROOT(), "bin", "go"+exeSuffix) + if _, err := os.Stat(path); err == nil { + return path + } + goBin, err := exec.LookPath("go" + exeSuffix) if err != nil { t.Fatalf("cannot find go tool: %v", err)