aboutsummaryrefslogtreecommitdiff
path: root/tests/tar2sqfs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tar2sqfs')
-rw-r--r--tests/tar2sqfs/Makemodule.am7
-rw-r--r--tests/tar2sqfs/sqfs.sha51228
-rwxr-xr-xtests/tar2sqfs/test_tar_sqfs.sh.in44
3 files changed, 79 insertions, 0 deletions
diff --git a/tests/tar2sqfs/Makemodule.am b/tests/tar2sqfs/Makemodule.am
new file mode 100644
index 0000000..738c607
--- /dev/null
+++ b/tests/tar2sqfs/Makemodule.am
@@ -0,0 +1,7 @@
+if BUILD_TOOLS
+check_SCRIPTS += tests/tar2sqfs/test_tar_sqfs.sh
+TESTS += tests/tar2sqfs/test_tar_sqfs.sh
+endif
+
+EXTRA_DIST += $(top_srcdir)/tests/tar2sqfs/simple.tar
+EXTRA_DIST += $(top_srcdir)/tests/tar2sqfs/sqfs.sha512
diff --git a/tests/tar2sqfs/sqfs.sha512 b/tests/tar2sqfs/sqfs.sha512
new file mode 100644
index 0000000..a653090
--- /dev/null
+++ b/tests/tar2sqfs/sqfs.sha512
@@ -0,0 +1,28 @@
+6217c207d51e38bd819ff70047a070d0172c2e1cc97ba5feb578a2429d1c911bd7990ea845b28389a956754e52e5693beba38c124bf6d7452522361a81c2da09 tests/libtar/data/long-paths/gnu.sqfs
+6217c207d51e38bd819ff70047a070d0172c2e1cc97ba5feb578a2429d1c911bd7990ea845b28389a956754e52e5693beba38c124bf6d7452522361a81c2da09 tests/libtar/data/long-paths/pax.sqfs
+6217c207d51e38bd819ff70047a070d0172c2e1cc97ba5feb578a2429d1c911bd7990ea845b28389a956754e52e5693beba38c124bf6d7452522361a81c2da09 tests/libtar/data/long-paths/ustar.sqfs
+2e2cd5fa04304c5765d7bb54c30273be6cd7414150ae95d217efcec1fbaa7486b4e752adb95e0dddd5329355132baaa7260dc958eb4418158a249929e89b0581 tests/libtar/data/sparse-files/gnu-small.sqfs
+f48a79c58db4d3553ffde5bd3780bb34c12fd0ee703aba95a40588c1cf7b5a679ea16d2a842a11e262bd14c2f0b4dd256436dcfc72a177a455427f93b504eae6 tests/libtar/data/sparse-files/gnu.sqfs
+f48a79c58db4d3553ffde5bd3780bb34c12fd0ee703aba95a40588c1cf7b5a679ea16d2a842a11e262bd14c2f0b4dd256436dcfc72a177a455427f93b504eae6 tests/libtar/data/sparse-files/pax-gnu0-1.sqfs
+f48a79c58db4d3553ffde5bd3780bb34c12fd0ee703aba95a40588c1cf7b5a679ea16d2a842a11e262bd14c2f0b4dd256436dcfc72a177a455427f93b504eae6 tests/libtar/data/sparse-files/pax-gnu0-0.sqfs
+f48a79c58db4d3553ffde5bd3780bb34c12fd0ee703aba95a40588c1cf7b5a679ea16d2a842a11e262bd14c2f0b4dd256436dcfc72a177a455427f93b504eae6 tests/libtar/data/sparse-files/pax-gnu1-0.sqfs
+194384a9a3683ef751f45ca9f380790b3bd9c234a839ff72b09c778f96fe521be9d816c7d3179edf936ec35cd66fad2485b03482468629baa3290a1475c72147 tests/libtar/data/large-mtime/12-digit.sqfs
+194384a9a3683ef751f45ca9f380790b3bd9c234a839ff72b09c778f96fe521be9d816c7d3179edf936ec35cd66fad2485b03482468629baa3290a1475c72147 tests/libtar/data/large-mtime/gnu.sqfs
+194384a9a3683ef751f45ca9f380790b3bd9c234a839ff72b09c778f96fe521be9d816c7d3179edf936ec35cd66fad2485b03482468629baa3290a1475c72147 tests/libtar/data/large-mtime/pax.sqfs
+c40037ae4a4b4224a919cf18c238d5a6b13f17fcca2602810e870e7606435f61426417cda32dd9bca85e74ec6c0fc75c996f60ec8b4560e79c83631937b6cdfa tests/libtar/data/negative-mtime/gnu.sqfs
+c40037ae4a4b4224a919cf18c238d5a6b13f17fcca2602810e870e7606435f61426417cda32dd9bca85e74ec6c0fc75c996f60ec8b4560e79c83631937b6cdfa tests/libtar/data/negative-mtime/pax.sqfs
+d3d112eab3537f6784a207d0bfd8f2826908fbddb3cf20e379a646c6c587c8bbaa67a1753a4ee0246c110dc10bd0ce821fa58368936efac3a1bbf8fd3f782e2b tests/libtar/data/format-acceptance/gnu-g.sqfs
+d3d112eab3537f6784a207d0bfd8f2826908fbddb3cf20e379a646c6c587c8bbaa67a1753a4ee0246c110dc10bd0ce821fa58368936efac3a1bbf8fd3f782e2b tests/libtar/data/format-acceptance/gnu.sqfs
+d3d112eab3537f6784a207d0bfd8f2826908fbddb3cf20e379a646c6c587c8bbaa67a1753a4ee0246c110dc10bd0ce821fa58368936efac3a1bbf8fd3f782e2b tests/libtar/data/format-acceptance/ustar-pre-posix.sqfs
+d3d112eab3537f6784a207d0bfd8f2826908fbddb3cf20e379a646c6c587c8bbaa67a1753a4ee0246c110dc10bd0ce821fa58368936efac3a1bbf8fd3f782e2b tests/libtar/data/format-acceptance/v7.sqfs
+d3d112eab3537f6784a207d0bfd8f2826908fbddb3cf20e379a646c6c587c8bbaa67a1753a4ee0246c110dc10bd0ce821fa58368936efac3a1bbf8fd3f782e2b tests/libtar/data/format-acceptance/pax.sqfs
+d3d112eab3537f6784a207d0bfd8f2826908fbddb3cf20e379a646c6c587c8bbaa67a1753a4ee0246c110dc10bd0ce821fa58368936efac3a1bbf8fd3f782e2b tests/libtar/data/format-acceptance/ustar.sqfs
+20eb111e2019eca4f26535e52823593ebf6a6b2c35d7a8779d6e4f92b90cba8e41edaf1f92425b5084adc680a7c0dac758a2f5170e0b4f19db3ea3357fb3080a tests/libtar/data/format-acceptance/link_filled.sqfs
+a5e95c464f41249da9a4156db3a23d30e01652881e839912f632f2614f1775e62a3fed184efbec1a25148f43edf7ba2a92e1136416aca4bf8f3e73a3b137162b tests/libtar/data/user-group-largenum/gnu.sqfs
+428728b2ca26543a9b0e698d1ae4f54463a7912b51248f2bd34627eb20f3abd8469379a5cd71ab6903aedd198ef48c97e66385c22f128e8aa08571f669c4c6c6 tests/libtar/data/user-group-largenum/8-digit.sqfs
+a5e95c464f41249da9a4156db3a23d30e01652881e839912f632f2614f1775e62a3fed184efbec1a25148f43edf7ba2a92e1136416aca4bf8f3e73a3b137162b tests/libtar/data/user-group-largenum/pax.sqfs
+6ff3ae611d295fc597db088f82ccd0218220ffb51ed901f0d1027c68d687f917b1601bf096421281fb95df48fb2aa6e5f1dc81caccbaa914cb971e17a2c4d5cd tests/libtar/data/xattr/xattr-schily-binary.sqfs
+627a69ed25f9b5380d269fbe12603818d73b29d6a1155fcf7bebca2ba30ec1cce7b8405394498333f9847f10f0768b80b94b723551dbff10c633d2887e62b804 tests/libtar/data/xattr/xattr-schily.sqfs
+627a69ed25f9b5380d269fbe12603818d73b29d6a1155fcf7bebca2ba30ec1cce7b8405394498333f9847f10f0768b80b94b723551dbff10c633d2887e62b804 tests/libtar/data/xattr/xattr-libarchive.sqfs
+b8e0e1cb41663c3d6278bf214234ac00ae8b86b9bc16d086bd0a7bfa9b0d28d626f70c6a1bd6f05dbbfa46431ce3f4518a4be38caf87b1f071d57edae24c5b10 tests/libtar/data/xattr/acl.sqfs
+bae693082a771c500c2d6b52a8eeb91decd98e90eaae379951bcc80589533ff43b58375f8a7f3de77c35456ee7fb269a6b17e4c29b291475578ba8453f152d0e tests/tar2sqfs/root-becomes.sqfs
diff --git a/tests/tar2sqfs/test_tar_sqfs.sh.in b/tests/tar2sqfs/test_tar_sqfs.sh.in
new file mode 100755
index 0000000..750add4
--- /dev/null
+++ b/tests/tar2sqfs/test_tar_sqfs.sh.in
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+set -e
+
+TARDIR="@abs_top_srcdir@/tests/libtar/data"
+TARDIR2="@abs_top_srcdir@/tests/tar2sqfs"
+SHA512FILE="$TARDIR2/sqfs.sha512"
+TAR2SQFS="@abs_top_builddir@/tar2sqfs"
+
+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"
+
+ mkdir -p "$dir"
+ "$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"
+
+ rm "$imgname"
+ rmdir -p "$dir" || true
+done