]> git.feebdaed.xyz Git - 0xmirror/quic-go.git/commitdiff
fix flaky TestServerTransportClose (#5407)
authorCopilot <198982749+Copilot@users.noreply.github.com>
Fri, 24 Oct 2025 16:24:01 +0000 (18:24 +0200)
committerGitHub <noreply@github.com>
Fri, 24 Oct 2025 16:24:01 +0000 (18:24 +0200)
* Initial plan

* Fix TestServerTransportClose race condition by accepting conn1 before dialing conn2

Co-authored-by: marten-seemann <1478487+marten-seemann@users.noreply.github.com>
---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: marten-seemann <1478487+marten-seemann@users.noreply.github.com>
integrationtests/self/handshake_test.go

index 3e2ddf91b5e83e6db865a475325f488c34af45ac..96558d6671c03515ebdd5800351516d8bd82372c 100644 (file)
@@ -764,6 +764,11 @@ func TestServerTransportClose(t *testing.T) {
                getQuicConfig(&quic.Config{MaxIdleTimeout: scaleDuration(50 * time.Millisecond)}),
        )
        require.NoError(t, err)
+
+       sconn, err := server.Accept(ctx)
+       require.NoError(t, err)
+       require.Equal(t, conn1.LocalAddr(), sconn.RemoteAddr())
+
        // ...the second conn isn't, it remains in the server's accept queue
        conn2, err := quic.Dial(
                ctx,
@@ -776,10 +781,6 @@ func TestServerTransportClose(t *testing.T) {
 
        time.Sleep(scaleDuration(10 * time.Millisecond))
 
-       sconn, err := server.Accept(ctx)
-       require.NoError(t, err)
-       require.Equal(t, conn1.LocalAddr(), sconn.RemoteAddr())
-
        // closing the Transport abruptly terminates connections
        require.NoError(t, tr.Close())