• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh
2#
3#   Copyright (c) International Business Machines  Corp., 2000
4#
5#   This program is free software;  you can redistribute it and/or modify
6#   it under the terms of the GNU General Public License as published by
7#   the Free Software Foundation; either version 2 of the License, or
8#   (at your option) any later version.
9#
10#   This program is distributed in the hope that it will be useful,
11#   but WITHOUT ANY WARRANTY;  without even the implied warranty of
12#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
13#   the GNU General Public License for more details.
14#
15#   You should have received a copy of the GNU General Public License
16#   along with this program;  if not, write to the Free Software
17#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18#
19#
20#
21#  FILE   : ar
22#
23#  PURPOSE: Construct one or more command lines which use options that do not
24#           take arguments
25#           For each of these invocations
26#           Specify the options seperately
27#
28#          Group the options together
29#          Compare the behavior of the two cases
30#          If they behave differently, then fail
31#          If none of the cases fail, then pass
32#
33#  HISTORY:
34#    06/01 Robbie Williamson (robbiew@us.ibm.com)
35#      -Ported
36#
37#
38#-----------------------------------------------------------------------
39#
40#----------------------------------------------------------------------
41#Uncomment line below for debug output.
42#trace_logic=${trace_logic:-"set -x"}
43$trace_logic
44
45TCtmp=${TCtmp:-/tmp/ar01-$$}
46mkdir $TCtmp
47TCdat=${TCdat:-`pwd`}
48cd $TCdat
49
50LOOPS=${LOOPS:-1}
51LIST="file1.in file2.in file3.in file4.in file5.in file6.in file7.in file8.in file9.in file10.in"
52LIST="$LIST $LIST $LIST $LIST $LIST $LIST $LIST $LIST $LIST $LIST"
53COUNT=1
54TCRESULT=0
55
56# Setup function
57setup() {
58	for i in $LIST;do
59		touch $i
60	done
61}
62
63# Cleanup function
64cleanup() {
65	if [ $TCRESULT = 0 ]; then
66		echo "---------------ar command passed the system test-----------------"
67		exit 0
68	else
69		echo "---------------ar command failed the system test-----------------"
70		exit 1
71	fi
72}
73
74crtest() {
75	if [ $? -ne 0 ]
76	then
77		TCRESULT=1
78		echo "FAIL - could not create lib.a"
79		cleanup
80	fi
81}
82
83ttest() {
84	if [ $? -ne 0 ]
85	then
86		TCRESULT=1
87		echo "FAIL - could not output table from lib.a to lib.a.stdout"
88		cleanup
89	fi
90}
91
92rtest() {
93	if [ $? -ne 0 ]
94	then
95		TCRESULT=1
96		echo "FAIL - could not add file into lib.a"
97		cleanup
98	fi
99}
100
101mtest() {
102	if [ $? -ne 0 ]
103	then
104		TCRESULT=1
105		echo "FAIL - could not move file into lib.a"
106		cleanup
107	fi
108}
109
110setup
111
112# Main Loop
113while [ $COUNT -le $LOOPS ]
114do
115	echo "-------System test for ar command, Loop $COUNT----"
116	#The 'a' flag causes files to be placed after 'posname'.
117
118	#  CODE
119	rm -rf $TCtmp/lib.a;cd $TCdat
120
121	printf "file1.in\nfile2.in\nfile3.in\n" >$TCtmp/lib.a.exp
122
123	ar -cr $TCtmp/lib.a file1.in file3.in
124	crtest
125	ar -ra file1.in $TCtmp/lib.a file2.in
126	rtest
127	ar -t $TCtmp/lib.a > $TCtmp/lib.a.stdout
128	ttest
129
130	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
131	then
132		echo "-)1"
133	else
134		TCRESULT=1
135		echo "FAIL - ar with -a option does not place files after 'posname'"
136	fi
137
138	# The 'a' flag with the 'm' option causes files to be moved after 'posname'
139
140	rm -rf $TCtmp/lib.a
141	cd $TCdat
142
143	ar -cr $TCtmp/lib.a file1.in file2.in file3.in file4.in
144	crtest
145	printf "file1.in\nfile4.in\nfile2.in\nfile3.in\n" > $TCtmp/lib.a.exp
146	ar -ma file1.in $TCtmp/lib.a file4.in
147	mtest
148	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
149	ttest
150
151	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout 1> /dev/null 2> /dev/null
152	then
153		echo "-)2"
154	else
155		TCRESULT=2
156		echo "FAIL - ar with -a option does not move files after 'posname'"
157	fi
158
159	# The 'b' flag causes files to be placed before 'posname'.
160
161	# CODE
162
163	rm -rf $TCtmp/lib.a
164	cd $TCdat
165	ar -cr $TCtmp/lib.a file1.in file3.in
166	crtest
167	printf "file1.in\nfile2.in\nfile3.in\n" > $TCtmp/lib.a.exp
168	ar -rb file3.in $TCtmp/lib.a file2.in
169	rtest
170	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
171	ttest
172
173	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
174	then
175		echo "-)3"
176	else
177		TCRESULT=3
178		echo "FAIL - ar with -b option does not place files before 'posname'"
179	fi
180
181	# The 'b' flag with 'm' option causes files to be moved before 'posname'.
182
183	# CODE
184	rm -rf $TCtmp/lib.a
185	cd $TCdat
186
187	ar -cr $TCtmp/lib.a file1.in file3.in file2.in
188	crtest
189	printf "file1.in\nfile2.in\nfile3.in\n" > $TCtmp/lib.a.exp
190	ar -mb file3.in $TCtmp/lib.a file2.in
191	mtest
192	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
193	ttest
194
195	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
196	then
197		echo "-)4"
198	else
199		TCRESULT=4
200		echo "FAIL - ar with -b option does not move files before 'posname'."
201	fi
202
203	# -c option suppress the messages
204
205	# CODE
206
207	rm -rf $TCtmp/lib.a.exp $TCtmp/lib.a
208	cd $TCdat
209
210	touch $TCtmp/lib.a.exp
211
212	ar -cr $TCtmp/lib.a file1.in > $TCtmp/lib.a.stdout
213	crtest
214
215	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout
216	then
217		echo "-)5"
218	else
219		TCRESULT=5
220		echo "FAIL - ar with -c option did not suppress messages."
221	fi
222
223	# The 'qc' option causes suppresion of the default message when
224	# 'afile' is created.
225
226	# CODE
227	rm -rf $TCtmp/lib.a
228	cd $TCdat
229
230	ar -qc $TCtmp/lib.a file1.in > $TCtmp/lib.a.stdout
231
232	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
233	then
234		echo  "-)6"
235	else
236		TCRESULT=6
237		echo "FAIL - ar with -qc option did not suppress messages."
238	fi
239
240	# The -d option deletes files from archive when names are specified.
241
242	# CODE
243	rm -rf $TCtmp/lib.a
244	cd $TCdat
245
246	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
247	crtest
248	echo "file3.in" > $TCtmp/lib.a.exp
249	ar -d $TCtmp/lib.a file1.in file2.in
250	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
251	ttest
252
253	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
254	then
255		echo  "-)7"
256	else
257		TCRESULT=7
258		echo "FAIL - ar with -d option does not delete files form the archive"
259	fi
260
261	# The -d option does not delete files from archive when no names
262	# are specified.
263
264	# CODE
265	rm -rf $TCtmp/lib.a
266	cd $TCdat
267
268	printf "file1.in\nfile2.in\nfile3.in\n" > $TCtmp/lib.a.exp
269	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
270	crtest
271	ar -d $TCtmp/lib.a >/dev/null 2>&1
272	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
273	ttest
274
275	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
276	then
277		echo  "-)8"
278	else
279		TCRESULT=8
280		echo "FAIL - ar with -d option deleted files even when none were specified"
281	fi
282
283	# The -d does not affect behaviour of -s option.
284
285	# CODE
286	rm -rf $TCtmp/lib.a
287	cd $TCdat
288
289	touch $TCtmp/dummy.in
290	ar -cr $TCtmp/lib.a $TCtmp/dummy.in file1.in file2.in file3.in
291	crtest
292	size1=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
293	ar -ds $TCtmp/lib.a $TCtmp/dummy.in 2>&1 1>/dev/null
294	size2=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
295
296	if [ $size1 -eq $size2 ]
297	then
298		echo  "-)9"
299	else
300		TCRESULT=9
301		echo "FAIL - ar with -d option did affect the -s option"
302	fi
303
304	# The 'i' flag causes files to be placed before 'posname'.
305
306	# CODE
307	rm -rf $TCtmp/lib.a
308	cd $TCdat
309
310	printf "file1.in\nfile2.in\nfile3.in\n" > $TCtmp/lib.a.exp
311	ar -cr $TCtmp/lib.a file1.in file3.in
312	crtest
313	ar -ri file3.in $TCtmp/lib.a file2.in
314	rtest
315	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
316	ttest
317
318	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
319	then
320		echo  "-)10"
321	else
322		TCRESULT=10
323		echo "FAIL - ar with -i did not place the files before 'posname'."
324	fi
325
326	# The 'i' flag with 'm' option causes files to be moved before 'posname'.
327
328	# CODE
329	rm -rf $TCtmp/lib.a
330	cd $TCdat
331
332	ar -cr $TCtmp/lib.a file1.in file3.in file2.in
333	crtest
334	printf "file1.in\nfile2.in\nfile3.in\n" > $TCtmp/lib.a.exp
335	ar -mi file3.in $TCtmp/lib.a file2.in
336	mtest
337	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
338	ttest
339
340	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
341	then
342		echo "-)11"
343	else
344		TCRESULT=11
345		echo "FAIL - ar with -i failed to move files before 'posname'."
346	fi
347
348	# m option moves the files to end of the archive
349
350	# CODE
351
352	rm -rf $TCtmp/lib.a
353	cd $TCdat
354
355	ar -cr $TCtmp/lib.a file1.in file3.in file2.in
356	crtest
357	printf "file1.in\nfile2.in\nfile3.in\n" > $TCtmp/lib.a.exp
358	ar -m $TCtmp/lib.a file3.in
359	mtest
360	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
361	ttest
362
363	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
364	then
365		echo "-)12"
366	else
367		TCRESULT=12
368		echo "FAIL - ar with -m fails to move the files to the end of archive"
369	fi
370
371	# The -p option causes only printing of contents of file contained in
372	# archive.
373
374	# CODE
375	rm -rf $TCtmp/lib.*
376	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
377	crtest
378	printf "This is file one\nThis is file two\nThis is file three\n" > $TCtmp/lib.a.exp
379	ar -p $TCtmp/lib.a 2>&1 1>$TCtmp/lib.a.stdout
380
381	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
382	then
383		echo "-)13"
384	else
385		TCRESULT=13
386		echo "FAIL - ar with -p option failed to print the contents."
387	fi
388
389	# The -p does not affect behaviour of -s option.
390
391	# CODE
392
393	rm -rf $TCtmp/lib.a;cd $TCdat
394	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
395	crtest
396	size1=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
397	ar -ps $TCtmp/lib.a 2>&1 1> /dev/null
398	size2=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
399
400	if [ $size1 -eq $size2 ]
401	then
402		echo "-)14"
403	else
404		TCRESULT=14
405		echo "FAIL - ar with -p did the affect behaviour of -s option"
406	fi
407
408	# The command 'ar -q afile name' appends name to the end of 'afile'.
409
410	# CODE
411
412	rm -rf $TCtmp/lib.a
413	cd $TCdat
414	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
415	crtest
416	printf "file1.in\nfile2.in\nfile3.in\nfile4.in\n" > $TCtmp/lib.a.exp
417	ar -q $TCtmp/lib.a file4.in
418	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout
419	ttest
420
421	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
422	then
423		echo "-)15"
424	else
425		TCRESULT=15
426		echo "FAIL - ar with -q afilename failed to append to the end of file"
427	fi
428
429	# q option does not affect the behaviour of option s
430
431	# CODE
432
433	rm -rf $TCtmp/lib.a;cd $TCdat
434	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
435	crtest
436	size1=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
437	ar -qs $TCtmp/lib.a $TCtmp/dummy.in 2>&1 1>/dev/null
438	size2=`ls -s $TCtmp/lib.a|(read a b; echo $a)`
439
440	if [ $size1 -eq $size2 ]
441	then
442		echo "-)16"
443	else
444		TCRESULT=16
445		echo "FAIL - ar with -q did affect the behaviour of -s option."
446	fi
447
448	# The -s causes regeneration of symbol table even if a symbol table exists.
449
450	echo "-)17 SKIPPED due to binutils ar automatically adds a symbol."
451
452	# CODE
453
454	rm -rf $TCtmp/lib.a;cd $TCdat
455	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
456	crtest
457	printf "file1.in\nfile2.in\nfile3.in\n" > $TCtmp/lib.a.exp
458	ar -t $TCtmp/lib.a >$TCtmp/lib.a.stdout 2>&1
459	ttest
460
461	if diff -b $TCtmp/lib.a.exp $TCtmp/lib.a.stdout >/dev/null 2>&1
462	then
463		echo "-)18"
464	else
465		TCRESULT=18
466		echo "FAIL - ar with -t did not print as desired"
467	fi
468
469	# The -t does not affect behaviour of -s option.
470
471	echo "-)19 SKIPPED due to binutils ar automatically adds a symbol."
472
473	# The 'u' flag causes files only with later modification date than
474	# in archive are replaced.
475
476	# CODE
477	rm -rf $TCtmp/lib.a
478	cd $TCdat
479
480	ar -cr $TCtmp/lib.a file0.in file2.in
481	crtest
482	File1time=`ar -tv $TCtmp/lib.a | grep file0.in`
483	File2time=`ar -tv $TCtmp/lib.a | grep file2.in`
484
485	#sleep 5
486	touch -c -t $(date --date='next day' +"%Y%m%d%H%M") file0.in
487
488	ar -ru $TCtmp/lib.a file0.in file2.in 2>&1 1>/dev/null
489	File1time1=`ar -tv $TCtmp/lib.a | grep file0.in`
490	File2time2=`ar -tv $TCtmp/lib.a | grep file2.in`
491
492	if [ "$File2time" = "$File2time2" ]
493	then
494		if [ "$File1time" = "$File1time1" ]
495		then
496			TCRESULT=20
497			echo "FAIL - ar with -u flag failed"
498		else
499			echo "-)20"
500		fi
501	else
502		TCRESULT=20
503		echo "FAIL - ar with -u flag failed"
504	fi
505	# Reset the timestamp on file0.in to current
506	touch file0.in
507
508	# This is the next assertion
509
510	# CODE
511
512	Count=0
513	rm -rf $TCtmp/lib.a;cd $TCdat
514	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
515	crtest
516	Sysmonth=`date | cut -f2 -d" "`
517	Month=`ar -tv $TCtmp/lib.a | grep "file2.in" | awk '{print $4}'`
518	Count=`ar -tv $TCtmp/lib.a | wc -l`
519
520	if [ $Sysmonth = $Month ] && [ $Count -eq 3 ]
521	then
522		echo "-)21"
523	else
524	    	TCRESULT=21
525		echo "FAIL - ar with -v flag failed to print a line for each file"
526	fi
527
528	# The -v option produces a verbose listing like ls -n
529
530	# CODE
531
532	rm -rf $TCtmp/lib.a;cd $TCdat $TCtmp/lib.a.exp *out
533	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
534	crtest
535
536	ls -ln --time-style=+%b" "%e" "%H:%M file1.in file2.in file3.in |
537	while read permissions link uid gid size month day time file_name
538	do
539		echo "${permissions%.};$uid/$gid;$size;$month;$day;$time;$file_name"
540	done >>  $TCtmp/lib.a.exp
541
542	ar -tv $TCtmp/lib.a |
543	while read permissions uid size month day time year file_name
544	do
545		echo "-$permissions;$uid;$size;$month;$day;$time;$file_name"
546	done >> $TCtmp/lib.a.stdout
547	ttest
548
549	diff $TCtmp/lib.a.exp $TCtmp/lib.a.stdout
550	if [ $? -eq 0 ]
551	then
552		echo "-)22"
553	else
554		TCRESULT=22
555		echo "FAIL - ar with -v failed to produce a verbose out put"
556	fi
557
558	# The 'v' option causes the 'x' option to display a filename for each
559	# file extracted.
560
561	# CODE
562
563	rm -rf $TCtmp/lib.a;cd $TCdat
564	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
565	crtest
566	Count=`ar -xv $TCtmp/lib.a | wc -l`
567
568	if [ $Count = '3' ]
569	then
570		echo "-)23"
571	else
572		TCRESULT=23
573		echo "FAIL - ar with -v along with x did not display extracted file names"
574	fi
575
576	# The command 'ar -x afile ' causes all files from the archive to be extracted.
577
578	# CODE
579
580	rm -rf $TCtmp/lib.a;cd $TCdat
581	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
582	crtest
583
584	Count=`ar -xv $TCtmp/lib.a | wc -l`
585
586	if [ $Count -eq '3' ]
587	then
588		echo "-)24"
589	else
590		TCRESULT=24
591		echo "FAIL - ar with -x flag did not extract all file"
592	fi
593
594	# The command 'ar -x afile name name' causes only named files from
595	# the archive to be extracted.
596
597	# CODE
598	rm -rf $TCtmp/lib.a;cd $TCdat
599	ar -cr $TCtmp/lib.a file1.in file2.in file3.in
600	crtest
601	Count=`ar -xv $TCtmp/lib.a file1.in | grep file | wc -l`
602
603	if [ $Count = '1' ]
604	then
605		echo "-)25"
606	else
607		TCRESULT=25
608		echo "FAIL - ar with -x lib filename did not extract the named file alone"
609	fi
610
611	# This test will fail under pan, so it's commented out by default.
612	echo "-)26 SKIPPED UNDER PAN"
613	#
614	# Signal SIGHUP
615
616	# CODE
617
618	rm -rf $TCtmp/lib.*
619
620	ar -vr $TCtmp/lib.a $LIST >>$TCtmp/lib.a.stdout&
621	while [ ! -s $TCtmp/lib.a ]
622	do
623		sleep 1
624	done
625	kill -s 2 $! >/dev/null 2>&1
626
627	sleep 1
628	if [ `wc -l $TCtmp/lib.a.stdout|(read a b;echo $a)` -ne 100 ]
629	then
630		TCRESULT=27
631		echo "FAIL - ar could not create the archive ; killed by SIGINIT"
632	else
633		echo "-)27"
634	fi
635
636	# Signal SIGQUIT
637
638	# CODE
639
640	rm -rf $TCtmp/lib.*
641
642	ar -vr $TCtmp/lib.a $LIST >>$TCtmp/lib.a.stdout&
643	while [ ! -s $TCtmp/lib.a ]
644	do
645		sleep 1
646	done
647	kill -s 3 $! >/dev/null 2>&1
648
649	sleep 1
650	if [ `wc -l $TCtmp/lib.a.stdout|(read a b;echo $a)` -ne 100 ]
651	then
652		TCRESULT=28
653		echo "FAIL - ar could not create the archive ; killed by SIGQUIT"
654	else
655		echo "-)28"
656	fi
657
658	# Signal SIGHUP; ar should not remove archive that existed before invocation.
659
660	# CODE
661
662	rm -rf $TCtmp/lib.a;cd $TCdat $TCtmp/lib.a.stdout
663	ar -rv $TCtmp/lib.a file1.in file2.in file3.in 2>&1 1>$TCtmp/lib.a.stdout
664	rtest
665	ar -rv $TCtmp/lib.a $LIST 2>&1 1>>$TCtmp/lib.a.stdout&
666	rtest
667	while [ ! -s $TCtmp/lib.a ]
668	do
669		sleep 1
670	done
671	sleep 1
672	kill -s 1 $! 2>&1 1>/dev/null | read a
673
674	if [ `wc -l $TCtmp/lib.a.stdout|(read a b;echo $a)` -ne 103 ]
675	then
676		TCRESULT=29
677		echo "FAIL - ar could not complete the archive ; killed by SIGHUP"
678	else
679		echo "-)29"
680	fi
681
682	# Signal SIGINIT; ar should not remove archive that existed before invocation.
683
684	# CODE
685
686	rm -rf $TCtmp/lib.a
687	cd $TCdat $TCtmp/lib.a.stdout
688	ar -rv $TCtmp/lib.a file1.in file2.in file3.in 2>&1 1>$TCtmp/lib.a.stdout
689	rtest
690	ar -rv $TCtmp/lib.a $LIST 2>&1 1>>$TCtmp/lib.a.stdout&
691	rtest
692	while [ ! -s $TCtmp/lib.a ]
693	do
694		sleep 1
695	done
696	sleep 1
697
698	kill -s 2 $! 2>&1 1>/dev/null | read a
699
700	if [ `wc -l $TCtmp/lib.a.stdout|(read a b;echo $a)` -ne 103 ]
701	then
702		TCRESULT=30
703		echo "FAIL - ar could not complete the archive ; killed by SIGINIT"
704	else
705		echo "-)30"
706	fi
707
708	# Signal SIGQUIT; ar should not remove archive that existed before invocation.
709
710	# CODE
711
712	rm -rf $TCtmp/lib.a
713	cd $TCdat
714	ar -rv $TCtmp/lib.a file1.in file2.in file3.in 2>&1 1>$TCtmp/lib.a.stdout
715	rtest
716	ar -rv $TCtmp/lib.a $LIST 2>&1 1>>$TCtmp/lib.a.stdout&
717	rtest
718	while [ ! -s $TCtmp/lib.a ]
719	do
720		sleep 1
721	done
722	sleep 1
723	kill -s 3 $! 2>&1 1>/dev/null | read a
724
725	if [ `wc -l $TCtmp/lib.a.stdout|(read a b;echo $a)` -ne 103 ]
726	then
727		TCRESULT=31
728		echo "FAIL - ar could not complete the archive ; killed by SIGQUIT"
729	else
730		echo "-)31"
731	fi
732
733	rm -rf $TCtmp
734	COUNT=`expr $COUNT + 1`
735
736done
737cleanup
738