diff options
Diffstat (limited to 'tools/regression/bin/sh/regress.sh')
-rw-r--r-- | tools/regression/bin/sh/regress.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/regress.sh b/tools/regression/bin/sh/regress.sh new file mode 100644 index 0000000..0e098d0 --- /dev/null +++ b/tools/regression/bin/sh/regress.sh @@ -0,0 +1,42 @@ +# $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 |