Skip to content

Commit

Permalink
http3: fix race condition in client unit test (#4463)
Browse files Browse the repository at this point in the history
  • Loading branch information
marten-seemann committed Apr 26, 2024
1 parent 4b87539 commit 11b1159
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions http3/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -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) {
Expand Down

0 comments on commit 11b1159

Please sign in to comment.