summaryrefslogtreecommitdiff
path: root/tests/run_e2fsck
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run_e2fsck')
-rw-r--r--tests/run_e2fsck43
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