diff options
| author | Brad Fitzpatrick <bradfitz@golang.org> | 2016-11-16 23:41:15 +0000 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2016-11-17 00:15:36 +0000 |
| commit | 48858a2386f7eef41cb3459e85d53ac9b1e8f70f (patch) | |
| tree | 9ae802c6b28d3cc1a0aedf4c5752bee9eefdcecc /src/net/http/clientserver_test.go | |
| parent | 14e9f4825bffd4339dbde43198ed1710a1e149b5 (diff) | |
| download | go-48858a2386f7eef41cb3459e85d53ac9b1e8f70f.tar.xz | |
net/http: deflake TestInterruptWithPanic_nil_h2, again
Updates #17243
Change-Id: Iaa737874e75fdac73452f1fc13a5749e8df78ebe
Reviewed-on: https://go-review.googlesource.com/33332
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/net/http/clientserver_test.go')
| -rw-r--r-- | src/net/http/clientserver_test.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/net/http/clientserver_test.go b/src/net/http/clientserver_test.go index e736e7c7dd..53556a1107 100644 --- a/src/net/http/clientserver_test.go +++ b/src/net/http/clientserver_test.go @@ -1177,10 +1177,19 @@ func testInterruptWithPanic(t *testing.T, h2 bool, panicValue interface{}) { const msg = "hello" defer afterTest(t) + testDone := make(chan struct{}) + defer close(testDone) + var errorLog lockedBytesBuffer + gotHeaders := make(chan bool, 1) cst := newClientServerTest(t, h2, HandlerFunc(func(w ResponseWriter, r *Request) { io.WriteString(w, msg) w.(Flusher).Flush() + + select { + case <-gotHeaders: + case <-testDone: + } panic(panicValue) }), func(ts *httptest.Server) { ts.Config.ErrorLog = log.New(&errorLog, "", 0) @@ -1190,6 +1199,7 @@ func testInterruptWithPanic(t *testing.T, h2 bool, panicValue interface{}) { if err != nil { t.Fatal(err) } + gotHeaders <- true defer res.Body.Close() slurp, err := ioutil.ReadAll(res.Body) if string(slurp) != msg { |
