summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2014-06-11 21:03:25 +0300
committerLasse Collin <lasse.collin@tukaani.org>2014-09-09 19:18:23 +0300
commit948f5865fe65061e215baa8ed63be570bae152ea (patch)
tree0ef89a8acf6f8c85703c5b8cddc81eb5adbdb993
parent64228d0d5cd75af31e5c330cc3a792016413fabf (diff)
downloadxz-948f5865fe65061e215baa8ed63be570bae152ea.tar.gz
xzgrep: Add a test for the previous fix.
This is a simplified version of Pavel Raiskup's original patch.
-rwxr-xr-xtests/test_scripts.sh26
1 files changed, 22 insertions, 4 deletions
diff --git a/tests/test_scripts.sh b/tests/test_scripts.sh
index 293929e..7ac1fea 100755
--- a/tests/test_scripts.sh
+++ b/tests/test_scripts.sh
@@ -12,16 +12,18 @@
# If scripts weren't built, this test is skipped.
XZ=../src/xz/xz
XZDIFF=../src/scripts/xzdiff
-test -x "$XZ" || XZ=
-test -x "$XZDIFF" || XZDIFF=
-if test -z "$XZ" || test -z "$XZDIFF"; then
+XZGREP=../src/scripts/xzgrep
+
+for i in XZ XZDIFF XZGREP; do
+ eval test -x "\$$i" && continue
(exit 77)
exit 77
-fi
+done
PATH=`pwd`/../src/xz:$PATH
export PATH
+test -z "$srcdir" && srcdir=.
preimage=$srcdir/files/good-1-check-crc32.xz
samepostimage=$srcdir/files/good-1-check-crc64.xz
otherpostimage=$srcdir/files/good-1-lzma2-1.xz
@@ -50,5 +52,21 @@ if test "$status" != 2 ; then
exit 1
fi
+# The exit status must be 0 when a match was found at least from one file,
+# and 1 when no match was found in any file.
+for pattern in el Hello NOMATCH; do
+ for opts in "" "-l" "-h" "-H"; do
+ "$XZGREP" $opts $pattern \
+ "$srcdir/files/good-1-lzma2-1.xz" \
+ "$srcdir/files/good-2-lzma2.xz" > /dev/null 2>&1
+ status=$?
+ test $status = 0 && test $pattern != NOMATCH && continue
+ test $status = 1 && test $pattern = NOMATCH && continue
+ echo "wrong exit status from xzgrep"
+ (exit 1)
+ exit 1
+ done
+done
+
(exit 0)
exit 0