regress.sh revision 151797
1# $FreeBSD: head/tools/regression/bin/sh/regress.sh 151797 2005-10-28 14:02:42Z stefanf $
2
3COUNTER=1
4
5do_test() {
6	local c
7	c=${COUNTER}
8	COUNTER=$((COUNTER+1))
9	sh $1 > tmp.stdout 2> tmp.stderr
10	if [ $? -ne $2 ]; then
11		echo "not ok ${c} - ${1} # wrong exit status"
12		rm tmp.stdout tmp.stderr
13		return
14	fi
15	for i in stdout stderr; do
16		if [ -f ${1}.${i} ]; then
17			if ! cmp -s tmp.${i} ${1}.${i}; then
18				echo "not ok ${c} - ${1} # wrong output on ${i}"
19				rm tmp.stdout tmp.stderr
20				return
21			fi
22		elif [ -s tmp.${i} ]; then
23			echo "not ok ${c} - ${1} # wrong output on ${i}"
24			rm tmp.stdout tmp.stderr
25			return
26		fi
27	done
28	echo "ok ${c} - ${1}"
29	rm tmp.stdout tmp.stderr
30}
31
32TESTS=$(find -Es . -regex ".*\.[0-9]+")
33printf "1..%d\n" $(echo ${TESTS} | wc -w)
34
35for i in ${TESTS} ; do
36	do_test ${i} ${i##*.}
37done
38