Home | History | Annotate | Line # | Download | only in tests
      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