mirror of
https://github.com/golang/go.git
synced 2025-05-28 19:02:22 +00:00
os: look up hostname from PATH in test
When running TestHostname, the location of the hostname binary is hardcoded as /bin/hostname. However, on some systems the actual location is /usr/bin/hostname. Change this behaviour to perform a lookup for hostname in PATH, and skip the test when it cannot be found there. Fixes #52402 Change-Id: I5418bf77258f5ffb2a9f834b8c68d8a7b7a452d7 GitHub-Last-Rev: 750f36fcf9d4b26b75e91b895d6f7c6a275536ee GitHub-Pull-Request: golang/go#52403 Reviewed-on: https://go-review.googlesource.com/c/go/+/400794 Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com>
This commit is contained in:
parent
bc2e961cf4
commit
12e48f3bbf
@ -1699,16 +1699,21 @@ func runBinHostname(t *testing.T) string {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer r.Close()
|
defer r.Close()
|
||||||
const path = "/bin/hostname"
|
|
||||||
|
path, err := osexec.LookPath("hostname")
|
||||||
|
if err != nil {
|
||||||
|
if errors.Is(err, osexec.ErrNotFound) {
|
||||||
|
t.Skip("skipping test; test requires hostname but it does not exist")
|
||||||
|
}
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
argv := []string{"hostname"}
|
argv := []string{"hostname"}
|
||||||
if runtime.GOOS == "aix" {
|
if runtime.GOOS == "aix" {
|
||||||
argv = []string{"hostname", "-s"}
|
argv = []string{"hostname", "-s"}
|
||||||
}
|
}
|
||||||
p, err := StartProcess(path, argv, &ProcAttr{Files: []*File{nil, w, Stderr}})
|
p, err := StartProcess(path, argv, &ProcAttr{Files: []*File{nil, w, Stderr}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if _, err := Stat(path); IsNotExist(err) {
|
|
||||||
t.Skipf("skipping test; test requires %s but it does not exist", path)
|
|
||||||
}
|
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
w.Close()
|
w.Close()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user