Tests: Create a test for the lzma_index_cat bug.
This commit is contained in:
parent
3d5a99ca37
commit
afd5a8bf53
@ -290,7 +290,7 @@ test_many(lzma_index *i)
|
||||
static void
|
||||
test_cat(void)
|
||||
{
|
||||
lzma_index *a, *b, *c;
|
||||
lzma_index *a, *b, *c, *d, *e, *f;
|
||||
lzma_index_iter r;
|
||||
|
||||
// Empty Indexes
|
||||
@ -411,6 +411,47 @@ test_cat(void)
|
||||
^ (i == 0));
|
||||
|
||||
lzma_index_end(a, NULL);
|
||||
|
||||
// Test for the bug fix 3d5a99ca373a4e86faf671226ca6487febb9eeac.
|
||||
// lzma_index_checks would previously only return the checks
|
||||
// for the last stream that was concatenated to the index.
|
||||
d = create_small();
|
||||
e = create_small();
|
||||
f = create_small();
|
||||
|
||||
lzma_stream_flags crc32_flags = {
|
||||
.backward_size = LZMA_BACKWARD_SIZE_MIN,
|
||||
.check = LZMA_CHECK_CRC32
|
||||
};
|
||||
expect(lzma_index_stream_flags(d, &crc32_flags) == LZMA_OK);
|
||||
|
||||
lzma_stream_flags crc64_flags = {
|
||||
.backward_size = LZMA_BACKWARD_SIZE_MIN,
|
||||
.check = LZMA_CHECK_CRC64
|
||||
};
|
||||
expect(lzma_index_stream_flags(e, &crc64_flags) == LZMA_OK);
|
||||
|
||||
lzma_stream_flags sha256_flags = {
|
||||
.backward_size = LZMA_BACKWARD_SIZE_MIN,
|
||||
.check = LZMA_CHECK_SHA256
|
||||
};
|
||||
expect(lzma_index_stream_flags(f, &sha256_flags) == LZMA_OK);
|
||||
|
||||
expect(lzma_index_checks(d) == (1U << LZMA_CHECK_CRC32));
|
||||
expect(lzma_index_checks(e) == (1U << LZMA_CHECK_CRC64));
|
||||
expect(lzma_index_checks(f) == (1U << LZMA_CHECK_SHA256));
|
||||
|
||||
expect(lzma_index_cat(d, e, NULL) == LZMA_OK);
|
||||
expect(lzma_index_checks(d) == ((1U << LZMA_CHECK_CRC32) |
|
||||
(1U << LZMA_CHECK_CRC64)));
|
||||
|
||||
expect(lzma_index_cat(d, f, NULL) == LZMA_OK);
|
||||
expect(lzma_index_checks(d) == ((1U << LZMA_CHECK_CRC32) |
|
||||
(1U << LZMA_CHECK_CRC64) |
|
||||
(1U << LZMA_CHECK_SHA256)));
|
||||
|
||||
lzma_index_end(d, NULL);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user