Skip to content

Commit

Permalink
webtransport: fix flaky accept queue test
Browse files Browse the repository at this point in the history
  • Loading branch information
marten-seemann committed Dec 8, 2022
1 parent d31bf35 commit 386ef33
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions p2p/transport/webtransport/transport_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -470,17 +470,26 @@ func TestAcceptQueueFilledUp(t *testing.T) {
return cl.Dial(context.Background(), ln.Multiaddr(), serverID)
}

for i := 0; i < 16; i++ {
conn, err := newConn()
require.NoError(t, err)
defer conn.Close()
const num = 16 + 1 // one more than the accept queue capacity
errChan := make(chan error, num)
for i := 0; i < num; i++ {
go func() {
conn, err := newConn()
if err != nil {
errChan <- err
return
}
_, err = conn.AcceptStream()
errChan <- err
}()
}

conn, err := newConn()
if err == nil {
_, err = conn.AcceptStream()
}
require.Error(t, err)
require.Eventually(t, func() bool { return len(errChan) > 0 }, 500*time.Millisecond, 10*time.Millisecond, "expected an error to occur")
require.Never(t, func() bool { return len(errChan) > 1 }, 50*time.Millisecond, 10*time.Millisecond, "only expected one error to occur")

// test shutdown
require.NoError(t, ln.Close())
require.Eventually(t, func() bool { return len(errChan) == num }, 500*time.Millisecond, 10*time.Millisecond)
}

type reportingRcmgr struct {
Expand Down

0 comments on commit 386ef33

Please sign in to comment.