summaryrefslogtreecommitdiff
path: root/tests/libfstream/uncompress.c
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-05-09 14:40:35 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-05-09 14:41:56 +0200
commitf64e2a3b0b701249b02adf2b389bae8576a3441b (patch)
treef228748175b639ee01b9182c506909d4b062c57e /tests/libfstream/uncompress.c
parentcfa417a44111e1801b17aa0ab31fd0368794c034 (diff)
Add a test case for XZ stream concatenation
A modified version of the libfstream XZ stream uncompress test case is added that deliberately chops the compressed data up into two independend XZ streams to test the behaviour where the decompressor has to read across stream boundaries, like those resulting from parallel compression. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tests/libfstream/uncompress.c')
-rw-r--r--tests/libfstream/uncompress.c65
1 files changed, 64 insertions, 1 deletions
diff --git a/tests/libfstream/uncompress.c b/tests/libfstream/uncompress.c
index bd7df46..385af29 100644
--- a/tests/libfstream/uncompress.c
+++ b/tests/libfstream/uncompress.c
@@ -97,6 +97,69 @@ static sqfs_u8 data_in[] = {
0xbe, 0x03, 0x00, 0x00, 0xda, 0x2c, 0x45, 0x49,
0xa8, 0x00, 0x0a, 0xfc, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x59, 0x5a
+#elif defined(TEST_XZ2)
+ 0xfd, 0x37, 0x7a, 0x58, 0x5a, 0x00, 0x00, 0x04,
+ 0xe6, 0xd6, 0xb4, 0x46, 0x02, 0x00, 0x21, 0x01,
+ 0x16, 0x00, 0x00, 0x00, 0x74, 0x2f, 0xe5, 0xa3,
+ 0xe0, 0x00, 0xdc, 0x00, 0xb3, 0x5d, 0x00, 0x26,
+ 0x1b, 0xca, 0x46, 0x67, 0x5a, 0xf2, 0x77, 0xb8,
+ 0x7d, 0x86, 0xd8, 0x41, 0xdb, 0x05, 0x35, 0xcd,
+ 0x83, 0xa5, 0x7c, 0x12, 0xa5, 0x05, 0xdb, 0x90,
+ 0xbd, 0x2f, 0x14, 0xd3, 0x71, 0x72, 0x96, 0xa8,
+ 0x8a, 0x7d, 0x84, 0x56, 0x71, 0x8d, 0x6a, 0x22,
+ 0x98, 0xab, 0x9e, 0x3d, 0xc3, 0x55, 0xef, 0xcc,
+ 0xa5, 0xc3, 0xdd, 0x5b, 0x8e, 0xbf, 0x03, 0x81,
+ 0x21, 0x40, 0xd6, 0x26, 0x91, 0x02, 0x45, 0x4e,
+ 0x20, 0x91, 0xcf, 0x8c, 0x51, 0x22, 0x02, 0x70,
+ 0xba, 0x05, 0x6b, 0x83, 0xef, 0x3f, 0x8e, 0x09,
+ 0xef, 0x88, 0xf5, 0x37, 0x1b, 0x89, 0x8d, 0xff,
+ 0x1e, 0xee, 0xe8, 0xb0, 0xac, 0xf2, 0x6e, 0xd4,
+ 0x3e, 0x25, 0xaf, 0xa0, 0x6d, 0x2e, 0xc0, 0x7f,
+ 0xb5, 0xa0, 0xcb, 0x90, 0x1f, 0x08, 0x1a, 0xe2,
+ 0x90, 0x20, 0x19, 0x71, 0x0c, 0xe8, 0x3f, 0xe5,
+ 0x39, 0xeb, 0x9a, 0x62, 0x4f, 0x06, 0xda, 0x3c,
+ 0x32, 0x59, 0xcc, 0x83, 0xe3, 0x83, 0x0f, 0x38,
+ 0x7d, 0x43, 0x37, 0x6c, 0x0b, 0x05, 0x65, 0x98,
+ 0x25, 0xdb, 0xf2, 0xc0, 0x2d, 0x39, 0x36, 0x5d,
+ 0xd4, 0xb6, 0xc2, 0x79, 0x73, 0x3e, 0xc2, 0x6e,
+ 0x54, 0xec, 0x78, 0x2b, 0x5d, 0xf1, 0xd1, 0xb4,
+ 0xb3, 0xcd, 0xf3, 0x89, 0xf5, 0x80, 0x79, 0x46,
+ 0xc0, 0x00, 0x00, 0x00, 0xc4, 0xf5, 0x1d, 0x08,
+ 0xf0, 0x34, 0x3a, 0x59, 0x00, 0x01, 0xcf, 0x01,
+ 0xdd, 0x01, 0x00, 0x00, 0x7f, 0x5a, 0x77, 0xcb,
+ 0xb1, 0xc4, 0x67, 0xfb, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x59, 0x5a,
+ 0xfd, 0x37, 0x7a, 0x58, 0x5a, 0x00, 0x00, 0x04,
+ 0xe6, 0xd6, 0xb4, 0x46, 0x02, 0x00, 0x21, 0x01,
+ 0x16, 0x00, 0x00, 0x00, 0x74, 0x2f, 0xe5, 0xa3,
+ 0xe0, 0x00, 0xe0, 0x00, 0xb7, 0x5d, 0x00, 0x31,
+ 0x9b, 0xca, 0x19, 0xc5, 0x54, 0xec, 0xb6, 0x54,
+ 0xe7, 0xb1, 0x7d, 0xc4, 0x57, 0x9e, 0x6c, 0x89,
+ 0xad, 0x4a, 0x6d, 0x16, 0xd8, 0x3c, 0x05, 0x94,
+ 0x10, 0x16, 0x99, 0x38, 0x21, 0xa3, 0xb9, 0xc5,
+ 0x80, 0xff, 0xfc, 0xee, 0xd4, 0xd5, 0x3f, 0xdd,
+ 0x8c, 0xd7, 0x3d, 0x8f, 0x76, 0xec, 0x96, 0x9d,
+ 0x20, 0xac, 0xcb, 0x18, 0xf5, 0xb2, 0x9c, 0x12,
+ 0xf6, 0x7c, 0x33, 0xdc, 0x4f, 0x9a, 0xe5, 0x2d,
+ 0x63, 0x68, 0xa4, 0x2b, 0x1d, 0x0a, 0x1e, 0xf0,
+ 0xfe, 0x73, 0xf2, 0x5f, 0x7b, 0xb4, 0xea, 0x54,
+ 0xad, 0x27, 0xd1, 0xff, 0xb6, 0x50, 0x06, 0x7b,
+ 0x51, 0x3f, 0x25, 0x8a, 0xcf, 0x4c, 0x03, 0x3e,
+ 0xc3, 0xad, 0x47, 0x34, 0xcf, 0xba, 0x45, 0x79,
+ 0xd0, 0x7b, 0xf6, 0x66, 0x63, 0xc0, 0xc6, 0x69,
+ 0xa7, 0x51, 0x84, 0xa8, 0xa0, 0x0b, 0xbc, 0x6f,
+ 0x13, 0x89, 0xd6, 0x5e, 0xac, 0xca, 0x2f, 0xd2,
+ 0xe7, 0xe1, 0x1e, 0x78, 0x22, 0x3a, 0x59, 0x6c,
+ 0x9c, 0x8c, 0x65, 0xf1, 0x5b, 0xf4, 0xbf, 0xd5,
+ 0xdc, 0x05, 0xeb, 0x70, 0x10, 0xb8, 0x6c, 0xf2,
+ 0x13, 0x20, 0xb0, 0xdd, 0x3e, 0xb2, 0x92, 0x5b,
+ 0xa3, 0xf7, 0x94, 0xa1, 0xa1, 0x74, 0x36, 0x9a,
+ 0xf1, 0xd8, 0xc2, 0xf0, 0xc6, 0x29, 0x7e, 0x85,
+ 0x28, 0xf5, 0xf2, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0xc8, 0x80, 0x67, 0x40, 0xc3, 0xaa, 0x17, 0x57,
+ 0x00, 0x01, 0xd3, 0x01, 0xe1, 0x01, 0x00, 0x00,
+ 0x86, 0xdf, 0x9e, 0x05, 0xb1, 0xc4, 0x67, 0xfb,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x59, 0x5a
#elif defined(TEST_GZIP)
0x1f, 0x8b, 0x08, 0x08, 0x82, 0xd4, 0x97, 0x60,
0x00, 0x03, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x74,
@@ -187,7 +250,7 @@ static const char orig[] =
#if defined(TEST_BZIP2)
#define COMP_NAME "bzip2"
#define COMP_ID FSTREAM_COMPRESSOR_BZIP2
-#elif defined(TEST_XZ)
+#elif defined(TEST_XZ) || defined(TEST_XZ2)
#define COMP_NAME "xz"
#define COMP_ID FSTREAM_COMPRESSOR_XZ
#elif defined(TEST_GZIP)