From 35497737c8c2416ada1b8f32f5f7fa12eec62987 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Wed, 3 Jul 2019 09:58:47 +0700 Subject: [PATCH] fix flaky session resumption integration test --- integrationtests/self/resumption_test.go | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/integrationtests/self/resumption_test.go b/integrationtests/self/resumption_test.go index fad7fe090..4b1eecc51 100644 --- a/integrationtests/self/resumption_test.go +++ b/integrationtests/self/resumption_test.go @@ -52,19 +52,6 @@ var _ = Describe("TLS session resumption", func() { Expect(err).ToNot(HaveOccurred()) defer server.Close() - done := make(chan struct{}) - go func() { - defer close(done) - defer GinkgoRecover() - sess, err := server.Accept(context.Background()) - Expect(err).ToNot(HaveOccurred()) - Expect(sess.ConnectionState().DidResume).To(BeFalse()) - - sess, err = server.Accept(context.Background()) - Expect(err).ToNot(HaveOccurred()) - Expect(sess.ConnectionState().DidResume).To(BeTrue()) - }() - gets := make(chan string, 100) puts := make(chan string, 100) cache := newClientSessionCache(gets, puts) @@ -80,6 +67,10 @@ var _ = Describe("TLS session resumption", func() { Eventually(puts).Should(Receive(&sessionKey)) Expect(sess.ConnectionState().DidResume).To(BeFalse()) + serverSess, err := server.Accept(context.Background()) + Expect(err).ToNot(HaveOccurred()) + Expect(serverSess.ConnectionState().DidResume).To(BeFalse()) + sess, err = quic.DialAddr( fmt.Sprintf("localhost:%d", server.Addr().(*net.UDPAddr).Port), tlsConf, @@ -89,6 +80,8 @@ var _ = Describe("TLS session resumption", func() { Expect(gets).To(Receive(Equal(sessionKey))) Expect(sess.ConnectionState().DidResume).To(BeTrue()) - Eventually(done).Should(BeClosed()) + serverSess, err = server.Accept(context.Background()) + Expect(err).ToNot(HaveOccurred()) + Expect(serverSess.ConnectionState().DidResume).To(BeTrue()) }) })