1235274Sgabor#!/bin/sh
2235274Sgabor
3235274Sgabor# $FreeBSD$
4235274Sgabor
5235274Sgaborrm -rf siks
6235274Sgabormkdir -p siks
7235274Sgabor
8235274Sgaborexport GNUSORT_NUMERIC_COMPATIBILITY=x
9235274Sgabor
10235274SgaborBSDSORT=../sort
11235274SgaborGNUSORT=~/coreutils/bin/sort
12235274Sgabor#GNUSORT=sort
13235274Sgabor
14235274SgaborFILECMP=cmp
15235274Sgabor
16235274SgaborINPUT_FILE=si
17235274Sgabor
18235274Sgaborrm -rf test.log
19235274Sgabor
20235274Sgabor#ru_RU.ISO-8859-5 en_US.ISO8859-15 zh_HK.Big5HKSCS 
21235274Sgabor#
22235274Sgabor# ru KOI-8 is an "irregular" locale with non-trivial ordering.
23235274Sgabor# zh* is a 2-bytes locale
24235274Sgabor
25235274Sgaborfor lang in ru_RU.KOI8-R C ru_RU.ISO-8859-5 en_US.ISO8859-15 zh_HK.Big5HKSCS  
26235274Sgabordo
27235274Sgabor
28235274Sgabor    export LANG=${lang}
29235274Sgabor
30235274Sgabor    for KEYS in -srh -sfrudb -Vs -sM -siz 
31235274Sgabor    do
32235274Sgabor	
33235274Sgabor	echo ${LANG} ${KEYS}
34235274Sgabor	
35235274Sgabor	${BSDSORT} ${KEYS} ${INPUT_FILE} -o siks/sik1
36235274Sgabor	ER=$?
37235274Sgabor	if ! [ ${ER} -eq 0 ] ; then
38235274Sgabor	    echo ${LANG} ${KEYS} crash >> test.log
39235274Sgabor	    exit
40235274Sgabor	fi
41235274Sgabor	${GNUSORT} ${KEYS} ${INPUT_FILE} -o siks/sik2
42235274Sgabor	if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.0.0 2>&1 ; then
43235274Sgabor	    echo ${LANG} ${KEYS}  error >> test.log
44235274Sgabor	fi
45235274Sgabor	${BSDSORT} -c ${KEYS}  siks/sik1
46235274Sgabor	ER=$?
47235274Sgabor	if ! [ ${ER} -eq 0 ] ; then
48235274Sgabor	    echo ${LANG} ${KEYS}  -c error  >> test.log
49235274Sgabor	fi
50235274Sgabor	rm siks/res.0.0
51235274Sgabor	
52235274Sgabor	${BSDSORT} ${KEYS} -t " "  ${INPUT_FILE} -o siks/sik1
53235274Sgabor	ER=$?
54235274Sgabor	if ! [ ${ER} -eq 0 ] ; then
55235274Sgabor	    echo ${LANG} ${KEYS} -t " " crash >> test.log
56235274Sgabor	    exit
57235274Sgabor	fi
58235274Sgabor	${GNUSORT} ${KEYS} -t " "  ${INPUT_FILE} -o siks/sik2
59235274Sgabor	if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.0.0 2>&1 ; then
60235274Sgabor	    echo ${LANG} ${KEYS} error -t " " >> test.log
61235274Sgabor	fi
62235274Sgabor	${BSDSORT} -c -t " " ${KEYS}  siks/sik1
63235274Sgabor	ER=$?
64235274Sgabor	if ! [ ${ER} -eq 0 ] ; then
65235274Sgabor	    echo $? ${LANG} ${KEYS}  -t " " -c error >> test.log
66235274Sgabor	fi
67235274Sgabor	rm siks/res.0.0
68235274Sgabor	
69235274Sgabor	${BSDSORT} ${KEYS} -t "|"  ${INPUT_FILE} -o siks/sik1
70235274Sgabor	ER=$?
71235274Sgabor	if ! [ ${ER} -eq 0 ] ; then
72235274Sgabor	    echo ${LANG} ${KEYS} -t "|" crash >> test.log
73235274Sgabor	    exit
74235274Sgabor	fi
75235274Sgabor	${GNUSORT} ${KEYS} -t "|"  ${INPUT_FILE} -o siks/sik2
76235274Sgabor	if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.0.0 2>&1 ; then
77235274Sgabor	    echo ${LANG} ${KEYS}  error -t "|" >> test.log
78235274Sgabor	fi
79235274Sgabor	${BSDSORT} -c -t "|" ${KEYS}  siks/sik1
80235274Sgabor	ER=$?
81235274Sgabor	if ! [ ${ER} -eq 0 ] ; then
82235274Sgabor	    echo ${LANG} ${KEYS}  -c -t "|" error >> test.log
83235274Sgabor	fi
84235274Sgabor	rm siks/res.0.0
85235274Sgabor	
86235274Sgabor	${BSDSORT} ${KEYS} -t '\0' ${INPUT_FILE} -o siks/sik1
87235274Sgabor	ER=$?
88235274Sgabor	if ! [ ${ER} -eq 0 ] ; then
89235274Sgabor	    echo ${LANG} ${KEYS} -t 0 crash >> test.log
90235274Sgabor	    exit
91235274Sgabor	fi
92235274Sgabor	${GNUSORT} ${KEYS} -t '\0' ${INPUT_FILE} -o siks/sik2
93235274Sgabor	if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.0.0 2>&1 ; then
94235274Sgabor	    echo ${LANG} ${KEYS} error -t '\0' >> test.log
95235274Sgabor	fi
96235274Sgabor	${BSDSORT} -c -t '\0' ${KEYS} siks/sik1
97235274Sgabor	ER=$?
98235274Sgabor	if ! [ ${ER} -eq 0 ] ; then
99235274Sgabor	    echo ${LANG} ${KEYS} -c -t '\0' error >> test.log
100235274Sgabor	fi
101235274Sgabor	rm siks/res.0.0
102235274Sgabor	
103235274Sgabor	for f1 in 1 2 3 4 5 6 7 8 9
104235274Sgabor	do
105235274Sgabor	    for c1 in 1 2 3 4 5 10 15 20 25 30
106235274Sgabor	    do
107235274Sgabor		echo ${LANG} ${KEYS} ${f1} ${c1}
108235274Sgabor		
109235274Sgabor		${BSDSORT} ${KEYS} +${f1}.${c1} ${INPUT_FILE} -o siks/sik1
110235274Sgabor		ER=$?
111235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
112235274Sgabor	        echo ${LANG} ${KEYS} +${f1}.${c1} crash +- >> test.log
113235274Sgabor	        exit
114235274Sgabor		fi
115235274Sgabor		${GNUSORT} ${KEYS} +${f1}.${c1} ${INPUT_FILE} -o siks/sik2
116235274Sgabor		if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1} 2>&1 ; then
117235274Sgabor		    echo ${LANG} ${KEYS} +${f1}.${c1} error +- >> test.log
118235274Sgabor		fi
119235274Sgabor		${BSDSORT} -c ${KEYS} +${f1}.${c1} siks/sik1
120235274Sgabor		ER=$?
121235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
122235274Sgabor		    echo ${LANG} ${KEYS} +${f1}.${c1} -c error +- >> test.log
123235274Sgabor		fi
124235274Sgabor		rm siks/res.${f1}.${c1}
125235274Sgabor
126235274Sgabor		${BSDSORT} ${KEYS} -k${f1}.${c1} ${INPUT_FILE} -o siks/sik1
127235274Sgabor		ER=$?
128235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
129235274Sgabor	        echo ${LANG} ${KEYS} -k${f1}.${c1} crash >> test.log
130235274Sgabor	        exit
131235274Sgabor		fi
132235274Sgabor		${GNUSORT} ${KEYS} -k${f1}.${c1} ${INPUT_FILE} -o siks/sik2
133235274Sgabor		if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1} 2>&1 ; then
134235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1} error >> test.log
135235274Sgabor		fi
136235274Sgabor		${BSDSORT} -c ${KEYS} -k${f1}.${c1} siks/sik1
137235274Sgabor		ER=$?
138235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
139235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1} -c error >> test.log
140235274Sgabor		fi
141235274Sgabor		rm siks/res.${f1}.${c1}
142235274Sgabor
143235274Sgabor		${BSDSORT} ${KEYS} -k${f1}.${c1}b ${INPUT_FILE} -o siks/sik1
144235274Sgabor		ER=$?
145235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
146235274Sgabor	        echo ${LANG} ${KEYS} -k${f1}.${c1}b crash >> test.log
147235274Sgabor	        exit
148235274Sgabor		fi
149235274Sgabor		${GNUSORT} ${KEYS} -k${f1}.${c1}b ${INPUT_FILE} -o siks/sik2
150235274Sgabor		if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1} 2>&1 ; then
151235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1}b error >> test.log
152235274Sgabor		fi
153235274Sgabor		${BSDSORT} -c ${KEYS} -k${f1}.${c1}b siks/sik1
154235274Sgabor		ER=$?
155235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
156235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1}b -c error >> test.log
157235274Sgabor		fi
158235274Sgabor		rm siks/res.${f1}.${c1}
159235274Sgabor		
160235274Sgabor		${BSDSORT} ${KEYS} -t " " -k${f1}.${c1} ${INPUT_FILE} -o siks/sik1
161235274Sgabor		ER=$?
162235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
163235274Sgabor	            echo ${LANG} ${KEYS} -t -k${f1}.${c1} crash >> test.log
164235274Sgabor	            exit
165235274Sgabor		fi
166235274Sgabor		${GNUSORT} ${KEYS} -t " " -k${f1}.${c1} ${INPUT_FILE} -o siks/sik2
167235274Sgabor		if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1} 2>&1 ; then
168235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1} error -t " " >> test.log
169235274Sgabor		fi
170235274Sgabor		${BSDSORT} -c -t " " ${KEYS} -k${f1}.${c1} siks/sik1
171235274Sgabor		ER=$?
172235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
173235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1} -t " " -c error >> test.log
174235274Sgabor		fi
175235274Sgabor		rm siks/res.${f1}.${c1}
176235274Sgabor		
177235274Sgabor		${BSDSORT} ${KEYS} -t " " -k${f1}.${c1}n ${INPUT_FILE} -o siks/sik1
178235274Sgabor		ER=$?
179235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
180235274Sgabor	            echo ${LANG} ${KEYS} -k${f1}.${c1}n crash >> test.log
181235274Sgabor	            exit
182235274Sgabor		fi
183235274Sgabor		${GNUSORT} ${KEYS} -t " " -k${f1}.${c1}n ${INPUT_FILE} -o siks/sik2
184235274Sgabor		if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1} 2>&1 ; then
185235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1} error -t " " n >> test.log
186235274Sgabor		fi 
187235274Sgabor		${BSDSORT} -c -t " " ${KEYS} -k${f1}.${c1}n siks/sik1
188235274Sgabor		ER=$?
189235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
190235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1} -c -t " " n error >> test.log
191235274Sgabor		fi
192235274Sgabor		rm siks/res.${f1}.${c1}
193235274Sgabor		
194235274Sgabor		${BSDSORT} ${KEYS} -t "|" -k${f1}.${c1} ${INPUT_FILE} -o siks/sik1
195235274Sgabor		ER=$?
196235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
197235274Sgabor	            echo ${LANG} ${KEYS} -t "|" -k${f1}.${c1} crash >> test.log
198235274Sgabor	            exit
199235274Sgabor		fi
200235274Sgabor		${GNUSORT} ${KEYS} -t "|" -k${f1}.${c1} ${INPUT_FILE} -o siks/sik2
201235274Sgabor		if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1} 2>&1 ; then
202235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1} error -t "|" >> test.log
203235274Sgabor		fi
204235274Sgabor		${BSDSORT} -c -t "|" ${KEYS} -k${f1}.${c1} siks/sik1
205235274Sgabor		ER=$?
206235274Sgabor		if ! [ ${ER} -eq 0 ] ; then
207235274Sgabor		    echo ${LANG} ${KEYS} -k${f1}.${c1} -c -t "|" error >> test.log
208235274Sgabor		fi
209235274Sgabor		rm siks/res.${f1}.${c1}
210235274Sgabor		
211235274Sgabor		for f2 in 1 2 3 4 5 6 7 8 9 10
212235274Sgabor		do
213235274Sgabor		    for c2 in 0 1 2 3 4 5 10 15 20 25 30
214235274Sgabor		    do
215235274Sgabor			echo ${LANG} ${KEYS} ${f1} ${c1} ${f2} ${c2}
216235274Sgabor			
217235274Sgabor			${BSDSORT} ${KEYS} +${f1}.${c1} -${f2}.${c2} ${INPUT_FILE} -o siks/sik1
218235274Sgabor	    		ER=$?
219235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
220235274Sgabor	        	    echo ${LANG} ${KEYS} +${f1}.${c1} -${f2}.${c2} crash >> test.log
221235274Sgabor	        	    exit
222235274Sgabor			fi
223235274Sgabor			${GNUSORT} ${KEYS} +${f1}.${c1} -${f2}.${c2} ${INPUT_FILE} -o siks/sik2
224235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
225235274Sgabor			    echo ${LANG} ${KEYS} +${f1}.${c1} -${f2}.${c2} error +- >> test.log
226235274Sgabor			fi
227235274Sgabor			${BSDSORT} -c ${KEYS} +${f1}.${c1} -${f2}.${c2} siks/sik1
228235274Sgabor			ER=$?
229235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
230235274Sgabor			    echo ${LANG} ${KEYS} +${f1}.${c1} -${f2}.${c2} -c error +- >> test.log
231235274Sgabor			fi
232235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
233235274Sgabor
234235274Sgabor			${BSDSORT} ${KEYS} -k${f1}.${c1},${f2}.${c2} ${INPUT_FILE} -o siks/sik1
235235274Sgabor	    		ER=$?
236235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
237235274Sgabor	        	    echo ${LANG} ${KEYS} -k${f1}.${c1},${f2}.${c2} crash >> test.log
238235274Sgabor	        	    exit
239235274Sgabor			fi
240235274Sgabor			${GNUSORT} ${KEYS} -k${f1}.${c1},${f2}.${c2} ${INPUT_FILE} -o siks/sik2
241235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
242235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}.${f2}.${c2} error >> test.log
243235274Sgabor			fi
244235274Sgabor			${BSDSORT} -c ${KEYS} -k${f1}.${c1},${f2}.${c2} siks/sik1
245235274Sgabor			ER=$?
246235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
247235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1},${f2}.${c2} -c error >> test.log
248235274Sgabor			fi
249235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
250235274Sgabor
251235274Sgabor			${BSDSORT} ${KEYS} -k${f1}.${c1}b,${f2}.${c2} ${INPUT_FILE} -o siks/sik1
252235274Sgabor	    		ER=$?
253235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
254235274Sgabor	        	    echo ${LANG} ${KEYS} -k${f1}.${c1}b,${f2}.${c2} crash >> test.log
255235274Sgabor	        	    exit
256235274Sgabor			fi
257235274Sgabor			${GNUSORT} ${KEYS} -k${f1}.${c1}b,${f2}.${c2} ${INPUT_FILE} -o siks/sik2
258235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
259235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}.b.${f2}.${c2} error >> test.log
260235274Sgabor			fi
261235274Sgabor			${BSDSORT} -c ${KEYS} -k${f1}.${c1}b,${f2}.${c2} siks/sik1
262235274Sgabor			ER=$?
263235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
264235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}b,${f2}.${c2} -c error >> test.log
265235274Sgabor			fi
266235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
267235274Sgabor			
268235274Sgabor			${BSDSORT} ${KEYS} -t " " -k${f1}.${c1},${f2}.${c2} ${INPUT_FILE} -o siks/sik1
269235274Sgabor	    		ER=$?
270235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
271235274Sgabor	        	    echo ${LANG} ${KEYS} -t " " -k${f1}.${c1},${f2}.${c2} crash >> test.log
272235274Sgabor	        	    exit
273235274Sgabor			fi
274235274Sgabor			${GNUSORT} ${KEYS} -t " " -k${f1}.${c1},${f2}.${c2} ${INPUT_FILE} -o siks/sik2
275235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
276235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}.${f2}.${c2} error -t " " >> test.log
277235274Sgabor			fi
278235274Sgabor			${BSDSORT} -c -t " " ${KEYS} -k${f1}.${c1},${f2}.${c2} siks/sik1
279235274Sgabor			ER=$?
280235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
281235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1},${f2}.${c2} -c -t " " error >> test.log
282235274Sgabor			fi
283235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
284235274Sgabor			
285235274Sgabor			${BSDSORT} ${KEYS} -t " " -k${f1}.${c1}n,${f2}.${c2} ${INPUT_FILE} -o siks/sik1
286235274Sgabor	    		ER=$?
287235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
288235274Sgabor	        	    echo ${LANG} ${KEYS} -t " " -k${f1}.${c1}n,${f2}.${c2} crash >> test.log
289235274Sgabor	        	    exit
290235274Sgabor			fi
291235274Sgabor			${GNUSORT} ${KEYS} -t " " -k${f1}.${c1}n,${f2}.${c2} ${INPUT_FILE} -o siks/sik2
292235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
293235274Sgabor			    echo ${LANG} ${KEYS} -t " " -k${f1}.${c1}.${f2}.${c2} error n >> test.log
294235274Sgabor			fi
295235274Sgabor			${BSDSORT} -c -t " " ${KEYS} -k${f1}.${c1}n,${f2}.${c2} siks/sik1
296235274Sgabor			ER=$?
297235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
298235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1},${f2}.${c2} -c -t " " n error >> test.log
299235274Sgabor			fi
300235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
301235274Sgabor			
302235274Sgabor			${BSDSORT} ${KEYS} -t '\0' -k${f1}.${c1}n,${f2}.${c2} ${INPUT_FILE} -o siks/sik1
303235274Sgabor	    		ER=$?
304235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
305235274Sgabor	        	    echo ${LANG} ${KEYS} -t '\0' -k${f1}.${c1}n,${f2}.${c2} crash >> test.log
306235274Sgabor	        	    exit
307235274Sgabor			fi
308235274Sgabor			${GNUSORT} ${KEYS} -t '\0' -k${f1}.${c1}n,${f2}.${c2} ${INPUT_FILE} -o siks/sik2
309235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
310235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}.${f2}.${c2} error -t '\0' n >> test.log
311235274Sgabor			fi
312235274Sgabor			${BSDSORT} -c -t '\0' ${KEYS} -k${f1}.${c1}n,${f2}.${c2} siks/sik1
313235274Sgabor			ER=$?
314235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
315235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1},${f2}.${c2} -c -t '\0' n error >> test.log
316235274Sgabor			fi
317235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
318235274Sgabor			
319235274Sgabor			${BSDSORT} ${KEYS} -t "|" -k${f1}.${c1},${f2}.${c2} ${INPUT_FILE} -o siks/sik1
320235274Sgabor	    		ER=$?
321235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
322235274Sgabor	        	    echo ${LANG} ${KEYS} -t "|" -k${f1}.${c1},${f2}.${c2} crash >> test.log
323235274Sgabor	        	    exit
324235274Sgabor			fi
325235274Sgabor			${GNUSORT} ${KEYS} -t "|" -k${f1}.${c1},${f2}.${c2} ${INPUT_FILE} -o siks/sik2
326235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
327235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}.${f2}.${c2} error -t "|" >> test.log
328235274Sgabor			fi
329235274Sgabor			${BSDSORT} -c -t "|" ${KEYS} -k${f1}.${c1},${f2}.${c2} siks/sik1
330235274Sgabor			ER=$?
331235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
332235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1},${f2}.${c2} -c -t "|" error >> test.log
333235274Sgabor			fi
334235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
335235274Sgabor			
336235274Sgabor			${BSDSORT} ${KEYS} -t "|" -k${f1}.${c1},${f2}.${c2} -k${f2}.${c1},${f1}.${c2} ${INPUT_FILE} -o siks/sik1
337235274Sgabor	    		ER=$?
338235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
339235274Sgabor	        	    echo ${LANG} ${KEYS} -t "|" -k${f1}.${c1},${f2}.${c2} -k${f2}.${c1},${f1}.${c2} crash >> test.log
340235274Sgabor	        	    exit
341235274Sgabor			fi
342235274Sgabor			${GNUSORT} ${KEYS} -t "|" -k${f1}.${c1},${f2}.${c2} -k${f2}.${c1},${f1}.${c2} ${INPUT_FILE} -o siks/sik2
343235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
344235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}.${f2}.${c2} error -t "|" 2k >> test.log
345235274Sgabor			fi
346235274Sgabor			${BSDSORT} -c -t "|" ${KEYS} -k${f1}.${c1},${f2}.${c2} -k${f2}.${c1},${f1}.${c2} siks/sik1
347235274Sgabor			ER=$?
348235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
349235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1},${f2}.${c2} -c -t "|" 2k error >> test.log
350235274Sgabor			fi
351235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
352235274Sgabor
353235274Sgabor			${BSDSORT} ${KEYS} -k${f1}.${c1}b,${f2}.${c2} -k${f2}.${c1},${f1}.${c2} ${INPUT_FILE} -o siks/sik1
354235274Sgabor	    		ER=$?
355235274Sgabor	    		if ! [ ${ER} -eq 0 ] ; then
356235274Sgabor	        	    echo ${LANG} ${KEYS} -k${f1}.${c1}b,${f2}.${c2} -k${f2}.${c1},${f1}.${c2} crash >> test.log
357235274Sgabor	        	    exit
358235274Sgabor			fi
359235274Sgabor			${GNUSORT} ${KEYS} -k${f1}.${c1}b,${f2}.${c2} -k${f2}.${c1},${f1}.${c2} ${INPUT_FILE} -o siks/sik2
360235274Sgabor			if ! ${FILECMP} siks/sik1 siks/sik2 >siks/res.${f1}.${c1}.${f2}.${c2} 2>&1 ; then
361235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}.b.${f2}.${c2} error 2k >> test.log
362235274Sgabor			fi
363235274Sgabor			${BSDSORT} -c ${KEYS} -k${f1}.${c1}b,${f2}.${c2} -k${f2}.${c1},${f1}.${c2} siks/sik1
364235274Sgabor			ER=$?
365235274Sgabor			if ! [ ${ER} -eq 0 ] ; then
366235274Sgabor			    echo ${LANG} ${KEYS} -k${f1}.${c1}b,${f2}.${c2} -c 2k error >> test.log
367235274Sgabor			fi
368235274Sgabor			rm siks/res.${f1}.${c1}.${f2}.${c2}
369235274Sgabor			
370235274Sgabor		    done
371235274Sgabor		done
372235274Sgabor	    done
373235274Sgabor	done
374235274Sgabor    done
375235274Sgabordone
376235274Sgabor
377