1149781Sstefanf# $FreeBSD$ 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 c=${COUNTER} 13149781Sstefanf COUNTER=$((COUNTER+1)) 14213738Sobrien ${SH} $1 > tmp.stdout 2> tmp.stderr 15149781Sstefanf if [ $? -ne $2 ]; then 16149781Sstefanf echo "not ok ${c} - ${1} # wrong exit status" 17149781Sstefanf rm tmp.stdout tmp.stderr 18149781Sstefanf return 19149781Sstefanf fi 20149781Sstefanf for i in stdout stderr; do 21149781Sstefanf if [ -f ${1}.${i} ]; then 22149781Sstefanf if ! cmp -s tmp.${i} ${1}.${i}; then 23149781Sstefanf echo "not ok ${c} - ${1} # wrong output on ${i}" 24149781Sstefanf rm tmp.stdout tmp.stderr 25149781Sstefanf return 26149781Sstefanf fi 27149781Sstefanf elif [ -s tmp.${i} ]; then 28149781Sstefanf echo "not ok ${c} - ${1} # wrong output on ${i}" 29149781Sstefanf rm tmp.stdout tmp.stderr 30149781Sstefanf return 31149781Sstefanf fi 32149781Sstefanf done 33149781Sstefanf echo "ok ${c} - ${1}" 34149781Sstefanf rm tmp.stdout tmp.stderr 35149781Sstefanf} 36149781Sstefanf 37151797SstefanfTESTS=$(find -Es . -regex ".*\.[0-9]+") 38151797Sstefanfprintf "1..%d\n" $(echo ${TESTS} | wc -w) 39151797Sstefanf 40149791Sstefanffor i in ${TESTS} ; do 41149791Sstefanf do_test ${i} ${i##*.} 42149781Sstefanfdone 43