summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2022-07-14 19:37:42 +0300
committerLasse Collin <lasse.collin@tukaani.org>2022-07-24 11:37:44 +0300
commitb8e3d0c45b62c81dfc6b350556d77cf2c7401edd (patch)
tree7bc79b89c7f36389a6acdd43152f0c3cdd258e2b
parente96bdf7189916bffec0dcc933cd809fac898587c (diff)
downloadxz-b8e3d0c45b62c81dfc6b350556d77cf2c7401edd.tar.gz
Tests: Add .lzma test files.
-rw-r--r--tests/files/README63
-rw-r--r--tests/files/bad-too_big_size-with_eopm.lzmabin0 -> 37 bytes
-rw-r--r--tests/files/bad-too_small_size-without_eopm-1.lzmabin0 -> 31 bytes
-rw-r--r--tests/files/bad-too_small_size-without_eopm-2.lzmabin0 -> 31 bytes
-rw-r--r--tests/files/bad-too_small_size-without_eopm-3.lzmabin0 -> 36 bytes
-rw-r--r--tests/files/bad-unknown_size-without_eopm.lzmabin0 -> 31 bytes
-rw-r--r--tests/files/good-known_size-with_eopm.lzmabin0 -> 37 bytes
-rw-r--r--tests/files/good-known_size-without_eopm.lzmabin0 -> 31 bytes
-rw-r--r--tests/files/good-unknown_size-with_eopm.lzmabin0 -> 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
new file mode 100644
index 0000000..b7cd3b0
--- /dev/null
+++ b/tests/files/bad-too_big_size-with_eopm.lzma
Binary files differ
diff --git a/tests/files/bad-too_small_size-without_eopm-1.lzma b/tests/files/bad-too_small_size-without_eopm-1.lzma
new file mode 100644
index 0000000..cc2805c
--- /dev/null
+++ b/tests/files/bad-too_small_size-without_eopm-1.lzma
Binary files differ
diff --git a/tests/files/bad-too_small_size-without_eopm-2.lzma b/tests/files/bad-too_small_size-without_eopm-2.lzma
new file mode 100644
index 0000000..e37cab1
--- /dev/null
+++ b/tests/files/bad-too_small_size-without_eopm-2.lzma
Binary files differ
diff --git a/tests/files/bad-too_small_size-without_eopm-3.lzma b/tests/files/bad-too_small_size-without_eopm-3.lzma
new file mode 100644
index 0000000..67a1af3
--- /dev/null
+++ b/tests/files/bad-too_small_size-without_eopm-3.lzma
Binary files differ
diff --git a/tests/files/bad-unknown_size-without_eopm.lzma b/tests/files/bad-unknown_size-without_eopm.lzma
new file mode 100644
index 0000000..b3d7a52
--- /dev/null
+++ b/tests/files/bad-unknown_size-without_eopm.lzma
Binary files differ
diff --git a/tests/files/good-known_size-with_eopm.lzma b/tests/files/good-known_size-with_eopm.lzma
new file mode 100644
index 0000000..1b45307
--- /dev/null
+++ b/tests/files/good-known_size-with_eopm.lzma
Binary files differ
diff --git a/tests/files/good-known_size-without_eopm.lzma b/tests/files/good-known_size-without_eopm.lzma
new file mode 100644
index 0000000..83623fd
--- /dev/null
+++ b/tests/files/good-known_size-without_eopm.lzma
Binary files differ
diff --git a/tests/files/good-unknown_size-with_eopm.lzma b/tests/files/good-unknown_size-with_eopm.lzma
new file mode 100644
index 0000000..0f4ff82
--- /dev/null
+++ b/tests/files/good-unknown_size-with_eopm.lzma
Binary files differ