From d16c31196e4c1fd4a76c960a5c7db261075e4db1 Mon Sep 17 00:00:00 2001 From: Darren Carreras <283775510+carrerasdarren-cell@users.noreply.github.com> Date: Mon, 27 Jul 2026 22:13:09 -0400 Subject: [PATCH] Tests: Add a test for the lzma_index_dup() + lzma_index_checks bug() Link: https://github.com/tukaani-project/xz/pull/238 --- tests/test_index.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/test_index.c b/tests/test_index.c index f4ac4b4c..e3cb6256 100644 --- a/tests/test_index.c +++ b/tests/test_index.c @@ -1319,6 +1319,13 @@ test_lzma_index_dup(void) lzma_index *idx = lzma_index_init(NULL); assert_true(idx != NULL); + lzma_stream_flags flags = { + .version = 0, + .backward_size = LZMA_BACKWARD_SIZE_MIN, + .check = LZMA_CHECK_CRC32, + }; + assert_lzma_ret(lzma_index_stream_flags(idx, &flags), LZMA_OK); + // Test for the bug fix 21515d79d778b8730a434f151b07202d52a04611: // liblzma: Fix lzma_index_dup() for empty Streams. assert_lzma_ret(lzma_index_stream_padding(idx, 4), LZMA_OK); @@ -1343,11 +1350,17 @@ test_lzma_index_dup(void) lzma_index *second = lzma_index_init(NULL); assert_true(second != NULL); + flags.check = LZMA_CHECK_CRC64; + assert_lzma_ret(lzma_index_stream_flags(second, &flags), LZMA_OK); + assert_lzma_ret(lzma_index_stream_padding(second, 16), LZMA_OK); lzma_index *third = lzma_index_init(NULL); assert_true(third != NULL); + flags.check = LZMA_CHECK_SHA256; + assert_lzma_ret(lzma_index_stream_flags(third, &flags), LZMA_OK); + assert_lzma_ret(lzma_index_append(third, NULL, UNPADDED_SIZE_MIN * 10, 40), LZMA_OK); assert_lzma_ret(lzma_index_append(third, NULL, @@ -1361,6 +1374,7 @@ test_lzma_index_dup(void) copy = lzma_index_dup(idx, NULL); assert_true(copy != NULL); assert_true(index_is_equal(idx, copy)); + assert_uint_eq(lzma_index_checks(copy), lzma_index_checks(idx)); lzma_index_end(copy, NULL); lzma_index_end(idx, NULL);