Whamcloud - gitweb
libext2fs: fix ext2fs_close() when MMP is not enabled
[tools/e2fsprogs.git] / lib / blkid / test_probe.in
1
2 TESTS=$*
3
4 if test "$TESTS"x = x ; then
5         for i in $SRCDIR/tests/*.img.bz2
6         do
7                 TESTS="$TESTS `basename $i .img.bz2`"
8         done
9 fi
10
11 mkdir -p tests/tmp
12
13 for i in $TESTS
14 do
15         printf "%s: " $i
16         RESULTS=$SRCDIR/tests/$i.results
17         IMAGE_BZ2=$SRCDIR/tests/$i.img.bz2
18         IMAGE=tests/tmp/$i.img.$$
19         if test ! -f $IMAGE_BZ2 -a ! -f $RESULTS ;
20         then
21                 echo "non-existent"
22                 continue
23         fi
24         if [ "$i" = "swap0" ] && which mkswap > /dev/null;  then
25                 # swap is native-endian, so regenerate before testing
26                 dd if=/dev/zero of=$IMAGE bs=16k count=64 2> /dev/null
27                 mkswap -v0 $IMAGE > /dev/null
28         elif [ "$i" = "swap1" ] && which mkswap > /dev/null; then
29                 # swap is native-endian, so regenerate before testing
30                 dd if=/dev/zero of=$IMAGE bs=16k count=64 2> /dev/null
31                 # check if mkswap supports the "-U" option
32                 if mkswap -h 2>&1 | grep -q -- '-U'; then
33                         UUID="-U 8ff8e77f-8553-485e-8656-58be67a81666"
34                 else
35                         RMUUID="| grep -v UUID"
36                         RES_TMP=$SRCDIR/tests/tmp/$i.results
37                         grep -v UUID $RESULTS > $RES_TMP
38                         RESULTS=$RES_TMP
39                 fi
40                 mkswap -v1 -L SWAP-TEST $UUID $IMAGE >/dev/null
41         else
42                 bunzip2 < $IMAGE_BZ2 > $IMAGE
43         fi
44         eval ./tst_probe $IMAGE $RMUUID > tests/$i.out
45         rm -f $IMAGE tests/$i.ok tests/$i.failed
46         cmp -s tests/$i.out $RESULTS
47         unset RMUUID
48         if [ $? = 0 ];  then
49                 echo ok
50                 touch tests/$i.ok
51         else    
52                 echo failed
53                 diff -c tests/$i.out $RESULTS > tests/$i.failed
54         fi
55 done
56
57 num_ok=`ls tests/*.ok 2>/dev/null | wc -l`
58 num_failed=`ls tests/*.failed 2>/dev/null | wc -l`
59
60 echo "$num_ok tests succeeded   $num_failed tests failed"
61
62 test "$num_failed" -eq 0 || exit 1