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
	EXP1=$test_dir/expect.1
fi

if [ "$EXP2"x = x ]; then
	EXP2=$test_dir/expect.2
fi

gunzip < $IMAGE > $TMPFILE

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 > $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 > $OUT2
	rm -f $OUT2.new
fi

rm $TMPFILE

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 -c $EXP1 $OUT1 > $test_name.failed
		if [ "$ONE_PASS_ONLY" != "true" ]; then
			diff -c $EXP2 $OUT2 >> $test_name.failed
		fi
	fi
fi

if [ "$SKIP_CLEANUP" != "true" ] ; then
	unset IMAGE FSCK_OPT SECOND_FSCK_OPT OUT1 OUT2 EXP1 EXP2 ONE_PASS_ONLY PREP_CMD
fi

