From cc0d8c86e3437c1eec697809bdc9b2bcc8e0ed92 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Fri, 20 May 2016 18:13:49 +0000 Subject: [PATCH] net/http: deflake TestTransportEventTrace_h2 Fixes #15765 Change-Id: Id0a89d90ef9d3fffa9af0affca8c10a26fe6b7bc Reviewed-on: https://go-review.googlesource.com/23284 Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/net/http/transport_test.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go index b80c151a24..1c1a1d0397 100644 --- a/src/net/http/transport_test.go +++ b/src/net/http/transport_test.go @@ -3218,10 +3218,18 @@ func TestTransportEventTrace_NoHooks_h2(t *testing.T) { testTransportEventTrace( func testTransportEventTrace(t *testing.T, h2 bool, noHooks bool) { defer afterTest(t) const resBody = "some body" + gotWroteReqEvent := make(chan struct{}) cst := newClientServerTest(t, h2, HandlerFunc(func(w ResponseWriter, r *Request) { if _, err := ioutil.ReadAll(r.Body); err != nil { t.Error(err) } + if !noHooks { + select { + case <-gotWroteReqEvent: + case <-time.After(5 * time.Second): + t.Error("timeout waiting for WroteRequest event") + } + } io.WriteString(w, resBody) })) defer cst.close() @@ -3269,7 +3277,10 @@ func testTransportEventTrace(t *testing.T, h2 bool, noHooks bool) { }, Wait100Continue: func() { logf("Wait100Continue") }, Got100Continue: func() { logf("Got100Continue") }, - WroteRequest: func(e httptrace.WroteRequestInfo) { logf("WroteRequest: %+v", e) }, + WroteRequest: func(e httptrace.WroteRequestInfo) { + close(gotWroteReqEvent) + logf("WroteRequest: %+v", e) + }, } if noHooks { // zero out all func pointers, trying to get some path to crash -- 2.50.0