regress.sh revision 267654
1156136Sdavidxu# $FreeBSD: releng/9.3/tools/regression/bin/sh/regress.sh 218851 2011-02-19 13:23:13Z jilles $
2156136Sdavidxu
3156136Sdavidxuif [ -z "${SH}" ]; then
4156136Sdavidxu	echo '${SH} is not set, please correct and re-run.'
5156136Sdavidxu	exit 1
6156136Sdavidxufi
7156136Sdavidxuexport SH=${SH}
8156136Sdavidxu
9156136SdavidxuCOUNTER=1
10156136Sdavidxu
11156136Sdavidxudo_test() {
12156136Sdavidxu	c=${COUNTER}
13156136Sdavidxu	COUNTER=$((COUNTER+1))
14156136Sdavidxu	${SH} $1 > tmp.stdout 2> tmp.stderr
15156136Sdavidxu	if [ $? -ne $2 ]; then
16156136Sdavidxu		echo "not ok ${c} - ${1} # wrong exit status"
17156136Sdavidxu		rm tmp.stdout tmp.stderr
18156136Sdavidxu		return
19156136Sdavidxu	fi
20156136Sdavidxu	for i in stdout stderr; do
21156136Sdavidxu		if [ -f ${1}.${i} ]; then
22156136Sdavidxu			if ! cmp -s tmp.${i} ${1}.${i}; then
23156136Sdavidxu				echo "not ok ${c} - ${1} # wrong output on ${i}"
24156136Sdavidxu				rm tmp.stdout tmp.stderr
25156136Sdavidxu				return
26156136Sdavidxu			fi
27156136Sdavidxu		elif [ -s tmp.${i} ]; then
28156136Sdavidxu			echo "not ok ${c} - ${1} # wrong output on ${i}"
29156136Sdavidxu			rm tmp.stdout tmp.stderr
30156136Sdavidxu			return
31156136Sdavidxu		fi
32156136Sdavidxu	done
33156136Sdavidxu	echo "ok ${c} - ${1}"
34156267Sdavidxu	rm tmp.stdout tmp.stderr
35156136Sdavidxu}
36156136Sdavidxu
37252412SedTESTS=$(find -Es . -regex ".*\.[0-9]+")
38156136Sdavidxuprintf "1..%d\n" $(echo ${TESTS} | wc -w)
39156136Sdavidxu
40156136Sdavidxufor i in ${TESTS} ; do
41156136Sdavidxu	do_test ${i} ${i##*.}
42156136Sdavidxudone
43156136Sdavidxu