http2: skip "write: broken pipe" failures in TestServer on OpenBSD

This failure mode has been observed on openbsd/mips64 and
openbsd/arm64.

I have not diagnosed the precise root cause, but I suspect a platform
bug — perhaps a bad interaction with the relatively weakly-ordered
memory models on these CPUs.

For golang/go#52208.

Change-Id: I0ab0285cc395d22742ced8f28d5c9c3280fcd1e3
Reviewed-on: https://go-review.googlesource.com/c/net/+/398794
Trust: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Bryan C. Mills
2022-04-07 10:17:36 -04:00
committed by Gopher Robot
parent 749bd193bc
commit aac1ed45d8

View File

@@ -346,6 +346,10 @@ func (st *serverTester) writePreface() {
func (st *serverTester) writeInitialSettings() {
if err := st.fr.WriteSettings(); err != nil {
if runtime.GOOS == "openbsd" && strings.HasSuffix(err.Error(), "write: broken pipe") {
st.t.Logf("Error writing initial SETTINGS frame from client to server: %v", err)
st.t.Skipf("Skipping test with known OpenBSD failure mode. (See https://go.dev/issue/52208.)")
}
st.t.Fatalf("Error writing initial SETTINGS frame from client to server: %v", err)
}
}