Skip to content

Commit

Permalink
unix: use os.Executable rather than os.Args[0] in tests
Browse files Browse the repository at this point in the history
Change-Id: I67a063d747c6e34dcd0292fdb3a9a0d965a6e133
Reviewed-on: https://go-review.googlesource.com/c/sys/+/607875
Commit-Queue: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
  • Loading branch information
ianlancetaylor authored and gopherbot committed Aug 22, 2024
1 parent a8c5219 commit 29e55b2
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 4 deletions.
6 changes: 5 additions & 1 deletion unix/darwin_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,14 @@ func TestDarwinLoader(t *testing.T) {
//
// In an ideal world each syscall would have its own test, so this test
// would be unnecessary. Unfortunately, we do not live in that world.
exe, err := os.Executable()
if err != nil {
t.Fatal(err)
}
for _, test := range darwinTests {
// Call the test binary recursively, giving it a magic argument
// (see init below) and the name of the test to run.
cmd := exec.Command(os.Args[0], "testDarwinLoader", test.name)
cmd := exec.Command(exe, "testDarwinLoader", test.name)

// Run subprocess, collect results. Note that we expect the subprocess
// to fail somehow, so the error is irrelevant.
Expand Down
2 changes: 1 addition & 1 deletion unix/openbsd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func init() {
// testCmd generates a proper command that, when executed, runs the test
// corresponding to the given key.
func testCmd(procName string) (*exec.Cmd, error) {
exe, err := filepath.Abs(os.Args[0])
exe, err := os.Executable()
if err != nil {
return nil, err
}
Expand Down
2 changes: 1 addition & 1 deletion unix/syscall_freebsd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func init() {
}

func testCmd(procName string, procArg string) (*exec.Cmd, error) {
exe, err := filepath.Abs(os.Args[0])
exe, err := os.Executable()
if err != nil {
return nil, err
}
Expand Down
6 changes: 5 additions & 1 deletion unix/syscall_unix_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,11 @@ func TestPassFD(t *testing.T) {
defer writeFile.Close()
defer readFile.Close()

cmd := exec.Command(os.Args[0], "-test.run=^TestPassFD$", "--", t.TempDir())
exe, err := os.Executable()
if err != nil {
t.Fatal(err)
}
cmd := exec.Command(exe, "-test.run=^TestPassFD$", "--", t.TempDir())
cmd.Env = []string{"GO_WANT_HELPER_PROCESS=1"}
if lp := os.Getenv("LD_LIBRARY_PATH"); lp != "" {
cmd.Env = append(cmd.Env, "LD_LIBRARY_PATH="+lp)
Expand Down

0 comments on commit 29e55b2

Please sign in to comment.