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