aboutsummaryrefslogtreecommitdiffstats
path: root/test/quic_stream_test.c
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2023-10-31 16:47:55 +0000
committerHugo Landau <hlandau@openssl.org>2023-11-02 08:49:01 +0000
commit115ee28263c28c78a34ce4e40a9e4be8361deee6 (patch)
tree389555fe6423de2cd5f74f45e7c1a73b53cd8812 /test/quic_stream_test.c
parentdaf26c2d7a4d29ec1040fc0d5d4215cfc2dcf4a7 (diff)
downloadopenssl-115ee28263c28c78a34ce4e40a9e4be8361deee6.tar.gz
QUIC SSTREAM: Fix bug in ossl_quic_sstream_is_totally_acked
ossl_quic_sstream_is_totally_acked would return 0 if no data had been appended to the stream yet. Fixed and added tests. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22580)
Diffstat (limited to 'test/quic_stream_test.c')
-rw-r--r--test/quic_stream_test.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/quic_stream_test.c b/test/quic_stream_test.c
index c80a4bf049..e2935be0d5 100644
--- a/test/quic_stream_test.c
+++ b/test/quic_stream_test.c
@@ -48,6 +48,10 @@ static int test_sstream_simple(void)
if (!TEST_ptr(sstream = ossl_quic_sstream_new(init_size)))
goto err;
+ /* A stream with nothing yet appended is totally acked */
+ if (!TEST_true(ossl_quic_sstream_is_totally_acked(sstream)))
+ goto err;
+
/* Should not have any data yet */
num_iov = OSSL_NELEM(iov);
if (!TEST_false(ossl_quic_sstream_get_stream_frame(sstream, 0, &hdr, iov,
@@ -60,6 +64,10 @@ static int test_sstream_simple(void)
|| !TEST_size_t_eq(wr, sizeof(data_1)))
goto err;
+ /* No longer totally acked */
+ if (!TEST_false(ossl_quic_sstream_is_totally_acked(sstream)))
+ goto err;
+
/* Read data */
num_iov = OSSL_NELEM(iov);
if (!TEST_true(ossl_quic_sstream_get_stream_frame(sstream, 0, &hdr, iov,
@@ -196,6 +204,9 @@ static int test_sstream_simple(void)
if (!TEST_true(ossl_quic_sstream_mark_acked_fin(sstream)))
goto err;
+ if (!TEST_true(ossl_quic_sstream_is_totally_acked(sstream)))
+ goto err;
+
testresult = 1;
err:
ossl_quic_sstream_free(sstream);