diff options
Diffstat (limited to 'tests/run_e2fsck')
-rw-r--r-- | tests/run_e2fsck | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/tests/run_e2fsck b/tests/run_e2fsck index 9202e121..5f28d921 100644 --- a/tests/run_e2fsck +++ b/tests/run_e2fsck @@ -1,5 +1,5 @@ if [ "$DESCRIPTION"x != x ]; then - printf "%s" "$DESCRIPTION: " + test_description="$DESCRIPTION" fi if [ "$IMAGE"x = x ]; then IMAGE=$test_dir/image.gz @@ -23,7 +23,7 @@ fi if [ "$EXP1"x = x ]; then if [ -f $test_dir/expect.1.gz ]; then - EXP1=tmp_expect + EXP1=$test_name.1.tmp gunzip < $test_dir/expect.1.gz > $EXP1 else EXP1=$test_dir/expect.1 @@ -32,7 +32,7 @@ fi if [ "$EXP2"x = x ]; then if [ -f $test_dir/expect.2.gz ]; then - EXP2=tmp_expect + EXP2=$test_name.2.tmp gunzip < $test_dir/expect.2.gz > $EXP2 else EXP2=$test_dir/expect.2 @@ -50,25 +50,19 @@ eval $PREP_CMD $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' | \ - sed -e "s;$TMPFILE;test.img;" | tr -d \\015 >> $OUT1 +sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $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' | \ - sed -e "s;$TMPFILE;test.img;" > $OUT2 + sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT2.new > $OUT2 rm -f $OUT2.new fi eval $AFTER_CMD -if [ "$SKIP_UNLINK" != "true" ] ; then - rm $TMPFILE -fi - if [ "$SKIP_VERIFY" != "true" ] ; then rm -f $test_name.ok $test_name.failed cmp -s $OUT1 $EXP1 @@ -79,13 +73,30 @@ 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 [ "$status1" = 0 -a "$status2" = 0 ] ; then - echo "ok" + if [ -z "$test_description" ] ; then + description="$test_name" + else + description="$test_name: $test_description" + fi + + if [ "$status1" -eq 0 -a "$status2" -eq 0 -a "$status3" -eq 0 ] ; then + echo "$description: ok" touch $test_name.ok else - echo "failed" - diff $DIFF_OPTS $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 $DIFF_OPTS $EXP2 $OUT2 >> $test_name.failed fi @@ -96,6 +107,6 @@ fi if [ "$SKIP_CLEANUP" != "true" ] ; then 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 + unset DESCRIPTION SKIP_UNLINK AFTER_CMD PASS_ZERO fi |