]> Cypherpunks repositories - gostls13.git/commitdiff
internal/testenv: prefer to find go binary in GOROOT
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 30 Mar 2016 04:13:26 +0000 (15:13 +1100)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 30 Mar 2016 19:12:50 +0000 (19:12 +0000)
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 <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
src/internal/testenv/testenv.go

index cd3f43640a844f6c00311c551a6389d1d3d8bf32..e751e0cf11a1c2c257181e494ffc3f5da31898fd 100644 (file)
@@ -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)