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 31test_name=`echo $test_dir | sed -e 's;.*/;;'` 32 33TMPFILE=$(mktemp ${TMPDIR:-/tmp}/e2fsprogs-tmp-$test_name.XXXXXX) 34trap 'rm -f $TMPFILE ; exit' 1 2 15 35 36if [ -f $test_dir ] ; then 37 exit 0; 38fi 39if [ ! -d $test_dir ] ; then 40 echo "The test '$test_name' does not exist." 41 exit 0; 42fi 43if [ -z "`ls $test_dir`" ]; then 44 exit 0 45fi 46if [ -f $test_dir/name ]; then 47 test_description=`cat $test_dir/name` 48else 49 test_description= 50fi 51 52rm -f $test_name.ok $test_name.failed 53#echo -e -n "$test_name: $test_description:\r" 54 55if [ -f $test_dir/script ]; then 56 . $test_dir/script 57else 58 test_base=`echo $test_name | sed -e 's/_.*//'` 59 default_script=$SRCDIR/defaults/${test_base}_script 60 if [ -f $default_script ]; then 61 . $SRCDIR/defaults/${test_base}_script 62 else 63 echo "$test_name: Missing test script $default_script!" 64 fi 65fi 66 67if [ "$SKIP_UNLINK" != "true" ] ; then 68 rm -f $TMPFILE 69fi 70 71