aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2014-06-13 18:58:22 +0300
committerLasse Collin <lasse.collin@tukaani.org>2014-06-13 18:58:22 +0300
commit4244b65b06d5ecaf6f9dd0387ac7e3166bd2364e (patch)
tree7f955e947ba7129770a3af59b86feeb0b2491cc5
parentxzgrep: Add a test for the previous fix. (diff)
downloadxz-4244b65b06d5ecaf6f9dd0387ac7e3166bd2364e.tar.xz
xzgrep: Improve the test script.
Now it should be close to the functionality of the original version by Pavel Raiskup.
-rw-r--r--tests/Makefile.am3
-rwxr-xr-xtests/test_scripts.sh24
-rw-r--r--tests/xzgrep_expected_output39
3 files changed, 55 insertions, 11 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c4e17ed1..8223a189 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -52,4 +52,5 @@ TESTS += test_scripts.sh
endif
clean-local:
- -rm -f compress_generated_*
+ -rm -f compress_generated_* \
+ xzgrep_test_output xzgrep_test_1.xz xzgrep_test_2.xz
diff --git a/tests/test_scripts.sh b/tests/test_scripts.sh
index 7ac1fea8..48a9308a 100755
--- a/tests/test_scripts.sh
+++ b/tests/test_scripts.sh
@@ -54,19 +54,23 @@ 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.
+cp "$srcdir/files/good-1-lzma2-1.xz" xzgrep_test_1.xz
+cp "$srcdir/files/good-2-lzma2.xz" xzgrep_test_2.xz
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
+ echo "=> xzgrep $opts $pattern <="
+ "$XZGREP" $opts $pattern xzgrep_test_1.xz xzgrep_test_2.xz
+ echo retval $?
done
-done
+done > xzgrep_test_output 2>&1
+
+if cmp -s "$srcdir/xzgrep_expected_output" xzgrep_test_output ; then
+ :
+else
+ echo "unexpected output from xzgrep"
+ (exit 1)
+ exit 1
+fi
(exit 0)
exit 0
diff --git a/tests/xzgrep_expected_output b/tests/xzgrep_expected_output
new file mode 100644
index 00000000..e531d931
--- /dev/null
+++ b/tests/xzgrep_expected_output
@@ -0,0 +1,39 @@
+=> xzgrep el <=
+xzgrep_test_1.xz:elit, sed do eiusmod tempor incididunt ut
+xzgrep_test_1.xz:in voluptate velit esse cillum dolore eu
+xzgrep_test_2.xz:Hello
+retval 0
+=> xzgrep -l el <=
+xzgrep_test_1.xz
+xzgrep_test_2.xz
+retval 0
+=> xzgrep -h el <=
+elit, sed do eiusmod tempor incididunt ut
+in voluptate velit esse cillum dolore eu
+Hello
+retval 0
+=> xzgrep -H el <=
+xzgrep_test_1.xz:elit, sed do eiusmod tempor incididunt ut
+xzgrep_test_1.xz:in voluptate velit esse cillum dolore eu
+xzgrep_test_2.xz:Hello
+retval 0
+=> xzgrep Hello <=
+xzgrep_test_2.xz:Hello
+retval 0
+=> xzgrep -l Hello <=
+xzgrep_test_2.xz
+retval 0
+=> xzgrep -h Hello <=
+Hello
+retval 0
+=> xzgrep -H Hello <=
+xzgrep_test_2.xz:Hello
+retval 0
+=> xzgrep NOMATCH <=
+retval 1
+=> xzgrep -l NOMATCH <=
+retval 1
+=> xzgrep -h NOMATCH <=
+retval 1
+=> xzgrep -H NOMATCH <=
+retval 1