]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
Tests: Add a few test files.
authorJia Tan <jiat0218@gmail.com>
Fri, 23 Feb 2024 15:09:59 +0000 (23:09 +0800)
committerJia Tan <jiat0218@gmail.com>
Fri, 23 Feb 2024 15:09:59 +0000 (23:09 +0800)
tests/files/README
tests/files/bad-3-corrupt_lzma2.xz [new file with mode: 0644]
tests/files/bad-dict_size.lzma [new file with mode: 0644]
tests/files/good-2cat.xz [new file with mode: 0644]
tests/files/good-large_compressed.lzma [new file with mode: 0644]
tests/files/good-small_compressed.lzma [new file with mode: 0644]

index e16ee19c9e792405eabf46bd1235992d89034052..e987a5193194907a75fe38bb36106dfd3e0f115f 100644 (file)
@@ -41,6 +41,8 @@
     good-0catpad-empty.xz has two zero-Block Streams concatenated with
     four-byte Stream Padding between the Streams.
 
+    good-2cat.xz has two Streams with one Block each.
+
     good-1-check-none.xz has one Stream with one Block with two
     uncompressed LZMA2 chunks and no integrity check.
 
     Uncompressed Size bytes of output will have been produced but
     the LZMA2 decoder doesn't indicate end of stream.
 
+    bad-3-corrupt_lzma2.xz has three Streams in it. The first and third
+    streams are valid xz Streams. The middle Stream has a correct Stream
+    Header, Block Header, Index and Stream Footer. Only the LZMA2 data
+    is corrupt. This file should decompress if --single-stream is used.
+
 
 3. Descriptions of Individual .lzma Files
 
     will give an error at the end of the file after producing the
     correct uncompressed output.
 
+    good-small_compressed.lzma was created with a small dictionary (2^16).
+    It contains the string "Hello World" repeated 100,000 times. This tests
+    match decoding and wrapping the dictionary.
+
+    good-large_compressed.lzma was created with a mix of repeated
+    characters and random data to test a data stream containing many
+    matches and many literals.
+
 
 3.2. Bad Files
 
     bad-too_small_size-without_eopm-3.lzma is like -1 above but instead
     of a literal the problem occurs in the middle of a match.
 
+    bad-dict_size.lzma has a valid dictionary size according to the .lzma
+    File Format, but will be rejected by XZ Utils because it is not 2^n or
+    2^n + 2^(n-1).
+
 
 4. Descriptions of Individual .lz (lzip) Files
 
diff --git a/tests/files/bad-3-corrupt_lzma2.xz b/tests/files/bad-3-corrupt_lzma2.xz
new file mode 100644 (file)
index 0000000..926f95b
Binary files /dev/null and b/tests/files/bad-3-corrupt_lzma2.xz differ
diff --git a/tests/files/bad-dict_size.lzma b/tests/files/bad-dict_size.lzma
new file mode 100644 (file)
index 0000000..f2ef5a5
Binary files /dev/null and b/tests/files/bad-dict_size.lzma differ
diff --git a/tests/files/good-2cat.xz b/tests/files/good-2cat.xz
new file mode 100644 (file)
index 0000000..ea4d627
Binary files /dev/null and b/tests/files/good-2cat.xz differ
diff --git a/tests/files/good-large_compressed.lzma b/tests/files/good-large_compressed.lzma
new file mode 100644 (file)
index 0000000..8450fea
Binary files /dev/null and b/tests/files/good-large_compressed.lzma differ
diff --git a/tests/files/good-small_compressed.lzma b/tests/files/good-small_compressed.lzma
new file mode 100644 (file)
index 0000000..a2fe802
Binary files /dev/null and b/tests/files/good-small_compressed.lzma differ