Home | History | Annotate | Download | only in tests
      1 if [ "$DESCRIPTION"x != x ]; then
      2 	test_description="$DESCRIPTION"
      3 fi
      4 if [ "$IMAGE"x = x ]; then
      5 	IMAGE=$test_dir/image.gz
      6 fi
      7 
      8 if [ "$FSCK_OPT"x = x ]; then
      9 	FSCK_OPT=-yf
     10 fi
     11 
     12 if [ "$SECOND_FSCK_OPT"x = x ]; then
     13 	SECOND_FSCK_OPT=-yf
     14 fi
     15 
     16 if [ "$OUT1"x = x ]; then
     17 	OUT1=$test_name.1.log
     18 fi
     19 
     20 if [ "$OUT2"x = x ]; then
     21 	OUT2=$test_name.2.log
     22 fi
     23 
     24 if [ "$EXP1"x = x ]; then
     25 	if [ -f $test_dir/expect.1.gz ]; then
     26 		EXP1=$test_name.1.tmp
     27 		gunzip < $test_dir/expect.1.gz > $EXP1
     28 	else
     29 		EXP1=$test_dir/expect.1
     30 	fi
     31 fi
     32 
     33 if [ "$EXP2"x = x ]; then
     34 	if [ -f $test_dir/expect.2.gz ]; then
     35 		EXP2=$test_name.2.tmp
     36 		gunzip < $test_dir/expect.2.gz > $EXP2
     37 	else
     38 		EXP2=$test_dir/expect.2
     39 	fi
     40 fi
     41 
     42 if [ "$SKIP_GUNZIP" != "true" ] ; then
     43 	gunzip < $IMAGE > $TMPFILE
     44 fi
     45 
     46 cp /dev/null $OUT1
     47 
     48 eval $PREP_CMD
     49 
     50 $FSCK $FSCK_OPT  -N test_filesys $TMPFILE > $OUT1.new 2>&1
     51 status=$?
     52 echo Exit status is $status >> $OUT1.new
     53 sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT1.new >> $OUT1
     54 rm -f $OUT1.new
     55 
     56 if [ "$ONE_PASS_ONLY" != "true" ]; then
     57 	$FSCK $SECOND_FSCK_OPT -N test_filesys $TMPFILE > $OUT2.new 2>&1 
     58 	status=$?
     59 	echo Exit status is $status >> $OUT2.new
     60 	sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT2.new > $OUT2
     61 	rm -f $OUT2.new
     62 fi
     63 
     64 eval $AFTER_CMD
     65 
     66 if [ "$SKIP_VERIFY" != "true" ] ; then
     67 	rm -f $test_name.ok $test_name.failed
     68 	cmp -s $OUT1 $EXP1
     69 	status1=$?
     70 	if [ "$ONE_PASS_ONLY" != "true" ]; then
     71 		cmp -s $OUT2 $EXP2
     72 		status2=$?
     73 	else
     74 		status2=0
     75 	fi
     76 	if [ "$PASS_ZERO" = "true" ]; then
     77 		cmp -s $test_name.0.log	$test_dir/expect.0
     78 		status3=$?
     79 	else
     80 		status3=0
     81 	fi
     82 
     83 	if [ -z "$test_description" ] ; then
     84 		description="$test_name"
     85 	else
     86 		description="$test_name: $test_description"
     87 	fi
     88 
     89 	if [ "$status1" -eq 0 -a "$status2" -eq 0 -a "$status3" -eq 0 ] ; then
     90 		echo "$description: ok"
     91 		touch $test_name.ok
     92 	else
     93 		echo "$description: failed"
     94 		rm -f $test_name.failed
     95 		if [ "$PASS_ZERO" = "true" ]; then
     96 			diff $DIFF_OPTS $test_dir/expect.0 \
     97 				$test_name.0.log >> $test_name.failed
     98 		fi
     99 		diff $DIFF_OPTS $EXP1 $OUT1 >> $test_name.failed
    100 		if [ "$ONE_PASS_ONLY" != "true" ]; then
    101 			diff $DIFF_OPTS $EXP2 $OUT2 >> $test_name.failed
    102 		fi
    103 	fi
    104 	rm -f tmp_expect
    105 fi
    106 
    107 if [ "$SKIP_CLEANUP" != "true" ] ; then
    108 	unset IMAGE FSCK_OPT SECOND_FSCK_OPT OUT1 OUT2 EXP1 EXP2 
    109 	unset SKIP_VERIFY SKIP_CLEANUP SKIP_GUNZIP ONE_PASS_ONLY PREP_CMD
    110 	unset DESCRIPTION SKIP_UNLINK AFTER_CMD PASS_ZERO
    111 fi
    112 
    113