From ead964dc808661d5a9401dfe7bd52003fa5595fa Mon Sep 17 00:00:00 2001 From: Kenny Grant Date: Fri, 17 Mar 2017 23:03:34 +0000 Subject: [release-branch.go1.8] net/http: Fix TestLinuxSendfile without strace permissions If go doesn't have permission to run strace, this test hangs while waiting for strace to run. Instead try invoking strace with Run() first - on fail skip and report error, otherwise run the test normally using strace. Also fix link to open mips64 issue in same test. Fixes #9711 Change-Id: Ibbc5fbb143ea6d0f8b6cfdca4b385ef4c8960b3d Reviewed-on: https://go-review.googlesource.com/38633 Reviewed-by: Brad Fitzpatrick Reviewed-on: https://go-review.googlesource.com/72170 Run-TryBot: Russ Cox TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/net/http/fs_test.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/net/http/fs_test.go b/src/net/http/fs_test.go index 17a0e4a9af..0b326f3bde 100644 --- a/src/net/http/fs_test.go +++ b/src/net/http/fs_test.go @@ -1091,7 +1091,12 @@ func TestLinuxSendfile(t *testing.T) { // and will error out if we specify that with `-e trace='. syscalls = "sendfile" case "mips64": - t.Skip("TODO: update this test to be robust against various versions of strace on mips64. See golang.org/issue/33430") + t.Skip("TODO: update this test to be robust against various versions of strace on mips64. See golang.org/issue/18008") + } + + // Attempt to run strace, and skip on failure - this test requires SYS_PTRACE. + if err := exec.Command("strace", "-f", "-q", "-e", "trace="+syscalls, os.Args[0], "-test.run=^$").Run(); err != nil { + t.Skipf("skipping; failed to run strace: %v", err) } var buf bytes.Buffer -- cgit v1.2.3-54-g00ecf