diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2022-07-14 19:37:42 +0300 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2022-07-24 11:37:44 +0300 |
commit | b8e3d0c45b62c81dfc6b350556d77cf2c7401edd (patch) | |
tree | 7bc79b89c7f36389a6acdd43152f0c3cdd258e2b | |
parent | e96bdf7189916bffec0dcc933cd809fac898587c (diff) | |
download | xz-b8e3d0c45b62c81dfc6b350556d77cf2c7401edd.tar.gz |
Tests: Add .lzma test files.
-rw-r--r-- | tests/files/README | 63 | ||||
-rw-r--r-- | tests/files/bad-too_big_size-with_eopm.lzma | bin | 0 -> 37 bytes | |||
-rw-r--r-- | tests/files/bad-too_small_size-without_eopm-1.lzma | bin | 0 -> 31 bytes | |||
-rw-r--r-- | tests/files/bad-too_small_size-without_eopm-2.lzma | bin | 0 -> 31 bytes | |||
-rw-r--r-- | tests/files/bad-too_small_size-without_eopm-3.lzma | bin | 0 -> 36 bytes | |||
-rw-r--r-- | tests/files/bad-unknown_size-without_eopm.lzma | bin | 0 -> 31 bytes | |||
-rw-r--r-- | tests/files/good-known_size-with_eopm.lzma | bin | 0 -> 37 bytes | |||
-rw-r--r-- | tests/files/good-known_size-without_eopm.lzma | bin | 0 -> 31 bytes | |||
-rw-r--r-- | tests/files/good-unknown_size-with_eopm.lzma | bin | 0 -> 37 bytes |
9 files changed, 50 insertions, 13 deletions
diff --git a/tests/files/README b/tests/files/README index 59b54e4..ba05aba 100644 --- a/tests/files/README +++ b/tests/files/README @@ -1,31 +1,31 @@ -.xz Test Files ----------------- +.xz and .lzma Test Files +------------------------ 0. Introduction - This directory contains bunch of files to test handling of .xz files - in .xz decoder implementations. Many of the files have been created - by hand with a hex editor, thus there is no better "source code" than - the files themselves. All the test files (*.xz) and this README have - been put into the public domain. + This directory contains bunch of files to test handling of .xz + and .lzma files in decoder implementations. Many of the files have + been created by hand with a hex editor, thus there is no better + "source code" than the files themselves. All the test files and + this README have been put into the public domain. 1. File Types - Good files (good-*.xz) must decode successfully without requiring - a lot of CPU time or RAM. + Good files (good-*.xz, good-*.lzma) must decode successfully + without requiring a lot of CPU time or RAM. Unsupported files (unsupported-*.xz) are good files, but headers indicate features not supported by the current file format specification. - Bad files (bad-*.xz) must cause the decoder to give an error. Like - with the good files, these files must not require a lot of CPU time - or RAM before they get detected to be broken. + Bad files (bad-*.xz, bad-*.lzma) must cause the decoder to give + an error. Like with the good files, these files must not require + a lot of CPU time or RAM before they get detected to be broken. -2. Descriptions of Individual Files +2. Descriptions of Individual .xz Files 2.1. Good Files @@ -266,3 +266,40 @@ Uncompressed Size bytes of output will have been produced but the LZMA2 decoder doesn't indicate end of stream. + +3. Descriptions of Individual .lzma Files + +3.1. Good Files + + good-unknown_size-with_eopm.lzma has unknown size in the header + and end of payload marker at the end. + + good-known_size-without_eopm.lzma has a known size in the header + and no end of payload marker at the end. + + good-known_size-with_eopm.lzma has a known size in the header + and end of payload marker at the end. XZ Utils 5.2.5 and older + will give an error at the end of the file after producing the + correct uncompressed output. + + +3.2. Bad Files + + bad-unknown_size-without_eopm.lzma has unknown size in the header + but no end of payload marker at the end. This file might be seen + by a decoder as if it were truncated. + + bad-too_big_size-with_eopm.lzma has too big uncompressed size in + the header and the end of payload marker will be detected before + the specified number of bytes have been decoded. + + bad-too_small_size-without_eopm-1.lzma has too small uncompressed + size in the header. The decoder will look for end of payload marker + but instead find a literal that would produce more output. + + bad-too_small_size-without_eopm-2.lzma is like -1 above but instead + of a literal the problem occurs with a short repeated match. + + 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. + diff --git a/tests/files/bad-too_big_size-with_eopm.lzma b/tests/files/bad-too_big_size-with_eopm.lzma Binary files differnew file mode 100644 index 0000000..b7cd3b0 --- /dev/null +++ b/tests/files/bad-too_big_size-with_eopm.lzma diff --git a/tests/files/bad-too_small_size-without_eopm-1.lzma b/tests/files/bad-too_small_size-without_eopm-1.lzma Binary files differnew file mode 100644 index 0000000..cc2805c --- /dev/null +++ b/tests/files/bad-too_small_size-without_eopm-1.lzma diff --git a/tests/files/bad-too_small_size-without_eopm-2.lzma b/tests/files/bad-too_small_size-without_eopm-2.lzma Binary files differnew file mode 100644 index 0000000..e37cab1 --- /dev/null +++ b/tests/files/bad-too_small_size-without_eopm-2.lzma diff --git a/tests/files/bad-too_small_size-without_eopm-3.lzma b/tests/files/bad-too_small_size-without_eopm-3.lzma Binary files differnew file mode 100644 index 0000000..67a1af3 --- /dev/null +++ b/tests/files/bad-too_small_size-without_eopm-3.lzma diff --git a/tests/files/bad-unknown_size-without_eopm.lzma b/tests/files/bad-unknown_size-without_eopm.lzma Binary files differnew file mode 100644 index 0000000..b3d7a52 --- /dev/null +++ b/tests/files/bad-unknown_size-without_eopm.lzma diff --git a/tests/files/good-known_size-with_eopm.lzma b/tests/files/good-known_size-with_eopm.lzma Binary files differnew file mode 100644 index 0000000..1b45307 --- /dev/null +++ b/tests/files/good-known_size-with_eopm.lzma diff --git a/tests/files/good-known_size-without_eopm.lzma b/tests/files/good-known_size-without_eopm.lzma Binary files differnew file mode 100644 index 0000000..83623fd --- /dev/null +++ b/tests/files/good-known_size-without_eopm.lzma diff --git a/tests/files/good-unknown_size-with_eopm.lzma b/tests/files/good-unknown_size-with_eopm.lzma Binary files differnew file mode 100644 index 0000000..0f4ff82 --- /dev/null +++ b/tests/files/good-unknown_size-with_eopm.lzma |