mirror of
https://github.com/golang/go
synced 2024-11-19 05:14:50 -07:00
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 <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>
This commit is contained in:
parent
788f11263a
commit
ca72f5f5df
@ -13,6 +13,7 @@ package testenv
|
|||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
@ -68,10 +69,17 @@ func MustHaveGoRun(t *testing.T) {
|
|||||||
// If the tool should be available and isn't, GoToolPath calls t.Fatal.
|
// If the tool should be available and isn't, GoToolPath calls t.Fatal.
|
||||||
func GoToolPath(t *testing.T) string {
|
func GoToolPath(t *testing.T) string {
|
||||||
MustHaveGoBuild(t)
|
MustHaveGoBuild(t)
|
||||||
|
|
||||||
var exeSuffix string
|
var exeSuffix string
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
exeSuffix = ".exe"
|
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)
|
goBin, err := exec.LookPath("go" + exeSuffix)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("cannot find go tool: %v", err)
|
t.Fatalf("cannot find go tool: %v", err)
|
||||||
|
Loading…
Reference in New Issue
Block a user