Fix CFLAGS/LDFLAGS syntax
[platform/upstream/lrzsz.git] / check.lrzsz
1 #! /bin/sh
2
3 testdir="testdir.lrzsz"
4 srcdir="$1"
5 if test $srcdir = . ; then
6         srcdir=`pwd`
7 fi
8 if test $srcdir = .. ; then
9         srcdir=`pwd`/..
10 fi
11 objdir="$2"
12 if test $objdir = . ; then
13         objdir=`pwd`
14 fi
15
16 if test "x$3" = x ; then
17         mode=all
18 else
19         mode=$3
20 fi
21
22 #SZBUFSIZE="-B 524288"
23 RZBUFSIZE="-B 524288"
24
25 SZ="$objdir/src/lsz"
26 RZ="$objdir/src/lrz"
27
28 echo checking with srcdir = $1 and objdir = $2
29
30 # z_test_files: files to test zmodem with.
31 # z8_test_files: files to test zmodem-8k with. Optional.
32 # y_test_files: files to test ymodem with.
33 # x_test_files: files to test xmodem with. Must be ascii, as we need the
34 #               ascii mode to remove the padding ^Zs.
35
36 # generate list of testfiles 
37 z_test_files=""
38 for i in $srcdir/src/l?z.c ; do
39         z_test_files="$z_test_files $i" 
40         x_test_files="$x_test_files $i" 
41 done
42 for i in $objdir/src/l?z ; do
43         z_test_files="$z_test_files $i" 
44         y_test_files="$y_test_files $i" 
45 done
46 for i in /pub/gnu/emacs-1*.tar.gz ; do
47         if test -f "$i" ; then
48                 z8_test_files="$z8_test_files $i" 
49                 z_test_files="$z_test_files $i" 
50         fi
51 done
52
53 # change to tmp dir
54 if test "x$TMPDIR" = x ; then
55         cd /tmp
56 else
57         cd $TMPDIR || cd /tmp
58 fi
59
60 rm -rf $testdir
61 mkdir $testdir
62 exec 5>$testdir/error.log
63 (mkfifo $testdir/pipe || mknod $testdir/pipe p) 2>&5
64
65 # test zmodem
66 if test "$mode" = all -o "$mode" = z ; then
67         echo "testing ZMODEM"
68         mkdir $testdir/zmodem
69         failed=0
70         ($SZ -q $SZBUFSIZE $z_test_files ) <$testdir/pipe | \
71                 (cd $testdir/zmodem ; exec $RZ $RZBUFSIZE $QUIET >>../pipe )
72         for i in $z_test_files ; do 
73                 bn=`basename $i`
74                 cmp $i $testdir/zmodem/$bn
75                 if test $? -eq 0 ; then
76                         rm -f $testdir/zmodem/$bn
77                 else
78                         failed=1
79                 fi
80         done
81         rmdir $testdir/zmodem 2>&5
82         if test $failed = 1 ; then 
83                 echo "ZMODEM test failed"
84                 any_failure="$any_failure ZMODEM"
85         fi
86 fi
87 # test zmodem framlen
88 if test "$mode" = f ; then
89         echo "testing ZMODEMframlen"
90         mkdir $testdir/zmodem
91         failed=0
92         ($SZ -q $SZBUFSIZE -l 128 $z_test_files ) <$testdir/pipe | \
93                 (cd $testdir/zmodem ; exec $RZ $RZBUFSIZE $QUIET >>../pipe )
94         for i in $z_test_files ; do 
95                 bn=`basename $i`
96                 cmp $i $testdir/zmodem/$bn
97                 if test $? -eq 0 ; then
98                         rm -f $testdir/zmodem/$bn
99                 else
100                         failed=1
101                 fi
102         done
103         rmdir $testdir/zmodem 2>&5
104         if test $failed = 1 ; then 
105                 echo "ZMODEM test failed"
106                 any_failure="$any_failure ZMODEM"
107         fi
108 fi
109
110 # test zmodem-4k
111 if test "$mode" = all -o "$mode" = z4 ; then
112         echo "testing ZMODEM4K"
113         mkdir $testdir/zmodem4k
114         failed=0
115         ($SZ -q4 $SZBUFSIZE $z_test_files ) <$testdir/pipe | \
116                 (cd $testdir/zmodem4k ; exec $RZ $RZBUFSIZE $QUIET >>../pipe )
117         for i in $z_test_files ; do 
118                 bn=`basename $i`
119                 cmp $i $testdir/zmodem4k/$bn
120                 if test $? -eq 0 ; then
121                         rm -f $testdir/zmodem4k/$bn
122                 else
123                         failed=1
124                 fi
125         done
126         rmdir $testdir/zmodem4k 2>&5
127         if test $failed = 1 ; then 
128                 echo "ZMODEM4k test failed"
129                 any_failure="$any_failure ZMODEM4k"
130         fi
131 fi
132
133 # test zmodem8k
134 if test "$mode" = all -o "$mode" = z8 ; then
135         # we test this only if we have something really large, because this is
136         # we only case we can expect any differences
137         if test "x$z8_test_files" = x ; then
138                 :
139         else
140                 echo "testing ZMODEM8K"
141                 mkdir $testdir/zmodem8k
142                 failed=0
143                 $SZ -q8OT $SZBUFSIZE $z8_test_files <$testdir/pipe | \
144                         (cd $testdir/zmodem8k ; $RZ -O $RZBUFSIZE $QUIET >>../pipe )
145                 for i in $z8_test_files ; do 
146                         bn=`basename $i`
147                         cmp $i $testdir/zmodem8k/$bn
148                         if test $? -eq 0 ; then
149                                 rm -f $testdir/zmodem8k/$bn
150                         else
151                                 failed=1
152                         fi
153                 done
154                 if test $failed = 1 ; then 
155                         echo "ZMODEM8k test failed"
156                         any_failure="$any_failure ZMODEM8k"
157                 fi
158                 rmdir $testdir/zmodem8k 2>&5
159         fi
160 fi
161
162 if test "$mode" = all -o "$mode" = z8N ; then
163         # we test this only if we have something really large, because this is
164         # we only case we can expect any differences
165         if test "x$z8_test_files" = x ; then
166                 :
167         else
168                 echo "testing ZMODEM8K-NULL"
169                 mkdir $testdir/zmodem8k-NULL
170                 $SZ -q8OT $SZBUFSIZE $z8_test_files <$testdir/pipe | \
171                         (cd $testdir/zmodem8k-NULL ; $RZ -DO $RZBUFSIZE $QUIET >>../pipe )
172                 rmdir $testdir/zmodem8k-NULL 2>&5
173         fi
174 fi
175
176 # test zmodem-tcp
177 # inband tcp: stdin/out connection needed.
178 if test "$mode" = all -o "$mode" = tcp ; then
179         echo "testing ZMODEMtcp"
180         mkdir $testdir/zmodemtcp
181         failed=0
182         ($SZ --tcp -q $SZBUFSIZE $z_test_files ) <$testdir/pipe | \
183                 (cd $testdir/zmodemtcp ; exec $RZ $RZBUFSIZE $QUIET >>../pipe )
184         for i in $z_test_files ; do 
185                 bn=`basename $i`
186                 cmp $i $testdir/zmodemtcp/$bn
187                 if test $? -eq 0 ; then
188                         rm -f $testdir/zmodemtcp/$bn
189                 else
190                         failed=1
191                 fi
192         done
193         rmdir $testdir/zmodemtcp 2>&5
194         if test $failed = 1 ; then 
195                 echo "ZMODEMtcp test failed"
196                 any_failure="$any_failure ZMODEMtcp"
197         fi
198 fi
199 if test "$mode" = all -o "$mode" = tcp4 ; then
200         echo "testing ZMODEMtcp4k"
201         mkdir $testdir/zmodemtcp4k
202         failed=0
203         ($SZ --tcp -q4 $SZBUFSIZE $z_test_files ) <$testdir/pipe | \
204                 (cd $testdir/zmodemtcp4k ; exec $RZ $RZBUFSIZE $QUIET >>../pipe )
205         for i in $z_test_files ; do 
206                 bn=`basename $i`
207                 cmp $i $testdir/zmodemtcp4k/$bn
208                 if test $? -eq 0 ; then
209                         rm -f $testdir/zmodemtcp4k/$bn
210                 else
211                         failed=1
212                 fi
213         done
214         rmdir $testdir/zmodemtcp4k 2>&5
215         if test $failed = 1 ; then 
216                 echo "ZMODEMtcp4k test failed"
217                 any_failure="$any_failure ZMODEMtcp4k"
218         fi
219 fi
220 if test "$mode" = all -o "$mode" = tcp8 ; then
221         echo "testing ZMODEMtcp8k"
222         mkdir $testdir/zmodemtcp8k
223         failed=0
224         ($SZ --tcp -q8OT $SZBUFSIZE $z_test_files ) <$testdir/pipe | \
225                 (cd $testdir/zmodemtcp8k ; exec $RZ $RZBUFSIZE $QUIET >>../pipe )
226         for i in $z_test_files ; do 
227                 bn=`basename $i`
228                 cmp $i $testdir/zmodemtcp8k/$bn
229                 if test $? -eq 0 ; then
230                         rm -f $testdir/zmodemtcp8k/$bn
231                 else
232                         failed=1
233                 fi
234         done
235         rmdir $testdir/zmodemtcp8k 2>&5
236         if test $failed = 1 ; then 
237                 echo "ZMODEMtcp8k test failed"
238                 any_failure="$any_failure ZMODEMtcp8k"
239         fi
240 fi
241 # out-of-band tcp
242 if test "$mode" = tcpo ; then
243         echo "testing ZMODEMtcpo"
244         mkdir $testdir/zmodemtcpo
245         failed=0
246         $SZ --tcp-server -q $SZBUFSIZE $z_test_files | \
247                 perl -e '$|=1; while(<>) {if (/^connect with .* "(.*)"/) {print $1 . "\n";}}' |
248         ( cd $testdir/zmodemtcpo ; xargs -l1 $RZ $RZBUFSIZE -vv --tcp-client )
249         for i in $z_test_files ; do 
250                 bn=`basename $i`
251                 cmp $i $testdir/zmodemtcpo/$bn
252                 if test $? -eq 0 ; then
253                         rm -f $testdir/zmodemtcpo/$bn
254                 else
255                         failed=1
256                 fi
257         done
258         rmdir $testdir/zmodemtcpo 2>&5
259         if test $failed = 1 ; then 
260                 echo "ZMODEMtcpo test failed"
261                 any_failure="$any_failure ZMODEMtcpo"
262         fi
263 fi
264
265 if test "$mode" = error ; then
266         # we test this only if we have something really large, because this is
267         # we only case we can expect any differences
268         if test "x$y_test_files" = x ; then
269                 :
270         else
271                 echo "testing error, lsz"
272                 mkdir $testdir/error.lsz
273                 failed=0
274                 # strace -vs 128 -o out $SZ -8 -vvvvvvvv $SZBUFSIZE $y_test_files <$testdir/pipe | \
275                 $SZ -8q $SZBUFSIZE $y_test_files <$testdir/pipe | \
276                         (cd $testdir/error.lsz ; $RZ --errors 32768 $RZBUFSIZE $QUIET >>../pipe 2>/dev/null)
277                 for i in $y_test_files ; do 
278                         bn=`basename $i`
279                         cmp $i $testdir/error.lsz/$bn
280                         if test $? -eq 0 ; then
281                                 rm -f $testdir/error.lsz/$bn
282                         else
283                                 failed=1
284                         fi
285                 done
286                 if test $failed = 1 ; then 
287                         echo "error test failed"
288                         any_failure="$any_failure error.lsz"
289                 fi
290                 rmdir $testdir/error.lsz 2>&5
291
292                 # omen zmodem has a really bad error behaviour. it gets so slow
293                 # that you wouldn't believe it ...
294                 echo "testing error, omen.sz"
295                 mkdir $testdir/error.omen
296                 failed=0
297                 omen.sz $y_test_files <$testdir/pipe | \
298                         (cd $testdir/error.omen ; $RZ -vvv --errors 32768 $RZBUFSIZE $QUIET >>../pipe 2>/tmp/out2)
299                 for i in $y_test_files ; do 
300                         bn=`basename $i`
301                         cmp $i $testdir/error.omen/$bn
302                         if test $? -eq 0 ; then
303                                 rm -f $testdir/error.omen/$bn
304                         else
305                                 failed=1
306                         fi
307                 done
308                 if test $failed = 1 ; then 
309                         echo "error.omen test failed"
310                         any_failure="$any_failure error.omen"
311                 fi
312                 rmdir $testdir/error.omen 2>&5
313
314                 echo "testing error, zm.sz"
315                 mkdir $testdir/error.zm
316                 failed=0
317                 zmtx $y_test_files <$testdir/pipe | \
318                         (cd $testdir/error.zm ; $RZ -vvv --errors 32768 $RZBUFSIZE $QUIET >>../pipe 2>/tmp/out2)
319                 for i in $y_test_files ; do 
320                         bn=`basename $i`
321                         cmp $i $testdir/error.zm/$bn
322                         if test $? -eq 0 ; then
323                                 rm -f $testdir/error.zm/$bn
324                         else
325                                 failed=1
326                         fi
327                 done
328                 if test $failed = 1 ; then 
329                         echo "error.zm test failed"
330                         any_failure="$any_failure error.zm"
331                 fi
332                 rmdir $testdir/error.zm 2>&5
333         fi
334 fi
335
336
337 # test ymodem
338 if test "$mode" = all -o "$mode" = y ; then
339         echo "testing YMODEM"
340         mkdir $testdir/ymodem
341         failed=0
342         $SZ --ymodem -q $y_test_files <$testdir/pipe | \
343                 (cd $testdir/ymodem ; $RZ $QUIET --ymodem >>../pipe)
344         for i in $y_test_files ; do 
345                 bn=`basename $i`
346                 cmp $i $testdir/ymodem/$bn
347                 if test $? -eq 0 ; then
348                         rm -f $testdir/ymodem/$bn
349                 else
350                         failed=1
351                 fi
352         done
353         rmdir $testdir/ymodem 2>&5
354         if test $failed = 1 ; then 
355                 echo "YMODEM test failed"
356                 any_failure="$any_failure YMODEM"
357         fi
358 fi
359
360 if test "$mode" = all -o "$mode" = x ; then
361         echo "testing XMODEM"
362         mkdir $testdir/xmodem
363         failed=0
364         for i in $x_test_files; do
365                 bn=`basename $i`
366                 $SZ --xmodem -qa $i <$testdir/pipe | \
367                         (cd $testdir/xmodem ; $RZ $QUIET -a --xmodem $bn >>../pipe)
368                 cmp $i $testdir/xmodem/$bn
369                 if test $? -eq 0 ; then
370                         rm -f $testdir/xmodem/$bn
371                 else
372                         failed=1
373                 fi
374         done
375         rmdir $testdir/xmodem 2>&5
376         if test $failed = 1 ; then 
377                 echo "XMODEM test failed"
378                 any_failure="$any_failure XMODEM"
379         fi
380 fi
381
382 if test "$mode" = all -o "$mode" = manage ; then
383         echo "testing file management, appending"
384         mkdir $testdir/manag.append
385         failed=0
386         $SZ -q --append $srcdir/src/lsz.c $srcdir/src/lsz.c <$testdir/pipe | \
387                 (cd $testdir/manag.append ; $RZ $QUIET >>../pipe)
388         rm -f $testdir/manag.append/compare
389         cp $srcdir/src/lsz.c $testdir/manag.append/compare
390         cat $srcdir/src/lsz.c >>$testdir/manag.append/compare
391         cmp $testdir/manag.append/compare $testdir/manag.append/lsz.c
392         if test $? -eq 0 ; then
393                 rm -f $testdir/manag.append/lsz.c
394                 rm -f $testdir/manag.append/compare
395         else
396                 failed=1
397         fi
398         rmdir $testdir/manag.append 2>&5
399         if test $failed = 1 ; then 
400                 echo "management/append test failed"
401                 any_failure="$any_failure manag.append"
402         fi
403
404         echo "testing file management, renaming"
405         mkdir $testdir/manag.rename
406         failed=0
407         rm -f $testdir/manag.rename/lsz.c
408         cp $srcdir/src/lsz.c $testdir/manag.rename/
409         $SZ -q --rename $srcdir/src/lsz.c $srcdir/src/lsz.c <$testdir/pipe | \
410                 (cd $testdir/manag.rename ; $RZ $QUIET >>../pipe)
411         cmp $testdir/manag.rename/lsz.c $srcdir/src/lsz.c
412         if test $? -ne 0 ; then
413                 failed=1
414         else
415                 cmp $testdir/manag.rename/lsz.c.0 $srcdir/src/lsz.c
416                 if test $? -ne 0 ; then
417                         failed=1        
418                 else
419                         cmp $testdir/manag.rename/lsz.c.1 $srcdir/src/lsz.c
420                         if test $? -ne 0 ; then
421                                 failed=1        
422                         fi
423                 fi
424         fi
425         if test $failed -eq 0 ; then
426                 rm -f $testdir/manag.rename/lsz.c
427                 rm -f $testdir/manag.rename/lsz.c.0
428                 rm -f $testdir/manag.rename/lsz.c.1
429         fi
430         rmdir $testdir/manag.rename 2>&5
431         if test $failed = 1 ; then 
432                 echo "management/rename test failed"
433                 any_failure="$any_failure manag.rename"
434         fi
435 fi
436
437
438 # resume -r 
439 if test "$mode" = all -o "$mode" = sz-r ; then
440         mkdir $testdir/resume-s
441         echo "testing ZMODEM resume (sz -r)"
442         dd if=$srcdir/src/Makefile.in of=$testdir/resume-s/lsz.c bs=256 count=5 2>&5
443         ($SZ -rq $srcdir/src/lsz.c) <$testdir/pipe | \
444                 (cd $testdir/resume-s ; $RZ $QUIET >>../pipe )
445         echo "differences are normal:" >&5
446         if cmp $srcdir/src/lsz.c $testdir/resume-s/lsz.c >&5 ; then
447                 echo "receiver did not resume, but file is ok"
448                 any_failure="$any_failure ZMODEM-resume/sz"
449         else
450                 dd if=$srcdir/src/lsz.c of=$testdir/resume-s/lsz.c1 bs=256 count=5 2>&5
451                 dd if=$testdir/resume-s/lsz.c bs=256 skip=5 >>$testdir/resume-s/lsz.c1 2>&5
452                 if cmp $srcdir/src/lsz.c $testdir/resume-s/lsz.c1 ; then
453                         :
454                         rm -f $testdir/resume-s/lsz.c
455                         rm -f $testdir/resume-s/lsz.c1
456                         rmdir $testdir/resume-s 2>&5
457                 else
458                         echo "sender resumed, but files differ. This is really bad"
459                         any_failure="$any_failure ZMODEM-resume/sz"
460                 fi
461         fi
462 fi
463
464 if test "$mode" = all -o "$mode" = rz-r ; then
465     echo "testing ZMODEM resume (rz -r)"
466         mkdir $testdir/resume-r 2>&5
467         dd if=$srcdir/src/Makefile.in of=$testdir/resume-r/lsz.c bs=256 count=5 2>&5
468         ($SZ -q $srcdir/src/lsz.c) <$testdir/pipe | \
469                 (cd $testdir/resume-r ; $RZ -r $QUIET >>../pipe )
470         echo "differences are normal:" >&5
471         if cmp $srcdir/src/lsz.c $testdir/resume-r/lsz.c >&5 ; then
472                 echo "receiver did not resume, but file is ok"
473                 any_failure="$any_failure ZMODEM-resume/rz"
474         else
475                 dd if=$srcdir/src/lsz.c of=$testdir/resume-r/lsz.c1 bs=256 count=5 2>&5
476                 dd if=$testdir/resume-r/lsz.c bs=256 skip=5 >>$testdir/resume-r/lsz.c1 2>&5
477                 if cmp $srcdir/src/lsz.c $testdir/resume-r/lsz.c1 ; then
478                         :
479                         rm -f $testdir/resume-r/lsz.c
480                         rm -f $testdir/resume-r/lsz.c1
481                         rmdir $testdir/resume-r 2>&5
482                 else
483                         echo "sender resumed, but files differ. This is really bad"
484                         any_failure="$any_failure ZMODEM-resume/rz"
485                 fi
486         fi
487 fi
488
489 # test lsz -> original rz
490 if test "$mode" = orig-rz ; then
491         echo "testing ZMODEM"
492         mkdir $testdir/zmodem
493         failed=0
494         ($SZ -q  $SZBUFSIZE $z_test_files ) 2>/dev/null <$testdir/pipe | \
495                 (cd $testdir/zmodem ; exec omen.rz $QUIET >>../pipe)
496         for i in $z_test_files ; do 
497                 bn=`basename $i`
498                 cmp $i $testdir/zmodem/$bn
499                 if test $? -eq 0 ; then
500                         rm -f $testdir/zmodem/$bn
501                 else
502                         failed=1
503                 fi
504         done
505         rmdir $testdir/zmodem 2>&5
506         if test $failed = 1 ; then 
507                 echo "orig-rz test failed"
508                 any_failure="$any_failure orig-rz"
509         fi
510 fi
511
512
513 # test original sz -> lrz
514 if test "$mode" = orig-sz ; then
515         echo "testing ZMODEM"
516         mkdir $testdir/zmodem
517         failed=0
518         (omen.sz $z_test_files ) 2>/dev/null <$testdir/pipe | \
519                 (cd $testdir/zmodem ; exec $RZ >>../pipe)
520         for i in $z_test_files ; do 
521                 bn=`basename $i`
522                 cmp $i $testdir/zmodem/$bn
523                 if test $? -eq 0 ; then
524                         rm -f $testdir/zmodem/$bn
525                 else
526                         failed=1
527                 fi
528         done
529         rmdir $testdir/zmodem 2>&5
530         if test $failed = 1 ; then 
531                 echo "orig-sz test failed"
532                 any_failure="$any_failure orig-sz"
533         fi
534 fi
535
536 # test original sz -> lrz
537 if test "$mode" = orig-kombi ; then
538         echo "testing ZMODEM"
539         mkdir $testdir/zmodem
540         failed=0
541         (omen.sz $y_test_files ; 
542                         sleep 1; 
543                         cd $testdir/zmodem; 
544                         echo \18\18\18\18\18\18\18\18\18\18\18\18\18
545                         exec omen.rz ) 2>/dev/null <$testdir/pipe | \
546                 (cd $testdir/zmodem ; 
547                         $RZ ; 
548                         rm -f * ; 
549                         sleep 3 ;
550                         $SZ $y_test_files ) >>$testdir/pipe
551         for i in $y_test_files ; do 
552                 bn=`basename $i`
553                 cmp $i $testdir/zmodem/$bn
554                 if test $? -eq 0 ; then
555                         rm -f $testdir/zmodem/$bn
556                 else
557                         failed=1
558                 fi
559         done
560         rmdir $testdir/zmodem 2>&5
561         if test $failed = 1 ; then 
562                 echo "orig-kombi test failed"
563                 any_failure="$any_failure orig-kombi"
564         fi
565 fi
566
567 # test lsz -> zm rz (zxrx)
568 if test "$mode" = zm-rz ; then
569         echo "testing ZMODEM"
570         mkdir $testdir/zmodem
571         failed=0
572         ($SZ -q  $SZBUFSIZE $z_test_files ) 2>/dev/null <$testdir/pipe | \
573                 (cd $testdir/zmodem ; exec zmrx $QUIET >>../pipe)
574         for i in $z_test_files ; do 
575                 bn=`basename $i`
576                 cmp $i $testdir/zmodem/$bn
577                 if test $? -eq 0 ; then
578                         rm -f $testdir/zmodem/$bn
579                 else
580                         failed=1
581                 fi
582         done
583         rmdir $testdir/zmodem 2>&5
584         if test $failed = 1 ; then 
585                 echo "orig-rz test failed"
586                 any_failure="$any_failure zm-rz"
587         fi
588 fi
589
590 # test zm sz (zmtx) -> lrz
591 if test "$mode" = zm-sz ; then
592         echo "testing ZMODEM"
593         mkdir $testdir/zmodem
594         failed=0
595         (zmtx $z_test_files ) 2>/dev/null <$testdir/pipe | \
596                 (cd $testdir/zmodem ; exec $RZ >>../pipe)
597         for i in $z_test_files ; do 
598                 bn=`basename $i`
599                 cmp $i $testdir/zmodem/$bn
600                 if test $? -eq 0 ; then
601                         rm -f $testdir/zmodem/$bn
602                 else
603                         failed=1
604                 fi
605         done
606         rmdir $testdir/zmodem 2>&5
607         if test $failed = 1 ; then 
608                 echo "orig-sz test failed"
609                 any_failure="$any_failure zm-sz"
610         fi
611 fi
612
613 # test turbo mode lsz -> zmrx, omen.rz, lrz
614 if test "$mode" = turbo ; then
615         echo "testing turbo -> zmrx"
616         mkdir $testdir/turbo.zmrx
617         failed=0
618         ($SZ -qT $SZBUFSIZE $z_test_files ) 2>/dev/null <$testdir/pipe | \
619                 (cd $testdir/turbo.zmrx ; exec zmrx >>../pipe)
620         for i in $z_test_files ; do 
621                 bn=`basename $i`
622                 cmp $i $testdir/turbo.zmrx/$bn
623                 if test $? -eq 0 ; then
624                         rm -f $testdir/turbo.zmrx/$bn
625                 else
626                         failed=1
627                 fi
628         done
629         rmdir $testdir/turbo.zmrx 2>&5
630         if test $failed = 1 ; then 
631                 echo "turbo-zmrx test failed"
632                 any_failure="$any_failure turbo-zmrx"
633         fi
634
635         echo "testing turbo -> omen.rz"
636         mkdir $testdir/turbo.omen.rz
637         failed=0
638         ($SZ -qT $SZBUFSIZE $z_test_files ) 2>/dev/null <$testdir/pipe | \
639                 (cd $testdir/turbo.omen.rz ; exec omen.rz >>../pipe)
640         for i in $z_test_files ; do 
641                 bn=`basename $i`
642                 cmp $i $testdir/turbo.omen.rz/$bn
643                 if test $? -eq 0 ; then
644                         rm -f $testdir/turbo.omen.rz/$bn
645                 else
646                         failed=1
647                 fi
648         done
649         rmdir $testdir/turbo.omen.rz 2>&5
650         if test $failed = 1 ; then 
651                 echo "turbo-omen.rz test failed"
652                 any_failure="$any_failure turbo-omen.rz"
653         fi
654
655         echo "testing turbo -> lrz"
656         mkdir $testdir/turbo.lrz
657         failed=0
658         ($SZ -qT $SZBUFSIZE $z_test_files ) 2>/dev/null <$testdir/pipe | \
659                 (cd $testdir/turbo.lrz ; exec lrz >>../pipe)
660         for i in $z_test_files ; do 
661                 bn=`basename $i`
662                 cmp $i $testdir/turbo.lrz/$bn
663                 if test $? -eq 0 ; then
664                         rm -f $testdir/turbo.lrz/$bn
665                 else
666                         failed=1
667                 fi
668         done
669         rmdir $testdir/turbo.omen.rz 2>&5
670         if test $failed = 1 ; then 
671                 echo "turbo-lrz test failed"
672                 any_failure="$any_failure turbo-lrz"
673         fi
674 fi
675
676 #
677 # startup timing checks
678 #
679 # test lsz -> zm rz (zxrx)
680 if test "$mode" = startup ; then
681
682         echo "testing lsz -> zm rz. lsz sleeps 10 seconds"
683         mkdir $testdir/startup.1
684         failed=0
685         ($SZ --delay-startup 10 -q  $SZBUFSIZE $z_test_files ) 2>/dev/null <$testdir/pipe | \
686                 (cd $testdir/startup.1 ; exec zmrx $QUIET >>../pipe)
687         for i in $z_test_files ; do 
688                 bn=`basename $i`
689                 cmp $i $testdir/startup.1/$bn
690                 if test $? -eq 0 ; then
691                         rm -f $testdir/startup.1/$bn
692                 else
693                         failed=1
694                 fi
695         done
696         rmdir $testdir/startup.1 2>&5
697         if test $failed = 1 ; then 
698                 echo "zm-rz startup-timing test failed"
699                 any_failure="$any_failure zm-rz-startup-timing"
700         fi
701
702         echo "testing lsz -> omen.rz. lsz sleeps 10 seconds"
703         mkdir $testdir/startup.2
704         failed=0
705         ($SZ --delay-startup 10 -q  $SZBUFSIZE $z_test_files ) 2>/dev/null <$testdir/pipe | \
706                 (cd $testdir/startup.2 ; exec omen.rz $QUIET >>../pipe)
707         for i in $z_test_files ; do 
708                 bn=`basename $i`
709                 cmp $i $testdir/startup.2/$bn
710                 if test $? -eq 0 ; then
711                         rm -f $testdir/startup.2/$bn
712                 else
713                         failed=1
714                 fi
715         done
716         rmdir $testdir/startup.2 2>&5
717         if test $failed = 1 ; then 
718                 echo "omen.rz startup-timing test failed"
719                 any_failure="$any_failure omen-rz-startup-timing"
720         fi
721
722         echo "testing lsz -> lrz. lsz sleeps 10 seconds"
723         mkdir $testdir/startup.3
724         failed=0
725         ($SZ --delay-startup 10 -q  $SZBUFSIZE $z_test_files ) 2>/dev/null <$testdir/pipe | \
726                 (cd $testdir/startup.3 ; exec $RZ $QUIET >>../pipe)
727         for i in $z_test_files ; do 
728                 bn=`basename $i`
729                 cmp $i $testdir/startup.3/$bn
730                 if test $? -eq 0 ; then
731                         rm -f $testdir/startup.3/$bn
732                 else
733                         failed=1
734                 fi
735         done
736         rmdir $testdir/startup.3 2>&5
737         if test $failed = 1 ; then 
738                 echo "lrz startup-timing test failed"
739                 any_failure="$any_failure lrz-startup-timing"
740         fi
741
742         echo "testing zmtx -> lrz. lrz sleeps 10 seconds"
743         mkdir $testdir/startup.4
744         failed=0
745         (zmtx $z_test_files ) 2>/dev/null <$testdir/pipe | \
746                 (cd $testdir/startup.4 ; exec $RZ --delay-startup 10 $QUIET >>../pipe)
747         for i in $z_test_files ; do 
748                 bn=`basename $i`
749                 cmp $i $testdir/startup.4/$bn
750                 if test $? -eq 0 ; then
751                         rm -f $testdir/startup.4/$bn
752                 else
753                         failed=1
754                 fi
755         done
756         rmdir $testdir/startup.4 2>&5
757         if test $failed = 1 ; then 
758                 echo "zmtx startup-timing test failed"
759                 any_failure="$any_failure zmtx-startup-timing"
760         fi
761
762         echo "testing omen.sz -> lrz. lrz sleeps 10 seconds"
763         mkdir $testdir/startup.5
764         failed=0
765         (omen.sz $z_test_files ) 2>/dev/null <$testdir/pipe | \
766                 (cd $testdir/startup.5 ; exec $RZ --delay-startup 10 $QUIET >>../pipe)
767         for i in $z_test_files ; do 
768                 bn=`basename $i`
769                 cmp $i $testdir/startup.5/$bn
770                 if test $? -eq 0 ; then
771                         rm -f $testdir/startup.5/$bn
772                 else
773                         failed=1
774                 fi
775         done
776         rmdir $testdir/startup.5 2>&5
777         if test $failed = 1 ; then 
778                 echo "omen.sz startup-timing test failed"
779                 any_failure="$any_failure omen.sz-startup-timing"
780         fi
781
782         echo "testing lsz -> lrz. lrz sleeps 10 seconds"
783         mkdir $testdir/startup.6
784         failed=0
785         ($SZ -q $z_test_files ) 2>/dev/null <$testdir/pipe | \
786                 (cd $testdir/startup.6 ; exec $RZ --delay-startup 10 $QUIET >>../pipe)
787         for i in $z_test_files ; do 
788                 bn=`basename $i`
789                 cmp $i $testdir/startup.6/$bn
790                 if test $? -eq 0 ; then
791                         rm -f $testdir/startup.6/$bn
792                 else
793                         failed=1
794                 fi
795         done
796         rmdir $testdir/startup.6 2>&5
797         if test $failed = 1 ; then 
798                 echo "lsz startup-timing test failed"
799                 any_failure="$any_failure lsz-startup-timing"
800         fi
801 fi
802
803 if test "$mode" = stop-at ; then
804         echo "testing lsz -> lrz. lsz stops after 10 seconds"
805         mkdir $testdir/stop-at
806         failed=0
807         ($SZ --stop-at +10 $z8_test_files ) 2>/dev/null <$testdir/pipe | \
808                 (cd $testdir/stop-at ; exec $RZ $QUIET >>../pipe)
809         for i in $z8_test_files ; do 
810                 bn=`basename $i`
811                 cmp $i $testdir/stop-at/$bn
812                 if test $? -eq 0 ; then
813                         rm -f $testdir/stop-at/$bn
814                 else
815                         failed=1
816                 fi
817         done
818         rmdir $testdir/stop-at 2>&5
819         if test $failed = 1 ; then 
820                 echo "stop-at test failed"
821                 any_failure="$any_failure stop-at"
822         fi
823 fi
824
825 if test "x$any_failure" = x  ; then
826         :
827 else
828         echo "the following tests failed:"
829         echo $any_failure
830         echo "have a look into `pwd`/$testdir"
831         exit 1
832 fi
833
834 echo "All tests OK."
835 if test "$mode" = all -o "$mode" = abuse ; then
836         echo
837         echo "going to tests misuse. Errors are ok, hangs are not!"
838
839         echo
840         echo "both sides sending:"
841         $SZ -q $z_test_files <$testdir/pipe | \
842                 ($SZ $z_test_files >>$testdir/pipe )
843
844         echo
845         echo "both sides receiving:"
846         $RZ -q <$testdir/pipe | \
847                 ( $RZ >>$testdir/pipe )
848 fi
849
850 #rm -rf $testdir
851 exit 0
852