summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-05-03 14:36:16 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-05-03 14:36:16 +0200
commitd43b31df6b84e54d0d657fd27b2f2b5734d8f162 (patch)
tree72ab62a643abacbf302a92280800af9bd9f58213 /tests
parent5380c605440db063f8b80a2a48b326a8ce9b0d93 (diff)
Add a simple test script for the gensquashfs packdir + allroot use case
Since this is a fairly common use case, it deserves a simple test case to check out that e.g. option processing hasn't been botched up (again). As input directory, the licenses directory is used as it contains no intermediate build output and should change fairly infrequently. The test is enabled irregardless of the corpora-test option. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tests')
-rw-r--r--tests/Makemodule.am4
-rwxr-xr-xtests/pack_dir_root.sh.in23
-rw-r--r--tests/pack_dir_root.txt.ref9
3 files changed, 36 insertions, 0 deletions
diff --git a/tests/Makemodule.am b/tests/Makemodule.am
index f4aca03..14a2cb1 100644
--- a/tests/Makemodule.am
+++ b/tests/Makemodule.am
@@ -127,6 +127,9 @@ TESTS += test_tar_gnu test_tar_sparse_gnu test_tar_sparse_gnu1
TESTS += test_tar_sparse_gnu2 test_tar_xattr_bsd test_tar_xattr_schily
TESTS += test_tar_xattr_schily_bin
+check_SCRIPTS += tests/pack_dir_root.sh
+TESTS += tests/pack_dir_root.sh
+
if CORPORA_TESTS
check_SCRIPTS += tests/cantrbry.sh tests/test_tar_sqfs.sh
TESTS += tests/cantrbry.sh tests/test_tar_sqfs.sh
@@ -137,3 +140,4 @@ EXTRA_DIST += $(top_srcdir)/tests/tar $(top_srcdir)/tests/words.txt
EXTRA_DIST += $(top_srcdir)/tests/fstree1.txt
EXTRA_DIST += $(top_srcdir)/tests/corpus/cantrbry.tar.xz
EXTRA_DIST += $(top_srcdir)/tests/corpus/cantrbry.sha512
+EXTRA_DIST += $(top_srcdir)/tests/pack_dir_root.txt.ref
diff --git a/tests/pack_dir_root.sh.in b/tests/pack_dir_root.sh.in
new file mode 100755
index 0000000..ad0a085
--- /dev/null
+++ b/tests/pack_dir_root.sh.in
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+LICDIR="@abs_top_srcdir@/licenses"
+REFFILE="@abs_top_srcdir@/tests/pack_dir_root.txt.ref"
+GENSQFS="@abs_top_builddir@/gensquashfs"
+RDSQFS="@abs_top_builddir@/rdsquashfs"
+IMAGE="pack_dir_root.sqfs"
+SED="@SED@"
+
+if [ ! -f "$GENSQFS" -a -f "${GENSQFS}.exe" ]; then
+ GENSQFS="${GENSQFS}.exe"
+ RDSQFS="${RDSQFS}.exe"
+fi
+
+"$GENSQFS" --all-root --pack-dir "$LICDIR" --defaults mtime=0 \
+ -c gzip -q "$IMAGE"
+
+"$RDSQFS" -l / "$IMAGE" | "$SED" 's/^-[rwx-]* //g' > "${IMAGE}.txt"
+
+diff "$REFFILE" "${IMAGE}.txt"
+rm "$IMAGE" "${IMAGE}.txt"
diff --git a/tests/pack_dir_root.txt.ref b/tests/pack_dir_root.txt.ref
new file mode 100644
index 0000000..7addf59
--- /dev/null
+++ b/tests/pack_dir_root.txt.ref
@@ -0,0 +1,9 @@
+0/0 18k GPLv2.txt
+0/0 34k GPLv3.txt
+0/0 7k LGPLv3.txt
+0/0 1k LZ4.txt
+0/0 1k hash_table.txt
+0/0 1k xxhash.txt
+0/0 768 xz.txt
+0/0 983 zlib.txt
+0/0 1k zstd.txt