| #!/bin/sh |
| # run a single regression test |
| |
| LC_ALL=C |
| export LC_ALL |
| |
| case "$1" in |
| --valgrind) |
| export USE_VALGRIND="valgrind -q --sim-hints=lax-ioctls" |
| shift; |
| ;; |
| --valgrind-leakcheck) |
| export USE_VALGRIND="valgrind --sim-hints=lax-ioctls --leak-check=full --show-reachable=yes --log-file=/tmp/valgrind-%p.log" |
| shift; |
| ;; |
| esac |
| |
| case "$1" in |
| *.failed|*.new|*.ok|*.log|*.tmp) exit 0 ;; |
| esac |
| |
| test_dir=$1 |
| cmd_dir=$SRCDIR |
| |
| if test "$TEST_CONFIG"x = x; then |
| TEST_CONFIG=$SRCDIR/test_config |
| fi |
| |
| . $TEST_CONFIG |
| |
| TMPFILE=$(mktemp -t e2fsprogs-tmp.XXXXXX) |
| |
| test_name=`echo $test_dir | sed -e 's;.*/;;'` |
| if [ -f $test_dir ] ; then |
| exit 0; |
| fi |
| if [ ! -d $test_dir ] ; then |
| echo "The test '$test_name' does not exist." |
| exit 0; |
| fi |
| if [ -z "`ls $test_dir`" ]; then |
| exit 0 |
| fi |
| if [ -f $test_dir/name ]; then |
| test_description=`cat $test_dir/name` |
| else |
| test_description= |
| fi |
| |
| rm -f $test_name.ok $test_name.failed |
| #echo -e -n "$test_name: $test_description:\r" |
| |
| if [ -f $test_dir/script ]; then |
| . $test_dir/script |
| else |
| test_base=`echo $test_name | sed -e 's/_.*//'` |
| default_script=$SRCDIR/defaults/${test_base}_script |
| if [ -f $default_script ]; then |
| . $SRCDIR/defaults/${test_base}_script |
| else |
| echo "$test_name: Missing test script $default_script!" |
| fi |
| [ -f $test_name.failed ] && cat $test_name.failed |
| fi |
| |
| if [ "$SKIP_UNLINK" != "true" ] ; then |
| rm -f $TMPFILE |
| fi |
| |