| #!/bin/sh |
| |
| ############################################################################### |
| # |
| # Author: Jonathan Nieder |
| # |
| # This file has been put into the public domain. |
| # You can do whatever you want with this file. |
| # |
| ############################################################################### |
| |
| # If scripts weren't built, this test is skipped. |
| XZ=../src/xz/xz |
| XZDIFF=../src/scripts/xzdiff |
| XZGREP=../src/scripts/xzgrep |
| |
| for i in XZ XZDIFF XZGREP; do |
| eval test -x "\$$i" && continue |
| (exit 77) |
| exit 77 |
| 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 |
| |
| "$XZDIFF" "$preimage" "$samepostimage" >/dev/null |
| status=$? |
| if test "$status" != 0 ; then |
| echo "xzdiff with no changes exited with status $status != 0" |
| (exit 1) |
| exit 1 |
| fi |
| |
| "$XZDIFF" "$preimage" "$otherpostimage" >/dev/null |
| status=$? |
| if test "$status" != 1 ; then |
| echo "xzdiff with changes exited with status $status != 1" |
| (exit 1) |
| exit 1 |
| fi |
| |
| "$XZDIFF" "$preimage" "$srcdir/files/missing.xz" >/dev/null 2>&1 |
| status=$? |
| if test "$status" != 2 ; then |
| echo "xzdiff with missing operand exited with status $status != 2" |
| (exit 1) |
| 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. |
| 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 |
| echo "=> xzgrep $opts $pattern <=" |
| "$XZGREP" $opts $pattern xzgrep_test_1.xz xzgrep_test_2.xz |
| echo retval $? |
| 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 |