blob: fb30e57826d48298e0744eda34f96da9b1fa3b39 [file] [log] [blame]
#!/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
test_name=`echo $test_dir | sed -e 's;.*/;;'`
TMPFILE=$(mktemp ${TMPDIR:-/tmp}/e2fsprogs-tmp-$test_name.XXXXXX)
trap 'rm -f $TMPFILE ; exit' 1 2 15
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
fi
if [ "$SKIP_UNLINK" != "true" ] ; then
rm -f $TMPFILE
fi