aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2008-01-24 00:46:05 +0200
committerLasse Collin <lasse.collin@tukaani.org>2008-01-24 00:46:05 +0200
commit6e27b1098a28f4ce09bfa6df68ad94182dfc2936 (patch)
treecc7ca4b7ca5cac4827fa6d2f5f7f04ffdc5977a2
parentFix decoding of empty Metadata Blocks, that don't have (diff)
downloadxz-6e27b1098a28f4ce09bfa6df68ad94182dfc2936.tar.xz
Added bunch of test files containing Multi-Block Streams.
-rw-r--r--tests/files/README53
-rw-r--r--tests/files/bad-multi-none-1.lzmabin0 -> 54 bytes
-rw-r--r--tests/files/bad-multi-none-2.lzmabin0 -> 53 bytes
-rw-r--r--tests/files/bad-multi-none-3.lzmabin0 -> 53 bytes
-rw-r--r--tests/files/bad-multi-none-extra_1.lzmabin0 -> 54 bytes
-rw-r--r--tests/files/bad-multi-none-extra_2.lzmabin0 -> 54 bytes
-rw-r--r--tests/files/bad-multi-none-extra_3.lzmabin0 -> 55 bytes
-rw-r--r--tests/files/bad-multi-none-header_1.lzmabin0 -> 57 bytes
-rw-r--r--tests/files/bad-multi-none-index_1.lzmabin0 -> 51 bytes
-rw-r--r--tests/files/bad-multi-none-index_2.lzmabin0 -> 49 bytes
-rw-r--r--tests/files/bad-multi-none-index_3.lzmabin0 -> 51 bytes
-rw-r--r--tests/files/bad-multi-none-index_4.lzmabin0 -> 51 bytes
-rw-r--r--tests/files/good-multi-none-1.lzmabin0 -> 75 bytes
-rw-r--r--tests/files/good-multi-none-2.lzmabin0 -> 53 bytes
-rw-r--r--tests/files/good-multi-none-extra_1.lzmabin0 -> 51 bytes
-rw-r--r--tests/files/good-multi-none-extra_2.lzmabin0 -> 79 bytes
-rw-r--r--tests/files/good-multi-none-extra_3.lzmabin0 -> 55 bytes
-rw-r--r--tests/files/good-multi-none-header_1.lzmabin0 -> 58 bytes
-rw-r--r--tests/files/good-multi-none-header_2.lzmabin0 -> 66 bytes
19 files changed, 53 insertions, 0 deletions
diff --git a/tests/files/README b/tests/files/README
index 1f47c3ce..4cabf878 100644
--- a/tests/files/README
+++ b/tests/files/README
@@ -76,6 +76,27 @@
good-single-lzma-flush_2.lzma has a flush marker in the middle of
the file and just before EOPM.
+ good-multi-none-1.lzma is a basic Multi-Block Stream with two Data
+ Blocks and Footer Metadata Block.
+
+ good-multi-none-2.lzma is good-multi-none-1.lzma with Total Size and
+ Uncompressed Size added to the Footer Metadata Block.
+
+ good-multi-none-extra_1.lzma has the `Extra is present' flag set but
+ no actual Extra Records.
+
+ good-multi-none-extra_2.lzma has two non-empty Extra Records.
+
+ good-multi-none-extra_3.lzma has an Extra Record that has empty Data.
+
+ good-multi-none-header_1.lzma has very minimal Header Metadata Block
+ with only the Metadata Flags field.
+
+ good-multi-none-header_2.lzma has all information in both Header and
+ Footer Metadata Blocks. The Size of Header Metadata Block has wrong
+ value in Header Metadata Block, but this value must be ignored by
+ the decoder in case of Header Metadata Block.
+
2.2. Bad Files
@@ -132,6 +153,38 @@
bad-single-lzma-flush_twice.lzma has two flush markers with no data
between them.
+ bad-multi-none-1.lzma has data after the last field in the Metadata
+ Block and the `Extra is present' flag is not set.
+
+ bad-multi-none-2.lzma has wrong Total Size in Footer Metadata Block.
+
+ bad-multi-none-3.lzma has wrong Uncompressed Size in Footer Metadata
+ Block.
+
+ bad-multi-none-index_1.lzma has wrong value in the Number of Data
+ Blocks field.
+
+ bad-multi-none-index_2.lzma has too short Metadata to contain all
+ the Index Records.
+
+ bad-multi-none-index_3.lzma has wrong value in Total Size field in
+ the Index.
+
+ bad-multi-none-index_4.lzma has wrong value in Uncompressed Size field
+ in the Index.
+
+ bad-multi-none-extra_1.lzma has incomplete Extra Record at the end of
+ the Metadata Block.
+
+ bad-multi-none-extra_2.lzma has incomplete variable-length integer as
+ Extra Record ID.
+
+ bad-multi-none-extra_3.lzma has incomplete Extra Record at the end of
+ the Metadata Block.
+
+ bad-multi-none-header_1.lzma has empty Header Metadata Block (even
+ the Metadata Flags field is not present).
+
2.3. Malicious Files
diff --git a/tests/files/bad-multi-none-1.lzma b/tests/files/bad-multi-none-1.lzma
new file mode 100644
index 00000000..208e5100
--- /dev/null
+++ b/tests/files/bad-multi-none-1.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-2.lzma b/tests/files/bad-multi-none-2.lzma
new file mode 100644
index 00000000..f338e5b3
--- /dev/null
+++ b/tests/files/bad-multi-none-2.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-3.lzma b/tests/files/bad-multi-none-3.lzma
new file mode 100644
index 00000000..936ae694
--- /dev/null
+++ b/tests/files/bad-multi-none-3.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-extra_1.lzma b/tests/files/bad-multi-none-extra_1.lzma
new file mode 100644
index 00000000..ac408dc3
--- /dev/null
+++ b/tests/files/bad-multi-none-extra_1.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-extra_2.lzma b/tests/files/bad-multi-none-extra_2.lzma
new file mode 100644
index 00000000..9cb47e16
--- /dev/null
+++ b/tests/files/bad-multi-none-extra_2.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-extra_3.lzma b/tests/files/bad-multi-none-extra_3.lzma
new file mode 100644
index 00000000..9c837151
--- /dev/null
+++ b/tests/files/bad-multi-none-extra_3.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-header_1.lzma b/tests/files/bad-multi-none-header_1.lzma
new file mode 100644
index 00000000..fbad4010
--- /dev/null
+++ b/tests/files/bad-multi-none-header_1.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-index_1.lzma b/tests/files/bad-multi-none-index_1.lzma
new file mode 100644
index 00000000..b1bd0cee
--- /dev/null
+++ b/tests/files/bad-multi-none-index_1.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-index_2.lzma b/tests/files/bad-multi-none-index_2.lzma
new file mode 100644
index 00000000..59d92c6c
--- /dev/null
+++ b/tests/files/bad-multi-none-index_2.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-index_3.lzma b/tests/files/bad-multi-none-index_3.lzma
new file mode 100644
index 00000000..5b94972a
--- /dev/null
+++ b/tests/files/bad-multi-none-index_3.lzma
Binary files differ
diff --git a/tests/files/bad-multi-none-index_4.lzma b/tests/files/bad-multi-none-index_4.lzma
new file mode 100644
index 00000000..880878a5
--- /dev/null
+++ b/tests/files/bad-multi-none-index_4.lzma
Binary files differ
diff --git a/tests/files/good-multi-none-1.lzma b/tests/files/good-multi-none-1.lzma
new file mode 100644
index 00000000..53c6afaa
--- /dev/null
+++ b/tests/files/good-multi-none-1.lzma
Binary files differ
diff --git a/tests/files/good-multi-none-2.lzma b/tests/files/good-multi-none-2.lzma
new file mode 100644
index 00000000..bef06817
--- /dev/null
+++ b/tests/files/good-multi-none-2.lzma
Binary files differ
diff --git a/tests/files/good-multi-none-extra_1.lzma b/tests/files/good-multi-none-extra_1.lzma
new file mode 100644
index 00000000..ead38857
--- /dev/null
+++ b/tests/files/good-multi-none-extra_1.lzma
Binary files differ
diff --git a/tests/files/good-multi-none-extra_2.lzma b/tests/files/good-multi-none-extra_2.lzma
new file mode 100644
index 00000000..3dc8e51e
--- /dev/null
+++ b/tests/files/good-multi-none-extra_2.lzma
Binary files differ
diff --git a/tests/files/good-multi-none-extra_3.lzma b/tests/files/good-multi-none-extra_3.lzma
new file mode 100644
index 00000000..6e35306a
--- /dev/null
+++ b/tests/files/good-multi-none-extra_3.lzma
Binary files differ
diff --git a/tests/files/good-multi-none-header_1.lzma b/tests/files/good-multi-none-header_1.lzma
new file mode 100644
index 00000000..169b5c90
--- /dev/null
+++ b/tests/files/good-multi-none-header_1.lzma
Binary files differ
diff --git a/tests/files/good-multi-none-header_2.lzma b/tests/files/good-multi-none-header_2.lzma
new file mode 100644
index 00000000..9bec4ff5
--- /dev/null
+++ b/tests/files/good-multi-none-header_2.lzma
Binary files differ