From d277e013ab73787e6877f5f1f1652e31d1f2d83a Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Tue, 25 Feb 2020 15:05:02 +0700 Subject: [PATCH] fix race condition in the crypto setup tests --- internal/handshake/crypto_setup_test.go | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/internal/handshake/crypto_setup_test.go b/internal/handshake/crypto_setup_test.go index 345363abf..ad5299c17 100644 --- a/internal/handshake/crypto_setup_test.go +++ b/internal/handshake/crypto_setup_test.go @@ -263,8 +263,6 @@ var _ = Describe("Crypto Setup TLS", func() { }) Context("doing the handshake", func() { - var testDone chan struct{} - generateCert := func() tls.Certificate { priv, err := rsa.GenerateKey(rand.Reader, 2048) Expect(err).ToNot(HaveOccurred()) @@ -284,14 +282,6 @@ var _ = Describe("Crypto Setup TLS", func() { } } - BeforeEach(func() { - testDone = make(chan struct{}) - }) - - AfterEach(func() { - close(testDone) - }) - handshake := func(client CryptoSetup, cChunkChan <-chan chunk, server CryptoSetup, sChunkChan <-chan chunk) { done := make(chan struct{}) @@ -303,7 +293,7 @@ var _ = Describe("Crypto Setup TLS", func() { server.HandleMessage(c.data, c.encLevel) case c := <-sChunkChan: client.HandleMessage(c.data, c.encLevel) - case <-testDone: // handshake complete + case <-done: // handshake complete return } } @@ -311,13 +301,13 @@ var _ = Describe("Crypto Setup TLS", func() { go func() { defer GinkgoRecover() + defer close(done) server.RunHandshake() ticket, err := server.GetSessionTicket() Expect(err).ToNot(HaveOccurred()) if ticket != nil { client.HandleMessage(ticket, protocol.Encryption1RTT) } - close(done) }() client.RunHandshake()