1
0
mirror of https://github.com/golang/go synced 2024-11-18 02:04:45 -07:00

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 <bradfitz@golang.org>
This commit is contained in:
Kenny Grant 2017-03-17 23:03:34 +00:00 committed by Brad Fitzpatrick
parent 0b647ffb98
commit 34396adac1

View File

@ -1096,7 +1096,12 @@ func TestLinuxSendfile(t *testing.T) {
// and will error out if we specify that with `-e trace='. // and will error out if we specify that with `-e trace='.
syscalls = "sendfile" syscalls = "sendfile"
case "mips64": 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 var buf bytes.Buffer