summaryrefslogtreecommitdiff
path: root/libz/tests
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2020-01-07 22:10:14 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2020-01-21 14:48:05 +0300
commit4f986ec6431b6f3f8c951c70a02300d552cd8e02 (patch)
treeda5ddcdf2f1c64702faa0c08cce1e14d872056ec /libz/tests
parent8772691447d50baf12f679ac8c95700a1951d502 (diff)
Add implementation
Diffstat (limited to 'libz/tests')
-rw-r--r--libz/tests/.gitignore3
-rw-r--r--libz/tests/build/.gitignore3
-rw-r--r--libz/tests/build/bootstrap.build9
-rw-r--r--libz/tests/build/root.build22
-rw-r--r--libz/tests/buildfile5
-rw-r--r--libz/tests/minigzip/buildfile14
l---------libz/tests/minigzip/minigzip.c1
-rw-r--r--libz/tests/minigzip/testscript39
8 files changed, 96 insertions, 0 deletions
diff --git a/libz/tests/.gitignore b/libz/tests/.gitignore
new file mode 100644
index 0000000..2e508a9
--- /dev/null
+++ b/libz/tests/.gitignore
@@ -0,0 +1,3 @@
+driver
+test/
+test-*/
diff --git a/libz/tests/build/.gitignore b/libz/tests/build/.gitignore
new file mode 100644
index 0000000..4a730a3
--- /dev/null
+++ b/libz/tests/build/.gitignore
@@ -0,0 +1,3 @@
+config.build
+root/
+bootstrap/
diff --git a/libz/tests/build/bootstrap.build b/libz/tests/build/bootstrap.build
new file mode 100644
index 0000000..5cdd64e
--- /dev/null
+++ b/libz/tests/build/bootstrap.build
@@ -0,0 +1,9 @@
+# file : tests/build/bootstrap.build
+# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd
+# license : zlib License; see accompanying LICENSE file
+
+project = # Unnamed subproject.
+
+using config
+using dist
+using test
diff --git a/libz/tests/build/root.build b/libz/tests/build/root.build
new file mode 100644
index 0000000..3f268d9
--- /dev/null
+++ b/libz/tests/build/root.build
@@ -0,0 +1,22 @@
+# file : tests/build/root.build
+# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd
+# license : zlib License; see accompanying LICENSE file
+
+using c
+
+h{*}: extension = h
+c{*}: extension = c
+
+if ($c.target.system == 'win32-msvc')
+ c.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS
+
+if ($c.class == 'msvc')
+ c.coptions += /wd4251 /wd4275 /wd4800
+
+# Every exe{} in this subproject is by default a test.
+#
+exe{*}: test = true
+
+# Specify the test target for cross-testing.
+#
+test.target = $c.target
diff --git a/libz/tests/buildfile b/libz/tests/buildfile
new file mode 100644
index 0000000..6192ac9
--- /dev/null
+++ b/libz/tests/buildfile
@@ -0,0 +1,5 @@
+# file : tests/buildfile
+# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd
+# license : zlib License; see accompanying LICENSE file
+
+./: {*/ -build/}
diff --git a/libz/tests/minigzip/buildfile b/libz/tests/minigzip/buildfile
new file mode 100644
index 0000000..4f9e780
--- /dev/null
+++ b/libz/tests/minigzip/buildfile
@@ -0,0 +1,14 @@
+# file : tests/minigzip/buildfile
+# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd
+# license : zlib License; see accompanying LICENSE file
+
+import libs = libz%lib{z}
+
+exe{driver}: {h c}{*} $libs testscript
+
+# Disable MSVC warnings that pop up with /W3 and Clang/MSVC warnings.
+#
+if ($c.class == 'msvc')
+ c.coptions += /wd4267 /wd4996
+elif ($c.id == 'clang' && $c.target.system == 'win32-msvc')
+ c.coptions += -Wno-deprecated-declarations
diff --git a/libz/tests/minigzip/minigzip.c b/libz/tests/minigzip/minigzip.c
new file mode 120000
index 0000000..a3b7d69
--- /dev/null
+++ b/libz/tests/minigzip/minigzip.c
@@ -0,0 +1 @@
+../../../upstream/test/minigzip.c \ No newline at end of file
diff --git a/libz/tests/minigzip/testscript b/libz/tests/minigzip/testscript
new file mode 100644
index 0000000..c633b56
--- /dev/null
+++ b/libz/tests/minigzip/testscript
@@ -0,0 +1,39 @@
+# file : tests/minigzip/testscript
+# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd
+# license : zlib License; see accompanying LICENSE file
+
+s='abcdefghijklmnopqrstuvwxz0123456789'
+s="$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s"
+s="$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s"
+
+: max-compression
+:
+{
+ cat <"$s" >=in &!in;
+ $* -9 in &in.gz;
+ $* -d -c in.gz >"$s"
+}
+
+: filtered
+:
+{
+ cat <"$s" >=in &!in;
+ $* -f in &in.gz;
+ $* -d -c in.gz >"$s"
+}
+
+: huffman
+:
+{
+ cat <"$s" >=in &!in;
+ $* -h in &in.gz;
+ $* -d -c in.gz >"$s"
+}
+
+: rle
+:
+{
+ cat <"$s" >=in &!in;
+ $* -r in &in.gz;
+ $* -d -c in.gz >"$s"
+}