From 689bbc7005f6bbf9fac1a8333bf03436fa4b4b2a Mon Sep 17 00:00:00 2001 From: Damien Neil Date: Thu, 4 Jan 2024 10:29:48 -0800 Subject: [PATCH] quic: deflake TestStreamsCreateConcurrency This test assumed that creating a stream and flushing it on the client ensured the server had accepted the stream. This isn't the case; the stream has been delivered to the server, but there's no guarantee that it been accepted by the user layer. Change the test to make a full loop: The client creates a stream, and then waits for the server to close it. Fixes golang/go#64788 Change-Id: I24f08502e9f5d8bd5a17e680b0aa19dcc2623841 Reviewed-on: https://go-review.googlesource.com/c/net/+/554175 Reviewed-by: Bryan Mills LUCI-TryBot-Result: Go LUCI --- internal/quic/conn_streams_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/quic/conn_streams_test.go b/internal/quic/conn_streams_test.go index fb9af47eb..6815e403e 100644 --- a/internal/quic/conn_streams_test.go +++ b/internal/quic/conn_streams_test.go @@ -510,6 +510,10 @@ func TestStreamsCreateConcurrency(t *testing.T) { return } s.Flush() + _, err = io.ReadAll(s) + if err != nil { + t.Errorf("ReadFull: %v", err) + } s.Close() } }()