From f08e00630dc5c6b3a6f8a19f1d2d206984b610c9 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Mon, 16 Jan 2017 11:04:54 +0700 Subject: [PATCH] fix flaky h2quic client test --- h2quic/client_test.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/h2quic/client_test.go b/h2quic/client_test.go index d2cab801..6473aad9 100644 --- a/h2quic/client_test.go +++ b/h2quic/client_test.go @@ -151,9 +151,6 @@ var _ = Describe("Client", func() { }) It("closes the quic client when encountering an error on the header stream", func() { - headerStream.dataToRead.Write([]byte("invalid response")) - go client.handleHeaderStream() - var doRsp *http.Response var doErr error var doReturned bool @@ -162,6 +159,15 @@ var _ = Describe("Client", func() { doReturned = true }() + Eventually(func() chan *http.Response { + client.mutex.RLock() + defer client.mutex.RUnlock() + return client.responses[5] + }).ShouldNot(BeNil()) + + headerStream.dataToRead.Write([]byte("invalid response")) + client.handleHeaderStream() + Eventually(func() bool { return doReturned }).Should(BeTrue()) Expect(client.headerErr).To(HaveOccurred()) Expect(doErr).To(MatchError(client.headerErr))