From: Jakub Zelenka Date: Thu, 18 Jun 2026 17:26:47 +0000 (+0200) Subject: quic: add mfail tests for QUIC SRTM X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fb218a35c1701ed4a39b47745ac933765a18a5d;p=thirdparty%2Fopenssl.git quic: add mfail tests for QUIC SRTM This cover various function for SRTM. Assisted-by: Claude:claude-opus-4-8 Reviewed-by: Nikola Pajkovsky Reviewed-by: Tomas Mraz MergeDate: Thu Jun 25 07:06:31 2026 (Merged from https://github.com/openssl/openssl/pull/31593) --- diff --git a/test/quic_srtm_test.c b/test/quic_srtm_test.c index cbdf8476324..db291989183 100644 --- a/test/quic_srtm_test.c +++ b/test/quic_srtm_test.c @@ -72,8 +72,58 @@ err: return testresult; } +static int test_srtm_new_mfail(void) +{ + QUIC_SRTM *srtm; + + MFAIL_start(); + srtm = ossl_quic_srtm_new(NULL, NULL); + MFAIL_end(); + + ossl_quic_srtm_free(srtm); + return srtm != NULL; +} + +static int test_srtm_ops_mfail(void) +{ + int testresult = 0; + QUIC_SRTM *srtm; + void *opaque = NULL; + uint64_t seq_num = 0; + + if (!TEST_ptr(srtm = ossl_quic_srtm_new(NULL, NULL))) + goto err; + + MFAIL_start(); + + if (!ossl_quic_srtm_add(srtm, ptrs + 0, 0, &token_1) + || !ossl_quic_srtm_add(srtm, ptrs + 0, 1, &token_1) + || !ossl_quic_srtm_add(srtm, ptrs + 0, 2, &token_1) + || !ossl_quic_srtm_add(srtm, ptrs + 1, 0, &token_1) + || !ossl_quic_srtm_add(srtm, ptrs + 2, 0, &token_2) + || !ossl_quic_srtm_add(srtm, ptrs + 3, 3, &token_2) + || !ossl_quic_srtm_remove(srtm, ptrs + 3, 3) + || !ossl_quic_srtm_lookup(srtm, &token_1, 0, &opaque, &seq_num) + || !ossl_quic_srtm_cull(srtm, ptrs + 0) + || !ossl_quic_srtm_lookup(srtm, &token_2, 0, &opaque, &seq_num) + || !ossl_quic_srtm_remove(srtm, ptrs + 2, 0)) + goto err; + + testresult = 1; +err: + MFAIL_end(); + ossl_quic_srtm_free(srtm); + return testresult; +} + int setup_tests(void) { ADD_TEST(test_srtm); +#ifdef OPENSSL_NO_CACHED_FETCH + ADD_MFAIL_NO_CHECK_TEST(test_srtm_new_mfail); +#else + ADD_MFAIL_TEST(test_srtm_new_mfail); +#endif + ADD_MFAIL_TEST(test_srtm_ops_mfail); return 1; }