Skip to content

Commit

Permalink
Remove empty buffer check in script_84 of quic_multistream_test
Browse files Browse the repository at this point in the history
The quic_multistream_test occasionally fails script_84, specifically
failing on:

OP_CHECK2(check_write_buf_stat, 0, 0)

which fails due to the send stream buffer not reading zero after data is
sent on the stream

However, the send stream is culled of pending data, not after the stream
is sent, but rather only after the peer sends an ack confirming that the
data has been received.  There is no guarantee that ACK will be sent
immediately, so occasionally timing discrepancies result in the test not
getting that ack by the time we check the send stream buffer.

We couldmodify the script to wait longer, or repeatedly tick the quic
stack to wait for that ack to be collected, but since its perfectly
valid for that data to live in the ring buffer for a period, and that
any true erroneous keeping of that data beyond its ack point would
manifest as any number of other duplicate transmissions, it seems more
sane to just remove the check.

Fixes openssl/project#1117

Reviewed-by: Saša Nedvědický <[email protected]>
Reviewed-by: Tim Hudson <[email protected]>
(Merged from openssl/openssl#26939)
  • Loading branch information
nhorman committed Mar 2, 2025
1 parent aaad33c commit 4f2f517
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion test/quic_multistream_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -5542,7 +5542,6 @@ static const struct script_op script_84[] = {
OP_S_READ_EXPECT (a, "apple", 5)
OP_S_WRITE (a, "orange", 6)
OP_C_READ_EXPECT (a, "orange", 6)
OP_CHECK2 (check_write_buf_stat, 0, 0)

OP_END
};
Expand Down

0 comments on commit 4f2f517

Please sign in to comment.