| |
| TESTS=$* |
| |
| if test "$TESTS"x = x ; then |
| for i in $SRCDIR/tests/*.img.bz2 |
| do |
| TESTS="$TESTS `basename $i .img.bz2`" |
| done |
| fi |
| |
| mkdir -p tests/tmp |
| |
| for i in $TESTS |
| do |
| printf "%s: " $i |
| RESULTS=$SRCDIR/tests/$i.results |
| IMAGE_BZ2=$SRCDIR/tests/$i.img.bz2 |
| IMAGE=tests/tmp/$i.img.$$ |
| if test ! -f $IMAGE_BZ2 -a ! -f $RESULTS ; |
| then |
| echo "non-existent" |
| continue |
| fi |
| if [ "$i" = "swap0" ]; then |
| # swap is native-endian, so regenerate before testing |
| dd if=/dev/zero of=$IMAGE bs=16k count=64 2> /dev/null |
| mkswap -v0 $IMAGE > /dev/null |
| elif [ "$i" = "swap1" ]; then |
| # swap is native-endian, so regenerate before testing |
| dd if=/dev/zero of=$IMAGE bs=16k count=64 2> /dev/null |
| # check if mkswap supports the "-U" option |
| if mkswap -h 2>&1 | grep -q -- '-U'; then |
| UUID="-U 8ff8e77f-8553-485e-8656-58be67a81666" |
| else |
| RMUUID="| grep -v UUID" |
| RES_TMP=$SRCDIR/tests/tmp/$i.results |
| grep -v UUID $RESULTS > $RES_TMP |
| RESULTS=$RES_TMP |
| fi |
| mkswap -v1 -L SWAP-TEST $UUID $IMAGE >/dev/null |
| else |
| bunzip2 < $IMAGE_BZ2 > $IMAGE |
| fi |
| eval ./tst_probe $IMAGE $RMUUID > tests/$i.out |
| rm -f $IMAGE tests/$i.ok tests/$i.failed |
| cmp -s tests/$i.out $RESULTS |
| unset RMUUID |
| if [ $? = 0 ]; then |
| echo ok |
| touch tests/$i.ok |
| else |
| echo failed |
| diff -c tests/$i.out $RESULTS > tests/$i.failed |
| fi |
| done |
| |
| num_ok=`ls tests/*.ok 2>/dev/null | wc -l` |
| num_failed=`ls tests/*.failed 2>/dev/null | wc -l` |
| |
| echo "$num_ok tests succeeded $num_failed tests failed" |
| |
| test "$num_failed" -eq 0 || exit 1 |