1#! /bin/sh
2#	A very simple function test for gdiffmk.sh.
3
4srcdir=@srcdir@
5
6command=../gdiffmk
7
8#	Test the number of arguments and the first argument.
9case $#-$1 in
101-clean )
11	rm -fv test_result* tmp_file*
12	exit 0
13	;;
141-run )
15	;;
16* )
17	echo >&2 "$0 [ clean | run ]
18Run a few simple tests on \`${command}'."'
19
20clean	Remove the test_result? and tmp_file? files.
21run	Run the tests.
22'
23	exit 255
24	;;
25esac
26
27function TestResult {
28	if cmp -s $1 $2
29	then
30		echo $2 PASSED
31	else
32		echo ''
33		echo $2 TEST FAILED
34		diff $1 $2
35		echo ''
36	fi
37}
38
39tmpfile=/tmp/$$
40trap 'rm -f ${tmpfile}' 0 1 2 3 15
41
42#	Run tests.
43
44#	3 file arguments
45ResultFile=test_result1
46${command}  ${srcdir}/file1  ${srcdir}/file2 ${ResultFile} 2>${tmpfile}
47cat ${tmpfile} >>${ResultFile}
48TestResult ${srcdir}/test_baseline ${ResultFile}
49
50#	OUTPUT to stdout by default
51ResultFile=test_result2
52${command}  ${srcdir}/file1  ${srcdir}/file2  >${ResultFile} 2>&1
53TestResult ${srcdir}/test_baseline ${ResultFile}
54
55#	OUTPUT to stdout via  -  argument
56ResultFile=test_result3
57${command}  ${srcdir}/file1  ${srcdir}/file2 - >${ResultFile} 2>&1
58TestResult ${srcdir}/test_baseline ${ResultFile}
59
60#	FILE1 from standard input via  -  argument
61ResultFile=test_result4
62${command}  - ${srcdir}/file2 <${srcdir}/file1  >${ResultFile} 2>&1
63TestResult ${srcdir}/test_baseline ${ResultFile}
64
65#	FILE2 from standard input via  -  argument
66ResultFile=test_result5
67${command}  ${srcdir}/file1 - <${srcdir}/file2  >${ResultFile} 2>&1
68TestResult ${srcdir}/test_baseline ${ResultFile}
69
70#	Different values for addmark, changemark, deletemark
71ResultFile=test_result6
72${command}  -aA -cC -dD  ${srcdir}/file1 ${srcdir}/file2  >${ResultFile} 2>&1
73TestResult ${srcdir}/test_baseline6 ${ResultFile}
74
75#	Test for accidental file overwrite.
76ResultFile=test_result7
77cp ${srcdir}/file2 tmp_file7
78${command}  -aA -dD -cC  ${srcdir}/file1 tmp_file7  tmp_file7	\
79							>${ResultFile} 2>&1
80TestResult ${srcdir}/test_baseline7 ${ResultFile}
81
82#	Test -D option
83ResultFile=test_result8
84${command}  -D  ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
85TestResult ${srcdir}/test_baseline8 ${ResultFile}
86
87#	Test -D  and  -M  options
88ResultFile=test_result9
89${command}  -D  -M '<<<<' '>>>>'				\
90			${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
91TestResult ${srcdir}/test_baseline9 ${ResultFile}
92
93#	Test -D  and  -B  options
94ResultFile=test_result10
95${command}  -D  -B  ${srcdir}/file1 ${srcdir}/file2 >${ResultFile} 2>&1
96TestResult ${srcdir}/test_baseline10 ${ResultFile}
97
98#	EOF
99