summaryrefslogtreecommitdiff
path: root/tests/test_script.in
blob: b7ac86e3df6081b56a4c57aa0783292dd0a10839 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/sh
#
# Test script for e2fsck
#

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

if test "$1"x = x ; then
  TESTS=`ls -d $SRCDIR/[a-zA-Z]_* | $EGREP -v "\.failed|\.new"`
else
  TESTS=
  for i 
  do
    case $i in
	*.failed|*.new)	continue ;;
	[a-zA-Z])	TESTS="$TESTS $SRCDIR/${i}_*" ;;
	*)		TESTS="$TESTS $SRCDIR/$i" ;;
    esac
  done
fi

cmd_dir=$SRCDIR

if test "$TEST_CONFIG"x = x; then
	TEST_CONFIG=$SRCDIR/test_config
fi

. $TEST_CONFIG

TMPFILE=$(mktemp)

for test_dir in $TESTS
do
	test_name=`echo $test_dir | sed -e 's;.*/;;'`
	if [ -f $test_dir ] ; then
	    continue;
	fi
	if [ ! -d $test_dir ] ; then
		echo "The test '$test_name' does not exist."
		continue;
	fi
	if [ -z "`ls $test_dir`" ]; then
		continue
	fi
	if [ -f $test_dir/name ]; then
		test_description=`cat $test_dir/name`
		printf "%s: %s: " "$test_name" "$test_description"
	else
		printf "%s: " "$test_name"
	fi
	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 "Missing test script!"
		fi
	fi
done

num_ok=`ls *.ok 2>/dev/null | wc -l`
num_failed=`ls *.failed 2>/dev/null | wc -l`

echo "$num_ok tests succeeded	$num_failed tests failed"

test "$num_failed" -eq 0 && exit 0

echo -n "Tests failed: "
for fname in $(ls *.failed); do
	echo -n "${fname%%.failed} "
done
echo ""

exit 1