Blame t/tee.t

Packit 745572
#! perl
Packit 745572
use strict;
Packit 745572
use warnings;
Packit 745572
BEGIN { unshift @INC, 't'; }
Packit 745572
require "filter-util.pl" ;
Packit 745572
Packit 745572
use vars qw( $Inc $Perl $tee1) ;
Packit 745572
Packit 745572
my $file = "tee.test" ;
Packit 745572
$tee1 = "tee1" ;
Packit 745572
my $tee2 = "tee2" ;
Packit 745572
Packit 745572
Packit 745572
my $out1 = <<"EOF" ;
Packit 745572
use Filter::tee '>$tee1' ; 
Packit 745572
EOF
Packit 745572
Packit 745572
my $out2 = <<"EOF" ;
Packit 745572
use Filter::tee '>>$tee2' ; 
Packit 745572
EOF
Packit 745572
Packit 745572
my $out3 = <<'EOF' ;
Packit 745572
Packit 745572
$a = 1 ;
Packit 745572
print "a = $a\n" ;
Packit 745572
Packit 745572
use Carp ;
Packit 745572
require "./joe" ;
Packit 745572
Packit 745572
print <
Packit 745572
hello
Packit 745572
horray
Packit 745572
Packit 745572
EOM
Packit 745572
Packit 745572
exit 0 ;
Packit 745572
Packit 745572
EOF
Packit 745572
Packit 745572
my $out4 = <<'EOM' ;
Packit 745572
Here is the news
Packit 745572
EOM
Packit 745572
Packit 745572
writeFile($file, $out1, $out2, $out3) ;
Packit 745572
writeFile('joe', 'print "joe\n"') ;
Packit 745572
writeFile($tee2, $out4) ;
Packit 745572
Packit 745572
my $a = `$Perl $Inc $file 2>&1` ;
Packit 745572
Packit 745572
print "1..5\n" ;
Packit 745572
Packit 745572
ok(1, ($? >> 8) == 0) ;
Packit 745572
ok(2, $a eq <
Packit 745572
a = 1
Packit 745572
joe
Packit 745572
hello
Packit 745572
horray
Packit 745572
Packit 745572
EOM
Packit 745572
Packit 745572
ok(3, $out2 . $out3 eq readFile($tee1)) ;
Packit 745572
ok(4, $out4 . $out3 eq readFile($tee2)) ;
Packit 745572
Packit 745572
if ($< == 0 or ($^O =~ /MSWin32|cygwin|msys/)) {
Packit 745572
    ok (5, 1); # windows allows all Administrator members read-access
Packit 745572
} else {
Packit 745572
    chmod 0444, $tee1 ;
Packit 745572
    $a = `$Perl $Inc $file 2>&1` ;
Packit 745572
Packit 745572
    ok(5, $a =~ /cannot open file 'tee1':/) ;
Packit 745572
}
Packit 745572
Packit 745572
unlink $file or die "Cannot remove $file: $!\n" ;
Packit 745572
unlink 'joe' or die "Cannot remove joe: $!\n" ;
Packit 745572
unlink $tee1 or die "Cannot remove $tee1: $!\n" ;
Packit 745572
unlink $tee2 or die "Cannot remove $tee2: $!\n" ;