aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2010-10-08 15:32:29 +0300
committerLasse Collin <lasse.collin@tukaani.org>2010-10-08 15:32:29 +0300
commit11f51b6714357cb67ec7e56ed9575c199b5581fe (patch)
treec45bc39473069c6f6e199bd5a248a04943354a31 /tests
parentBuild: Add options to disable individual command line tools. (diff)
downloadxz-11f51b6714357cb67ec7e56ed9575c199b5581fe.tar.xz
Make tests accommodate missing xz or xzdec.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/test_compress.sh47
-rwxr-xr-xtests/test_files.sh28
2 files changed, 56 insertions, 19 deletions
diff --git a/tests/test_compress.sh b/tests/test_compress.sh
index c88ebe15..62da0f92 100755
--- a/tests/test_compress.sh
+++ b/tests/test_compress.sh
@@ -9,6 +9,14 @@
#
###############################################################################
+# If xz wasn't built, this test is skipped.
+if test -x ../src/xz/xz ; then
+ :
+else
+ (exit 77)
+ exit 77
+fi
+
# Find out if our shell supports functions.
eval 'unset foo ; foo() { return 42; } ; foo'
if test $? != 42 ; then
@@ -29,7 +37,7 @@ test_xz() {
if $XZ -cd tmp_compressed > tmp_uncompressed ; then
:
else
- echo "Decoding failed: $* $FILE"
+ echo "Decompressing failed: $* $FILE"
(exit 1)
exit 1
fi
@@ -37,25 +45,29 @@ test_xz() {
if cmp tmp_uncompressed "$FILE" ; then
:
else
- echo "Decoded file does not match the original: $* $FILE"
+ echo "Decompressed file does not match" \
+ "the original: $* $FILE"
(exit 1)
exit 1
fi
- if $XZDEC tmp_compressed > tmp_uncompressed ; then
- :
- else
- echo "Decoding failed: $* $FILE"
- (exit 1)
- exit 1
- fi
-
- if cmp tmp_uncompressed "$FILE" ; then
- :
- else
- echo "Decoded file does not match the original: $* $FILE"
- (exit 1)
- exit 1
+ if test -n "$XZDEC" ; then
+ if $XZDEC tmp_compressed > tmp_uncompressed ; then
+ :
+ else
+ echo "Decompressing failed: $* $FILE"
+ (exit 1)
+ exit 1
+ fi
+
+ if cmp tmp_uncompressed "$FILE" ; then
+ :
+ else
+ echo "Decompressed file does not match" \
+ "the original: $* $FILE"
+ (exit 1)
+ exit 1
+ fi
fi
# Show progress:
@@ -65,6 +77,7 @@ test_xz() {
XZ="../src/xz/xz --memlimit-compress=48MiB --memlimit-decompress=5MiB \
--no-adjust --threads=1 --check=crc64"
XZDEC="../src/xzdec/xzdec" # No memory usage limiter available
+test -x ../src/xzdec/xzdec || XZDEC=
# Create the required input files.
if ./create_compress_files ; then
@@ -80,7 +93,7 @@ fi
rm -f tmp_compressed tmp_uncompressed
trap 'rm -f tmp_compressed tmp_uncompressed' 0
-# Encode and decode each file with various filter configurations.
+# Compress and decompress each file with various filter configurations.
# This takes quite a bit of time.
echo "test_compress.sh:"
for FILE in compress_generated_* "$srcdir"/compress_prepared_*
diff --git a/tests/test_files.sh b/tests/test_files.sh
index 7dd9a390..4eb97969 100755
--- a/tests/test_files.sh
+++ b/tests/test_files.sh
@@ -9,9 +9,27 @@
#
###############################################################################
+# If both xz and xzdec were not build, skip this test.
+XZ=../src/xz/xz
+XZDEC=../src/xzdec/xzdec
+test -x "$XZ" || XZ=
+test -x "$XZDEC" || XZDEC=
+if test -z "$XZ$XZDEC"; then
+ (exit 77)
+ exit 77
+fi
+
for I in "$srcdir"/files/good-*.xz
do
- if ../src/xzdec/xzdec "$I" > /dev/null 2> /dev/null ; then
+ if test -z "$XZ" || "$XZ" -dc "$I" > /dev/null 2>&1; then
+ :
+ else
+ echo "Good file failed: $I"
+ (exit 1)
+ exit 1
+ fi
+
+ if test -z "$XZDEC" || "$XZDEC" "$I" > /dev/null 2>&1; then
:
else
echo "Good file failed: $I"
@@ -22,7 +40,13 @@ done
for I in "$srcdir"/files/bad-*.xz
do
- if ../src/xzdec/xzdec "$I" > /dev/null 2> /dev/null ; then
+ if test -n "$XZ" && "$XZ" -dc "$I" > /dev/null 2>&1; then
+ echo "Bad file succeeded: $I"
+ (exit 1)
+ exit 1
+ fi
+
+ if test -n "$XZDEC" && "$XZDEC" "$I" > /dev/null 2>&1; then
echo "Bad file succeeded: $I"
(exit 1)
exit 1