1
0
mirror of https://git.tukaani.org/xz.git synced 2026-10-31 03:14:56 +00:00

Tests: Add a test for the lzma_index_dup() + lzma_index_checks bug()

Link: https://github.com/tukaani-project/xz/pull/238
This commit is contained in:
Darren Carreras 2026-07-27 22:13:09 -04:00 committed by Lasse Collin
parent c57500bda5
commit d16c31196e
No known key found for this signature in database
GPG Key ID: 38EE757D69184620

View File

@ -1319,6 +1319,13 @@ test_lzma_index_dup(void)
lzma_index *idx = lzma_index_init(NULL); lzma_index *idx = lzma_index_init(NULL);
assert_true(idx != 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: // Test for the bug fix 21515d79d778b8730a434f151b07202d52a04611:
// liblzma: Fix lzma_index_dup() for empty Streams. // liblzma: Fix lzma_index_dup() for empty Streams.
assert_lzma_ret(lzma_index_stream_padding(idx, 4), LZMA_OK); 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); lzma_index *second = lzma_index_init(NULL);
assert_true(second != 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); assert_lzma_ret(lzma_index_stream_padding(second, 16), LZMA_OK);
lzma_index *third = lzma_index_init(NULL); lzma_index *third = lzma_index_init(NULL);
assert_true(third != 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, assert_lzma_ret(lzma_index_append(third, NULL,
UNPADDED_SIZE_MIN * 10, 40), LZMA_OK); UNPADDED_SIZE_MIN * 10, 40), LZMA_OK);
assert_lzma_ret(lzma_index_append(third, NULL, assert_lzma_ret(lzma_index_append(third, NULL,
@ -1361,6 +1374,7 @@ test_lzma_index_dup(void)
copy = lzma_index_dup(idx, NULL); copy = lzma_index_dup(idx, NULL);
assert_true(copy != NULL); assert_true(copy != NULL);
assert_true(index_is_equal(idx, copy)); 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(copy, NULL);
lzma_index_end(idx, NULL); lzma_index_end(idx, NULL);