if [ "$DESCRIPTION"x != x ]; then test_description="$DESCRIPTION" fi if [ "$IMAGE"x = x ]; then IMAGE=$test_dir/image.gz fi if [ "$FSCK_OPT"x = x ]; then FSCK_OPT=-yf fi if [ "$SECOND_FSCK_OPT"x = x ]; then SECOND_FSCK_OPT=-yf fi if [ "$OUT1"x = x ]; then OUT1=$test_name.1.log fi if [ "$OUT2"x = x ]; then OUT2=$test_name.2.log fi if [ "$EXP1"x = x ]; then 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 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 cp /dev/null $OUT1 eval $PREP_CMD echo 'stat /a' > $TMPFILE.cmd echo 'ex /zero' >> $TMPFILE.cmd $DEBUGFS -f $TMPFILE.cmd $TMPFILE > $OUT1.new 2>&1 rm -rf $TMPFILE.cmd $TUNE2FS -O extent $TMPFILE >> $OUT1.new 2>&1 $FSCK $FSCK_OPT -E bmap2extent -N test_filesys $TMPFILE >> $OUT1.new 2>&1 status=$? echo Exit status is $status >> $OUT1.new sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT1.new >> $OUT1 rm -f $OUT1.new $FSCK $SECOND_FSCK_OPT -N test_filesys $TMPFILE > $OUT2.new 2>&1 status=$? echo Exit status is $status >> $OUT2.new echo 'ex /a' > $TMPFILE.cmd echo 'ex /zero' >> $TMPFILE.cmd $DEBUGFS -f $TMPFILE.cmd $TMPFILE >> $OUT2.new 2>&1 rm -rf $TMPFILE.cmd sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT2.new > $OUT2 rm -f $OUT2.new eval $AFTER_CMD if [ "$SKIP_VERIFY" != "true" ] ; then rm -f $test_name.ok $test_name.failed cmp -s $OUT1 $EXP1 status1=$? if [ "$ONE_PASS_ONLY" != "true" ]; then cmp -s $OUT2 $EXP2 status2=$? 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" -eq 0 -a "$status2" -eq 0 -a "$status3" -eq 0 ] ; then echo "$description: ok" touch $test_name.ok else 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 fi rm -f tmp_expect 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 PASS_ZERO fi