aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/os/executable_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/os/executable_test.go')
-rw-r--r--libgo/go/os/executable_test.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/libgo/go/os/executable_test.go b/libgo/go/os/executable_test.go
index a4d8909..7800844 100644
--- a/libgo/go/os/executable_test.go
+++ b/libgo/go/os/executable_test.go
@@ -20,10 +20,6 @@ func TestExecutable(t *testing.T) {
testenv.MustHaveExec(t) // will also execlude nacl, which doesn't support Executable anyway
ep, err := os.Executable()
if err != nil {
- switch goos := runtime.GOOS; goos {
- case "openbsd": // procfs is not mounted by default
- t.Skipf("Executable failed on %s: %v, expected", goos, err)
- }
t.Fatalf("Executable failed: %v", err)
}
// we want fn to be of the form "dir/prog"
@@ -32,6 +28,7 @@ func TestExecutable(t *testing.T) {
if err != nil {
t.Fatalf("filepath.Rel: %v", err)
}
+
cmd := &osexec.Cmd{}
// make child start with a relative program path
cmd.Dir = dir
@@ -39,6 +36,10 @@ func TestExecutable(t *testing.T) {
// forge argv[0] for child, so that we can verify we could correctly
// get real path of the executable without influenced by argv[0].
cmd.Args = []string{"-", "-test.run=XXXX"}
+ if runtime.GOOS == "openbsd" {
+ // OpenBSD relies on argv[0]
+ cmd.Args[0] = fn
+ }
cmd.Env = append(os.Environ(), fmt.Sprintf("%s=1", executable_EnvVar))
out, err := cmd.CombinedOutput()
if err != nil {