10 #++ $totalBad unless $ok ;
12 print "ok $no\n" if $ok ;
13 print "not ok $no\n" unless $ok ;
14 printf "# Failed test at line %d\n", (caller)[2] unless $ok ;
19 my($filename, @strings) = @_ ;
20 open (F, ">$filename")
21 or die "Cannot open $filename: $!\n" ;
33 open (F, "<$filename")
34 or die "Cannot open $filename: $!\n" ;
43 my $Inc = join " ", map qq["-I$_"] => @INC;
46 $Perl = ($ENV{'FULLPERL'} or $^X or 'perl') ;
47 $Perl = qq["$Perl"] if $^O eq 'MSWin32' ;
50 my $examples = $ENV{PERL_CORE} ? "../ext/Compress/Zlib/examples" : "./examples";
62 my @hello1 = grep(s/$/\n/, split(/\n/, $hello1)) ;
75 my @hello2 = grep(s/$/\n/, split(/\n/, $hello2)) ;
84 my $file1 = "hello1.gz" ;
85 my $file2 = "hello2.gz" ;
86 unlink $file1, $file2 ;
88 my $hello1_uue = <<'EOM';
89 M'XL("(W#+3$" VAE;&QO,0#+2,W)R><JR<@L5@ BKD2%DM3B$J[<U.+BQ/14
90 ;K@J%$A#@JB@% Z"Z5(74O!0N &D:".,V
93 my $hello2_uue = <<'EOM';
94 M'XL("*[#+3$" VAE;&QO,@#C\L@O3ZGD*LG(+%8 HI*,5*[BU.3\O!2NM,R<
95 A5*X*A0(0X*HH!0.NHM3$G)Q*D#*%5* : #) E6<^
98 # Write a test .gz file
101 writeFile($file1, unpack("u", $hello1_uue)) ;
102 writeFile($file2, unpack("u", $hello2_uue)) ;
106 $a = `$Perl $Inc ${examples}/gzcat $file1 $file2 2>&1` ;
109 ok(2, $a eq $hello1 . $hello2) ;
110 #print "? = $? [$a]\n";
116 $a = ($^O eq 'MSWin32' || $^O eq 'VMS'
117 ? `$Perl $Inc ${examples}/gzgrep "^x" $file1 $file2 2>&1`
118 : `$Perl $Inc ${examples}/gzgrep '^x' $file1 $file2 2>&1`) ;
121 ok(4, $a eq join('', grep(/^x/, @hello1, @hello2))) ;
122 #print "? = $? [$a]\n";
125 unlink $file1, $file2 ;
132 my $stderr = "err.out" ;
134 writeFile($file1, $hello1) ;
135 writeFile($file2, $hello2) ;
137 # there's no way to set binmode on backticks in Win32 so we won't use $a later
138 $a = `$Perl $Inc ${examples}/filtdef $file1 $file2 2>$stderr` ;
140 ok(6, -s $stderr == 0) ;
143 $a = `$Perl $Inc ${examples}/filtdef $file1 $file2 | $Perl $Inc ${examples}/filtinf 2>$stderr`;
145 ok(8, -s $stderr == 0) ;
146 ok(9, $a eq $hello1 . $hello2) ;
152 writeFile($file1, $hello1) ;
153 $a = `$Perl $Inc ${examples}/gzstream <$file1 >$file2 2>$stderr` ;
155 ok(11, -s $stderr == 0) ;
157 my $b = `$Perl $Inc ${examples}/gzcat $file2 2>&1` ;
159 ok(13, $b eq $hello1 ) ;
165 for ($file1, $file2, $stderr) { 1 while unlink $_ } ;