diff options
Diffstat (limited to 'tests/files/README')
-rw-r--r-- | tests/files/README | 63 |
1 files changed, 50 insertions, 13 deletions
diff --git a/tests/files/README b/tests/files/README index 59b54e42..ba05aba5 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. + |