Home | History | Annotate | Download | only in tests
      1 #!/bin/sh
      2 # run a single regression test
      3 
      4 LC_ALL=C
      5 export LC_ALL
      6 
      7 case "$1" in
      8     --valgrind)
      9     	export USE_VALGRIND="valgrind -q --sim-hints=lax-ioctls"
     10 	shift;
     11 	;;
     12     --valgrind-leakcheck)
     13     	export USE_VALGRIND="valgrind --sim-hints=lax-ioctls --leak-check=full --show-reachable=yes --log-file=/tmp/valgrind-%p.log"
     14 	shift;
     15 	;;
     16 esac
     17 
     18 case "$1" in
     19     *.failed|*.new|*.ok|*.log|*.tmp)	exit 0 ;;
     20 esac
     21 
     22 test_dir=$1
     23 cmd_dir=$SRCDIR
     24 
     25 if test "$TEST_CONFIG"x = x; then
     26 	TEST_CONFIG=$SRCDIR/test_config
     27 fi
     28 
     29 . $TEST_CONFIG
     30 
     31 TMPFILE=$(mktemp -t e2fsprogs-tmp.XXXXXX)
     32 
     33 test_name=`echo $test_dir | sed -e 's;.*/;;'`
     34 if [ -f $test_dir ] ; then
     35 	exit 0;
     36 fi
     37 if [ ! -d $test_dir ] ; then
     38 	echo "The test '$test_name' does not exist."
     39 	exit 0;
     40 fi
     41 if [ -z "`ls $test_dir`" ]; then
     42 	exit 0
     43 fi
     44 if [ -f $test_dir/name ]; then
     45 	test_description=`cat $test_dir/name`
     46 else
     47 	test_description=
     48 fi
     49 
     50 rm -f $test_name.ok $test_name.failed
     51 #echo -e -n "$test_name: $test_description:\r"
     52 
     53 if [ -f $test_dir/script ]; then
     54 	. $test_dir/script
     55 else
     56 	test_base=`echo $test_name | sed -e 's/_.*//'`
     57 	default_script=$SRCDIR/defaults/${test_base}_script
     58 	if [ -f $default_script ]; then
     59 		. $SRCDIR/defaults/${test_base}_script
     60 	else
     61 		echo "$test_name: Missing test script $default_script!"
     62 	fi
     63 	[ -f $test_name.failed ] && cat $test_name.failed
     64 fi
     65 
     66 if [ "$SKIP_UNLINK" != "true" ] ; then
     67 	rm -f $TMPFILE
     68 fi
     69 
     70