From 682d8b1c7a3840b9d9d9d7d5c3603ae81593d0ce Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Wed, 23 Aug 2017 09:49:14 +0700 Subject: [PATCH] fix race condition in the handshake RTT tests --- integrationtests/self/handshake_rtt_test.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/integrationtests/self/handshake_rtt_test.go b/integrationtests/self/handshake_rtt_test.go index 0987ea06c..a56bba558 100644 --- a/integrationtests/self/handshake_rtt_test.go +++ b/integrationtests/self/handshake_rtt_test.go @@ -23,17 +23,20 @@ var _ = Describe("Handshake RTT tests", func() { server quic.Listener serverConfig *quic.Config testStartedAt time.Time + acceptStopped chan struct{} ) rtt := 400 * time.Millisecond BeforeEach(func() { + acceptStopped = make(chan struct{}) serverConfig = &quic.Config{} }) AfterEach(func() { Expect(proxy.Close()).To(Succeed()) Expect(server.Close()).To(Succeed()) + <-acceptStopped }) runServerAndProxy := func() { @@ -51,8 +54,13 @@ var _ = Describe("Handshake RTT tests", func() { testStartedAt = time.Now() go func() { + defer GinkgoRecover() + defer close(acceptStopped) for { - _, _ = server.Accept() + _, err := server.Accept() + if err != nil { + return + } } }() }