]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blobdiff - tests/run_e2fsck
debian: add Build-Depend-Package to the symbol files
[thirdparty/e2fsprogs.git] / tests / run_e2fsck
index 2797ae9a5643727bcea698ae9c6e1b13b183db36..e2c6596837b3cd4d36b807e010b100d0bb415c4e 100644 (file)
@@ -1,3 +1,6 @@
+if [ "$DESCRIPTION"x != x ]; then
+       test_description="$DESCRIPTION"
+fi
 if [ "$IMAGE"x = x ]; then
        IMAGE=$test_dir/image.gz
 fi
@@ -19,32 +22,46 @@ if [ "$OUT2"x = x ]; then
 fi
 
 if [ "$EXP1"x = x ]; then
-       EXP1=$test_dir/expect.1
+       if [ -f $test_dir/expect.1.gz ]; then
+               EXP1=$test_name.1.tmp
+               gunzip < $test_dir/expect.1.gz > $EXP1
+       else
+               EXP1=$test_dir/expect.1
+       fi
 fi
 
 if [ "$EXP2"x = x ]; then
-       EXP2=$test_dir/expect.2
+       if [ -f $test_dir/expect.2.gz ]; then
+               EXP2=$test_name.2.tmp
+               gunzip < $test_dir/expect.2.gz > $EXP2
+       else
+               EXP2=$test_dir/expect.2
+       fi
+fi
+
+if [ "$SKIP_GUNZIP" != "true" ] ; then
+       gunzip < $IMAGE > $TMPFILE
 fi
 
-gunzip < $IMAGE > $TMPFILE
+cp /dev/null $OUT1
 
 eval $PREP_CMD
 
-$FSCK $FSCK_OPT  -N test_filesys $TMPFILE > $OUT1.new 2>&1
+$FSCK $FSCK_OPT  -N test_filesys $TMPFILE >> $OUT1.new 2>&1
 status=$?
 echo Exit status is $status >> $OUT1.new
-sed -e '1d' $OUT1.new | sed -e '/^JFS DEBUG:/d'  | tr -d \\015 > $OUT1
+sed -f $cmd_dir/filter.sed $OUT1.new >> $OUT1
 rm -f $OUT1.new
 
 if [ "$ONE_PASS_ONLY" != "true" ]; then
        $FSCK $SECOND_FSCK_OPT -N test_filesys $TMPFILE > $OUT2.new 2>&1 
        status=$?
        echo Exit status is $status >> $OUT2.new
-       sed -e '1d' $OUT2.new | sed -e '/^JFS DEBUG:/d'  > $OUT2
+       sed -f $cmd_dir/filter.sed $OUT2.new > $OUT2
        rm -f $OUT2.new
 fi
 
-rm $TMPFILE
+eval $AFTER_CMD
 
 if [ "$SKIP_VERIFY" != "true" ] ; then
        rm -f $test_name.ok $test_name.failed
@@ -56,20 +73,40 @@ if [ "$SKIP_VERIFY" != "true" ] ; then
        else
                status2=0
        fi
+       if [ "$PASS_ZERO" = "true" ]; then
+               cmp -s $test_name.0.log $test_dir/expect.0
+               status3=$?
+       else
+               status3=0
+       fi
+
+       if [ -z "$test_description" ] ; then
+               description="$test_name"
+       else
+               description="$test_name: $test_description"
+       fi
 
-       if [ "$status1" = 0 -a "$status2" = 0 ] ; then
-               echo "ok"
+       if [ "$status1" -eq 0 -a "$status2" -eq 0 -a "$status3" -eq 0 ] ; then
+               echo "$description: ok"
                touch $test_name.ok
        else
-               echo "failed"
-               diff -c $EXP1 $OUT1 > $test_name.failed
+               echo "$description: failed"
+               rm -f $test_name.failed
+               if [ "$PASS_ZERO" = "true" ]; then
+                       diff $DIFF_OPTS $test_dir/expect.0 \
+                               $test_name.0.log >> $test_name.failed
+               fi
+               diff $DIFF_OPTS $EXP1 $OUT1 >> $test_name.failed
                if [ "$ONE_PASS_ONLY" != "true" ]; then
-                       diff -c $EXP2 $OUT2 >> $test_name.failed
+                       diff $DIFF_OPTS $EXP2 $OUT2 >> $test_name.failed
                fi
        fi
+       rm -f tmp_expect
 fi
 
 if [ "$SKIP_CLEANUP" != "true" ] ; then
-       unset IMAGE FSCK_OPT SECOND_FSCK_OPT OUT1 OUT2 EXP1 EXP2 ONE_PASS_ONLY PREP_CMD
+       unset IMAGE FSCK_OPT SECOND_FSCK_OPT OUT1 OUT2 EXP1 EXP2 
+       unset SKIP_VERIFY SKIP_CLEANUP SKIP_GUNZIP ONE_PASS_ONLY PREP_CMD
+       unset DESCRIPTION SKIP_UNLINK AFTER_CMD PASS_ZERO
 fi