test_xauth revision 765b7306
1765b7306Smrg#!/bin/sh
2765b7306Smrg
3765b7306Smrg# This script is modelled after cmdtest:
4765b7306Smrg#   it takes all *.scripts and executes them and saves the stdout/err
5765b7306Smrg#   This output is compared against *.stdout/stderr.
6765b7306Smrg#   If no difference is found, the test is assumed as PASS (otherwise FAIL)
7765b7306Smrg#
8765b7306Smrgtotal_ret=0
9765b7306Smrgtestsrc="${srcdir:-.}"
10765b7306Smrgfor script in `ls -1 ${testsrc}/*.script | sort` ; do
11765b7306Smrg	base=`basename $script .script`
12765b7306Smrg	echo "Testing $base"
13765b7306Smrg        $script > out.stdout 2> out.stderr
14765b7306Smrg
15765b7306Smrg	# check stdout for correctness
16765b7306Smrg	if [ -f ${testsrc}/$base.stdout ]; then
17765b7306Smrg		diff out.stdout ${testsrc}/$base.stdout
18765b7306Smrg		ret_stdout=$?
19765b7306Smrg	else
20765b7306Smrg		ret_stdout=0
21765b7306Smrg	fi
22765b7306Smrg
23765b7306Smrg	# check stderr for correctness
24765b7306Smrg	if [ -f ${testsrc}/$base.stderr ]; then
25765b7306Smrg		diff out.stderr ${testsrc}/$base.stderr
26765b7306Smrg		ret_stderr=$?
27765b7306Smrg	else
28765b7306Smrg		if [ -s out.stderr ] ; then
29765b7306Smrg			diff out.stderr /dev/null
30765b7306Smrg			ret_stderr=1
31765b7306Smrg		else
32765b7306Smrg			ret_stderr=0
33765b7306Smrg		fi
34765b7306Smrg	fi
35765b7306Smrg
36765b7306Smrg	if [ $ret_stdout -eq 0 -a $ret_stderr -eq 0 ]; then
37765b7306Smrg		echo "OK"
38765b7306Smrg	else
39765b7306Smrg		echo "FAIL"
40765b7306Smrg		total_ret=1
41765b7306Smrg	fi
42765b7306Smrgdone
43765b7306Smrg
44765b7306Smrgexit $total_ret
45