Changed the opens to work on older versions of perl.

Redirect ssh output to ssh.log
This commit is contained in:
Dan Fandrich 2007-06-07 22:42:26 +00:00
parent 38b490a310
commit ad80490711
1 changed files with 63 additions and 65 deletions

View File

@ -113,15 +113,15 @@ if($valgrind) {
if (($? >> 8)==0) {
$valgrind_tool="--tool=memcheck ";
}
open( my $C, "<", $CURL);
my $l = <$C>;
open(C, "<", $CURL);
my $l = <C>;
if($l =~ /^\#\!/) {
# The first line starts with "#!" which implies a shell-script.
# This means libcurl is built shared and curl is a wrapper-script
# Disable valgrind in this setup
$valgrind=0;
}
close($C);
close(C);
# valgrind 3 renamed the --logfile option to --log-file!!!
my $ver=`valgrind --version`;
@ -183,8 +183,6 @@ my $torture;
my $tortnum;
my $tortalloc;
my $CMDLOG; #log filehandle
# open and close each time to allow removal at any time
sub logmsg {
# uncomment the Time::HiRes usage for this
@ -293,9 +291,9 @@ sub startnew {
# Ugly hack but ssh doesn't support pid files
if ($fake) {
logmsg "$pidfile faked with pid=$child\n" if($verbose);
open(my $OUT, ">", $pidfile);
print $OUT $child;
close $OUT;
open(OUT, ">", $pidfile);
print OUT $child;
close(OUT);
# could/should do a while connect fails sleep a bit and loop
sleep 1;
if (checkdied($child)) {
@ -306,9 +304,9 @@ sub startnew {
my $count=12;
while($count--) {
if(-f $pidfile) {
open(my $PID, "<", $pidfile);
$pid2 = 0 + <$PID>;
close($PID);
open(PID, "<", $pidfile);
$pid2 = 0 + <PID>;
close(PID);
if($pid2 && kill(0, $pid2)) {
# if $pid2 is valid, then make sure this pid is alive, as
# otherwise it is just likely to be the _previous_ pidfile or
@ -523,9 +521,9 @@ sub verifyhttp {
}
}
}
open(my $FILE, "<", "log/verifiedserver");
my @file=<$FILE>;
close($FILE);
open(FILE, "<", "log/verifiedserver");
my @file=<FILE>;
close(FILE);
$data=$file[0]; # first line
if ( $data =~ /WE ROOLZ: (\d+)/ ) {
@ -592,9 +590,9 @@ sub verifyftp {
sub verifyssh {
my ($proto, $ip, $port) = @_;
open(my $FILE, "<" . $SSHPIDFILE);
my $pid=0+<$FILE>;
close($FILE);
open(FILE, "<" . $SSHPIDFILE);
my $pid=0+<FILE>;
close(FILE);
return $pid;
}
@ -603,9 +601,9 @@ sub verifyssh {
sub verifysocks {
my ($proto, $ip, $port) = @_;
open(my $FILE, "<" . $SOCKSPIDFILE);
my $pid=0+<$FILE>;
close($FILE);
open(FILE, "<" . $SOCKSPIDFILE);
my $pid=0+<FILE>;
close(FILE);
return $pid;
}
@ -991,7 +989,7 @@ sub runsocksserver {
my $pidfile = $SOCKSPIDFILE;
my $flag=$debugprotocol?"-v ":"";
my $cmd="ssh -D ${HOSTIP}:$SOCKSPORT -N -F curl_ssh_config ${USER}\@${HOSTIP} -p ${SSHPORT}";
my $cmd="ssh -D ${HOSTIP}:$SOCKSPORT -N -F curl_ssh_config ${USER}\@${HOSTIP} -p ${SSHPORT} >log/ssh.log 2>&1";
my ($sshpid, $pid2) =
startnew($cmd, $pidfile,1); # start the server in a new process
@ -1045,20 +1043,20 @@ sub filteroff {
my $filter=$_[1];
my $ofile=$_[2];
open(my $IN, "<", $infile)
open(IN, "<", $infile)
|| return 1;
open(my $OUT, ">", $ofile)
open(OUT, ">", $ofile)
|| return 1;
# logmsg "FILTER: off $filter from $infile to $ofile\n";
while(<$IN>) {
while(<IN>) {
$_ =~ s/$filter//;
print $OUT $_;
print OUT $_;
}
close($IN);
close($OUT);
close(IN);
close(OUT);
return 0;
}
@ -1109,9 +1107,9 @@ sub checksystem {
$versretval = system($versioncmd);
$versnoexec = $!;
open(my $VERSOUT, "<", $curlverout);
@version = <$VERSOUT>;
close($VERSOUT);
open(VERSOUT, "<", $curlverout);
@version = <VERSOUT>;
close(VERSOUT);
for(@version) {
chomp;
@ -1261,13 +1259,13 @@ sub checksystem {
}
if(-r "../lib/config.h") {
open(my $CONF, "<", "../lib/config.h");
while(<$CONF>) {
open(CONF, "<", "../lib/config.h");
while(<CONF>) {
if($_ =~ /^\#define HAVE_GETRLIMIT/) {
$has_getrlimit = 1;
}
}
close($CONF);
close(CONF);
}
if($has_ipv6) {
@ -1636,10 +1634,10 @@ sub singletest {
my $fileContent = join('', @inputfile);
subVariables \$fileContent;
# logmsg "DEBUG: writing file " . $filename . "\n";
open my $OUTFILE, ">", $filename;
binmode $OUTFILE; # for crapage systems, use binary
print $OUTFILE $fileContent;
close $OUTFILE;
open(OUTFILE, ">", $filename);
binmode OUTFILE; # for crapage systems, use binary
print OUTFILE $fileContent;
close(OUTFILE);
}
my %cmdhash = getpartattr("client", "command");
@ -1695,7 +1693,7 @@ sub singletest {
logmsg "$CMDLINE\n";
}
print $CMDLOG "$CMDLINE\n";
print CMDLOG "$CMDLINE\n";
unlink("core");
@ -1717,10 +1715,10 @@ sub singletest {
}
if($gdbthis) {
open( my $GDBCMD, ">", "log/gdbcmd");
print $GDBCMD "set args $cmdargs\n";
print $GDBCMD "show args\n";
close($GDBCMD);
open(GDBCMD, ">", "log/gdbcmd");
print GDBCMD "set args $cmdargs\n";
print GDBCMD "show args\n";
close(GDBCMD);
}
# run the command line we built
if ($torture) {
@ -1754,9 +1752,9 @@ sub singletest {
logmsg "core dumped\n";
if(0 && $gdb) {
logmsg "running gdb for post-mortem analysis:\n";
open( my $GDBCMD, ">", "log/gdbcmd2");
print $GDBCMD "bt\n";
close($GDBCMD);
open(GDBCMD, ">", "log/gdbcmd2");
print GDBCMD "bt\n";
close(GDBCMD);
system("$gdb --directory libtest -x log/gdbcmd2 -batch $DBGCURL core ");
# unlink("log/gdbcmd2");
}
@ -2032,10 +2030,10 @@ sub singletest {
if($disable[0] !~ /disable/) {
opendir( my $DIR, "log") ||
opendir(DIR, "log") ||
return 0; # can't open log dir
my @files = readdir($DIR);
closedir $DIR;
my @files = readdir(DIR);
closedir(DIR);
my $f;
my $l;
foreach $f (@files) {
@ -2468,10 +2466,10 @@ if($valgrind) {
}
# open the executable curl and read the first 4 bytes of it
open(my $CHECK, "<", $CURL);
open(CHECK, "<", $CURL);
my $c;
sysread $CHECK, $c, 4;
close($CHECK);
sysread CHECK, $c, 4;
close(CHECK);
if($c eq "#! /") {
# A shell script. This is typically when built with libtool,
$libtool = 1;
@ -2512,12 +2510,12 @@ if(!$listonly) {
if ( $TESTCASES eq "all") {
# Get all commands and find out their test numbers
opendir(my $DIR, $TESTDIR) || die "can't opendir $TESTDIR: $!";
my @cmds = grep { /^test([0-9]+)$/ && -f "$TESTDIR/$_" } readdir($DIR);
closedir $DIR;
opendir(DIR, $TESTDIR) || die "can't opendir $TESTDIR: $!";
my @cmds = grep { /^test([0-9]+)$/ && -f "$TESTDIR/$_" } readdir(DIR);
closedir(DIR);
open(my $D, "$TESTDIR/DISABLED");
while(<$D>) {
open(D, "$TESTDIR/DISABLED");
while(<D>) {
if(/^ *\#/) {
# allow comments
next;
@ -2526,7 +2524,7 @@ if ( $TESTCASES eq "all") {
$disabled{$1}=$1; # disable this test number
}
}
close($D);
close(D);
$TESTCASES=""; # start with no test cases
@ -2551,7 +2549,7 @@ if ( $TESTCASES eq "all") {
#######################################################################
# Start the command line log
#
open($CMDLOG, ">", $CURLLOG) ||
open(CMDLOG, ">", $CURLLOG) ||
logmsg "can't log command lines to $CURLLOG\n";
#######################################################################
@ -2560,12 +2558,12 @@ open($CMDLOG, ">", $CURLLOG) ||
# and excessively long files are truncated
sub displaylogcontent {
my ($file)=@_;
if(open(my $SINGLE, "<$file")) {
if(open(SINGLE, "<$file")) {
my $lfcount;
my $linecount = 0;
my $truncate;
my @tail;
while(my $string = <$SINGLE>) {
while(my $string = <SINGLE>) {
$string =~ s/\r\n/\n/g;
$string =~ s/[\r\f\032]/\n/g;
$string .= "\n" unless ($string =~ /\n$/);
@ -2598,16 +2596,16 @@ sub displaylogcontent {
# This won't work properly if time stamps are enabled in logmsg
logmsg join('',@tail[$#tail-200..$#tail]);
}
close($SINGLE);
close(SINGLE);
}
}
sub displaylogs {
my ($testnum)=@_;
opendir(my $DIR, "$LOGDIR") ||
opendir(DIR, "$LOGDIR") ||
die "can't open dir: $!";
my @logs = readdir($DIR);
closedir($DIR);
my @logs = readdir(DIR);
closedir(DIR);
logmsg "== Contents of files in the log/ dir after test $testnum\n";
foreach my $log (sort @logs) {
@ -2696,7 +2694,7 @@ foreach $testnum (@at) {
#######################################################################
# Close command log
#
close($CMDLOG);
close(CMDLOG);
# Tests done, stop the servers
stopservers($verbose);