regress.sh revision 213738
1149781Sstefanf# $FreeBSD: head/tools/regression/bin/sh/regress.sh 213738 2010-10-12 18:20:38Z obrien $ 2149781Sstefanf 3213738Sobrienif [ -z "${SH}" ]; then 4213738Sobrien echo '${SH} is not set, please correct and re-run.' 5213738Sobrien exit 1 6213738Sobrienfi 7213738Sobrienexport SH=${SH} 8213738Sobrien 9149781SstefanfCOUNTER=1 10149781Sstefanf 11149781Sstefanfdo_test() { 12149781Sstefanf local c 13149781Sstefanf c=${COUNTER} 14149781Sstefanf COUNTER=$((COUNTER+1)) 15213738Sobrien ${SH} $1 > tmp.stdout 2> tmp.stderr 16149781Sstefanf if [ $? -ne $2 ]; then 17149781Sstefanf echo "not ok ${c} - ${1} # wrong exit status" 18149781Sstefanf rm tmp.stdout tmp.stderr 19149781Sstefanf return 20149781Sstefanf fi 21149781Sstefanf for i in stdout stderr; do 22149781Sstefanf if [ -f ${1}.${i} ]; then 23149781Sstefanf if ! cmp -s tmp.${i} ${1}.${i}; then 24149781Sstefanf echo "not ok ${c} - ${1} # wrong output on ${i}" 25149781Sstefanf rm tmp.stdout tmp.stderr 26149781Sstefanf return 27149781Sstefanf fi 28149781Sstefanf elif [ -s tmp.${i} ]; then 29149781Sstefanf echo "not ok ${c} - ${1} # wrong output on ${i}" 30149781Sstefanf rm tmp.stdout tmp.stderr 31149781Sstefanf return 32149781Sstefanf fi 33149781Sstefanf done 34149781Sstefanf echo "ok ${c} - ${1}" 35149781Sstefanf rm tmp.stdout tmp.stderr 36149781Sstefanf} 37149781Sstefanf 38151797SstefanfTESTS=$(find -Es . -regex ".*\.[0-9]+") 39151797Sstefanfprintf "1..%d\n" $(echo ${TESTS} | wc -w) 40151797Sstefanf 41149791Sstefanffor i in ${TESTS} ; do 42149791Sstefanf do_test ${i} ${i##*.} 43149781Sstefanfdone 44