1*fb3ef04dSDag-Erling Smørgrav#!/bin/sh 2*fb3ef04dSDag-Erling Smørgrav 3*fb3ef04dSDag-Erling Smørgravexport PATH="$(pwd):${PATH}" 4*fb3ef04dSDag-Erling Smørgrav${1:+cd} ${1:-:} 5*fb3ef04dSDag-Erling Smørgravfor cmd in *.sh 6*fb3ef04dSDag-Erling Smørgravdo 7*fb3ef04dSDag-Erling Smørgrav printf . 8*fb3ef04dSDag-Erling Smørgrav t=${cmd%.sh} 9*fb3ef04dSDag-Erling Smørgrav 10*fb3ef04dSDag-Erling Smørgrav sh ./${cmd} >${t}.out 2>${t}.err 11*fb3ef04dSDag-Erling Smørgrav echo $? >${t}.rc 12*fb3ef04dSDag-Erling Smørgrav 13*fb3ef04dSDag-Erling Smørgrav # strip carriage returns from error output 14*fb3ef04dSDag-Erling Smørgrav # in case we are trying to run on MinGW 15*fb3ef04dSDag-Erling Smørgrav tr -d ' 16*fb3ef04dSDag-Erling Smørgrav' >${t}.xerr <${t}.err 17*fb3ef04dSDag-Erling Smørgrav mv ${t}.xerr ${t}.err 18*fb3ef04dSDag-Erling Smørgrav 19*fb3ef04dSDag-Erling Smørgrav ok=true 20*fb3ef04dSDag-Erling Smørgrav for e in out err rc 21*fb3ef04dSDag-Erling Smørgrav do 22*fb3ef04dSDag-Erling Smørgrav exp=${t}.exp${e} 23*fb3ef04dSDag-Erling Smørgrav got=${t}.${e} 24*fb3ef04dSDag-Erling Smørgrav if ! cmp -s ${exp} ${got} 25*fb3ef04dSDag-Erling Smørgrav then 26*fb3ef04dSDag-Erling Smørgrav echo 27*fb3ef04dSDag-Erling Smørgrav echo FAILED: ${got}: $(cat ${cmd}) 28*fb3ef04dSDag-Erling Smørgrav diff -u ${exp} ${got} 29*fb3ef04dSDag-Erling Smørgrav ok=false 30*fb3ef04dSDag-Erling Smørgrav fi 31*fb3ef04dSDag-Erling Smørgrav done 32*fb3ef04dSDag-Erling Smørgrav 33*fb3ef04dSDag-Erling Smørgrav if ${ok} 34*fb3ef04dSDag-Erling Smørgrav then rm -f ${t}.out ${t}.err ${t}.rc 35*fb3ef04dSDag-Erling Smørgrav else rc=1 36*fb3ef04dSDag-Erling Smørgrav fi 37*fb3ef04dSDag-Erling Smørgravdone 38*fb3ef04dSDag-Erling Smørgravecho 39exit ${rc} 40