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
|
static void
|
||||||
test_cat(void)
|
test_cat(void)
|
||||||
{
|
{
|
||||||
lzma_index *a, *b, *c;
|
lzma_index *a, *b, *c, *d, *e, *f;
|
||||||
lzma_index_iter r;
|
lzma_index_iter r;
|
||||||
|
|
||||||
// Empty Indexes
|
// Empty Indexes
|
||||||
|
@ -411,6 +411,47 @@ test_cat(void)
|
||||||
^ (i == 0));
|
^ (i == 0));
|
||||||
|
|
||||||
lzma_index_end(a, NULL);
|
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