if [ "$DESCRIPTION"x != x ]; then
	printf "%s" "$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=tmp_expect
		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=tmp_expect
		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

$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
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
	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
	status1=$?
	if [ "$ONE_PASS_ONLY" != "true" ]; then
		cmp -s $OUT2 $EXP2
		status2=$?
	else
		status2=0
	fi

	if [ "$status1" = 0 -a "$status2" = 0 ] ; then
		echo "ok"
		touch $test_name.ok
	else
		echo "failed"
		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
fi

