1 1.1 mrg #!/bin/sh 2 1.1 mrg 3 1.1 mrg # This script is modelled after cmdtest: 4 1.1 mrg # it takes all *.scripts and executes them and saves the stdout/err 5 1.1 mrg # This output is compared against *.stdout/stderr. 6 1.1 mrg # If no difference is found, the test is assumed as PASS (otherwise FAIL) 7 1.1 mrg # 8 1.1 mrg total_ret=0 9 1.1 mrg testsrc="${srcdir:-.}" 10 1.1 mrg for script in `ls -1 ${testsrc}/*.script | sort` ; do 11 1.1 mrg base=`basename $script .script` 12 1.1 mrg echo "Testing $base" 13 1.1 mrg $script > out.stdout 2> out.stderr 14 1.1 mrg 15 1.1 mrg # check stdout for correctness 16 1.1 mrg if [ -f ${testsrc}/$base.stdout ]; then 17 1.1 mrg diff out.stdout ${testsrc}/$base.stdout 18 1.1 mrg ret_stdout=$? 19 1.1 mrg else 20 1.1 mrg ret_stdout=0 21 1.1 mrg fi 22 1.1 mrg 23 1.1 mrg # check stderr for correctness 24 1.1 mrg if [ -f ${testsrc}/$base.stderr ]; then 25 1.1 mrg diff out.stderr ${testsrc}/$base.stderr 26 1.1 mrg ret_stderr=$? 27 1.1 mrg else 28 1.1 mrg if [ -s out.stderr ] ; then 29 1.1 mrg diff out.stderr /dev/null 30 1.1 mrg ret_stderr=1 31 1.1 mrg else 32 1.1 mrg ret_stderr=0 33 1.1 mrg fi 34 1.1 mrg fi 35 1.1 mrg 36 1.1 mrg if [ $ret_stdout -eq 0 -a $ret_stderr -eq 0 ]; then 37 1.1 mrg echo "OK" 38 1.1 mrg else 39 1.1 mrg echo "FAIL" 40 1.1 mrg total_ret=1 41 1.1 mrg fi 42 1.1 mrg done 43 1.1 mrg 44 1.1 mrg exit $total_ret 45