Home | History | Annotate | Download | only in tests
      1 #!/bin/sh
      2 #
      3 # Test script for e2fsck
      4 #
      5 
      6 LC_ALL=C
      7 export LC_ALL
      8 
      9 case "$1" in 
     10     --valgrind)
     11     	export USE_VALGRIND="valgrind -q --weird-hacks=lax-ioctls"
     12 	shift;
     13 esac
     14 
     15 if test "$1"x = x ; then
     16   TESTS=`ls -d $SRCDIR/[a-zA-Z]_* | $EGREP -v "\.failed|\.new"`
     17 else
     18   TESTS=
     19   for i 
     20   do
     21     case $i in
     22 	*.failed|*.new)	continue ;;
     23 	[a-zA-Z])	TESTS="$TESTS $SRCDIR/${i}_*" ;;
     24 	*)		TESTS="$TESTS $SRCDIR/$i" ;;
     25     esac
     26   done
     27 fi
     28 
     29 cmd_dir=$SRCDIR
     30 
     31 if test "$TEST_CONFIG"x = x; then
     32 	TEST_CONFIG=$SRCDIR/test_config
     33 fi
     34 
     35 . $TEST_CONFIG
     36 
     37 for test_dir in $TESTS
     38 do
     39 	test_name=`echo $test_dir | sed -e 's;.*/;;'`
     40 	if [ -f $test_dir ] ; then
     41 	    continue;
     42 	fi
     43 	if [ ! -d $test_dir ] ; then
     44 		echo "The test '$test_name' does not exist."
     45 		continue;
     46 	fi
     47 	if [ -z "`ls $test_dir`" ]; then
     48 		continue
     49 	fi
     50 	if [ -f $test_dir/name ]; then
     51 		test_description=`cat $test_dir/name`
     52 		printf "%s: %s: " "$test_name" "$test_description"
     53 	else
     54 		printf "%s: " "$test_name"
     55 	fi
     56 	if [ -f $test_dir/script ]; then
     57 		. $test_dir/script
     58 	else
     59 		test_base=`echo $test_name | sed -e 's/_.*//'`
     60 		default_script=$SRCDIR/defaults/${test_base}_script
     61 		if [ -f $default_script ]; then
     62 			. $SRCDIR/defaults/${test_base}_script
     63 		else
     64 			echo "Missing test script!"
     65 		fi
     66 	fi
     67 done
     68 
     69 num_ok=`ls *.ok 2>/dev/null | wc -l`
     70 num_failed=`ls *.failed 2>/dev/null | wc -l`
     71 
     72 echo "$num_ok tests succeeded	$num_failed tests failed"
     73 
     74 test "$num_failed" -eq 0 || exit 1
     75