1#!/bin/sh 2# run a single regression test 3 4LC_ALL=C 5export LC_ALL 6 7case "$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 ;; 16esac 17 18case "$1" in 19 *.failed|*.new|*.ok|*.log|*.tmp) exit 0 ;; 20esac 21 22test_dir=$1 23cmd_dir=$SRCDIR 24 25if test "$TEST_CONFIG"x = x; then 26 TEST_CONFIG=$SRCDIR/test_config 27fi 28 29. $TEST_CONFIG 30 31TMPFILE=$(mktemp -t e2fsprogs-tmp.XXXXXX) 32 33test_name=`echo $test_dir | sed -e 's;.*/;;'` 34if [ -f $test_dir ] ; then 35 exit 0; 36fi 37if [ ! -d $test_dir ] ; then 38 echo "The test '$test_name' does not exist." 39 exit 0; 40fi 41if [ -z "`ls $test_dir`" ]; then 42 exit 0 43fi 44if [ -f $test_dir/name ]; then 45 test_description=`cat $test_dir/name` 46else 47 test_description= 48fi 49 50rm -f $test_name.ok $test_name.failed 51#echo -e -n "$test_name: $test_description:\r" 52 53if [ -f $test_dir/script ]; then 54 . $test_dir/script 55else 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 64fi 65 66if [ "$SKIP_UNLINK" != "true" ] ; then 67 rm -f $TMPFILE 68fi 69 70