summaryrefslogtreecommitdiff
path: root/tests/test_tar_sqfs.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_tar_sqfs.sh.in')
-rwxr-xr-xtests/test_tar_sqfs.sh.in15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/test_tar_sqfs.sh.in b/tests/test_tar_sqfs.sh.in
index 2c8e675..c23a217 100755
--- a/tests/test_tar_sqfs.sh.in
+++ b/tests/test_tar_sqfs.sh.in
@@ -3,6 +3,7 @@
set -e
TARDIR="@abs_top_srcdir@/tests/tar"
+TARDIR2="@abs_top_srcdir@/tests/tar2sqfs"
SHA512FILE="@abs_top_srcdir@/tests/tar/sqfs.sha512"
TAR2SQFS="@abs_top_builddir@/tar2sqfs"
@@ -10,6 +11,7 @@ if [ ! -f "$TAR2SQFS" -a -f "${TAR2SQFS}.exe" ]; then
TAR2SQFS="${TAR2SQFS}.exe"
fi
+# process tar files used for conformance tests
for filename in $(find "$TARDIR" -name "*.tar" | grep -v ".*/file-size/.*"); do
dir="$(dirname $filename | sed -n -e 's;.*/tests/;tests/;p')"
imgname="$dir/$(basename $filename .tar).sqfs"
@@ -18,8 +20,21 @@ for filename in $(find "$TARDIR" -name "*.tar" | grep -v ".*/file-size/.*"); do
"$TAR2SQFS" --defaults mtime=0 -c gzip -q "$imgname" < "$filename"
done
+# edge case test
+filename="$TARDIR2/simple.tar"
+dir="$(dirname $filename | sed -n -e 's;.*/tests/;tests/;p')"
+imgname="$dir/root-becomes.sqfs"
+
+mkdir -p "$dir"
+"$TAR2SQFS" --root-becomes foo --defaults mtime=0 \
+ -c gzip -q "$imgname" < "$filename"
+
+# verify
sha512sum -c "$SHA512FILE"
+# cleanup
+rm "$dir/root-becomes.sqfs"
+
for filename in $(find "$TARDIR" -name "*.tar" | grep -v ".*/file-size/.*"); do
dir="$(dirname $filename | sed -n -e 's;.*/tests/;tests/;p')"
imgname="$dir/$(basename $filename .tar).sqfs"