aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenny Grant <kennygrant@gmail.com>2017-03-17 23:03:34 +0000
committerRuss Cox <rsc@golang.org>2017-10-25 18:56:43 +0000
commitead964dc808661d5a9401dfe7bd52003fa5595fa (patch)
treeaa9a7cc1e761425576b404e3446b285956d73fc6
parent7e9658fea900b286d10c80cec9d53641b37b9f8a (diff)
downloadgo-ead964dc808661d5a9401dfe7bd52003fa5595fa.tar.gz
go-ead964dc808661d5a9401dfe7bd52003fa5595fa.zip
[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 <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/72170 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r--src/net/http/fs_test.go7
1 files changed, 6 insertions, 1 deletions
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