From c60d6c0b4367c047470ddd652f8c53e286481f96 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 16 Jun 2017 18:13:13 -0700 Subject: os: on OpenBSD implement Executable using Args[0] OpenBSD no longer has procfs. Based on a patch by Matthieu Sarter. Fixes #19453. Change-Id: Ia09d16f8a1cbef2f8cc1c5f49e9c61ec7d026a40 Reviewed-on: https://go-review.googlesource.com/46004 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/os/executable_test.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/os/executable_test.go') diff --git a/src/os/executable_test.go b/src/os/executable_test.go index a4d89092ac..a6aeb0723f 100644 --- a/src/os/executable_test.go +++ b/src/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,13 @@ func TestExecutable(t *testing.T) { if err != nil { t.Fatalf("filepath.Rel: %v", err) } + + if runtime.GOOS == "openbsd" { + // The rest of the test doesn't work on OpenBSD, + // which relies on argv[0]. + t.Skipf("skipping remainder of test on %s", runtime.GOOS) + } + cmd := &osexec.Cmd{} // make child start with a relative program path cmd.Dir = dir -- cgit v1.3-5-g9baa