43 lines
774 B
Bash
43 lines
774 B
Bash
|
# $FreeBSD$
|
||
|
|
||
|
echo '1..31'
|
||
|
|
||
|
COUNTER=1
|
||
|
|
||
|
do_test() {
|
||
|
local c
|
||
|
c=${COUNTER}
|
||
|
COUNTER=$((COUNTER+1))
|
||
|
sh $1 > tmp.stdout 2> tmp.stderr
|
||
|
if [ $? -ne $2 ]; then
|
||
|
echo "not ok ${c} - ${1} # wrong exit status"
|
||
|
rm tmp.stdout tmp.stderr
|
||
|
return
|
||
|
fi
|
||
|
for i in stdout stderr; do
|
||
|
if [ -f ${1}.${i} ]; then
|
||
|
if ! cmp -s tmp.${i} ${1}.${i}; then
|
||
|
echo "not ok ${c} - ${1} # wrong output on ${i}"
|
||
|
rm tmp.stdout tmp.stderr
|
||
|
return
|
||
|
fi
|
||
|
elif [ -s tmp.${i} ]; then
|
||
|
echo "not ok ${c} - ${1} # wrong output on ${i}"
|
||
|
rm tmp.stdout tmp.stderr
|
||
|
return
|
||
|
fi
|
||
|
done
|
||
|
echo "ok ${c} - ${1}"
|
||
|
rm tmp.stdout tmp.stderr
|
||
|
}
|
||
|
|
||
|
SUCCESS=$(find . -name "*.0")
|
||
|
for i in ${SUCCESS} ; do
|
||
|
do_test ${i} 0
|
||
|
done
|
||
|
|
||
|
FAILURE=$(find . -name "*.1")
|
||
|
for i in ${FAILURE} ; do
|
||
|
do_test ${i} 1
|
||
|
done
|