From 11b11594b249517098aeabfebb3797e85719dd25 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Fri, 26 Apr 2024 19:32:03 +0200 Subject: [PATCH] http3: fix race condition in client unit test (#4463) --- http3/client_test.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/http3/client_test.go b/http3/client_test.go index 5c62ec6a..443087a7 100644 --- a/http3/client_test.go +++ b/http3/client_test.go @@ -315,10 +315,8 @@ var _ = Describe("Client", func() { }) Context("SETTINGS handling", func() { - var settingsFrameWritten chan struct{} - - BeforeEach(func() { - settingsFrameWritten = make(chan struct{}) + sendSettings := func() { + settingsFrameWritten := make(chan struct{}) controlStr := mockquic.NewMockStream(mockCtrl) var buf bytes.Buffer controlStr.EXPECT().Write(gomock.Any()).Do(func(b []byte) (int, error) { @@ -352,9 +350,10 @@ var _ = Describe("Client", func() { settings, err := parseSettingsFrame(&buf, uint64(buf.Len())) Expect(err).ToNot(HaveOccurred()) Expect(settings.Datagram).To(BeTrue()) - }) + } It("receives SETTINGS", func() { + sendSettings() done := make(chan struct{}) conn := mockquic.NewMockEarlyConnection(mockCtrl) conn.EXPECT().OpenUniStream().DoAndReturn(func() (quic.SendStream, error) { @@ -383,6 +382,7 @@ var _ = Describe("Client", func() { }) It("checks the server's SETTINGS before sending an Extended CONNECT request", func() { + sendSettings() done := make(chan struct{}) conn := mockquic.NewMockEarlyConnection(mockCtrl) conn.EXPECT().OpenUniStream().DoAndReturn(func() (quic.SendStream, error) { @@ -417,6 +417,7 @@ var _ = Describe("Client", func() { }) It("rejects Extended CONNECT requests if the server doesn't enable it", func() { + sendSettings() done := make(chan struct{}) conn := mockquic.NewMockEarlyConnection(mockCtrl) conn.EXPECT().OpenUniStream().DoAndReturn(func() (quic.SendStream, error) {