don't use 'strict' anymore, as it doesn't work good with the cygwin fixes

also, always kill/restart the HTTP server on startup if it is our test server
This commit is contained in:
Daniel Stenberg 2001-10-17 11:51:02 +00:00
parent 92abbcef4c
commit 8dd6a4e369
3 changed files with 33 additions and 23 deletions

View File

@ -1,5 +1,5 @@
use strict;
#use strict;
my @xml;

View File

@ -3,7 +3,7 @@ use Socket;
use Carp;
use FileHandle;
use strict;
#use strict;
require "getpart.pm";
@ -119,7 +119,7 @@ for ( $waitedpid = 0;
elsif($path =~ /verifiedserver/) {
# this is a hard-coded query-string for the test script
# to verify that this is the server actually running!
print "HTTP/1.1 999 WE ROOLZ\r\n";
print "HTTP/1.1 999 WE ROOLZ: $$\r\n";
exit;
}
else {

View File

@ -136,35 +136,45 @@ sub checkserver {
sub runhttpserver {
my $verbose = $_[0];
my $RUNNING;
my $pid;
my $pid = checkserver($HTTPPIDFILE );
# verify if our/any server is running on this port
my $data=`$CURL --silent -i $HOSTIP:$HOSTPORT/verifiedserver`;
if ($pid <= 0) {
my $flag=$debugprotocol?"-v ":"";
my $cmd="$perl $srcdir/httpserver.pl $flag $HOSTPORT &";
system($cmd);
if ( $data =~ /WE ROOLZ(: |)(\d*)/ ) {
$pid = 0+$2;
if($verbose) {
print "CMD: $cmd\n";
print "Test server already running with pid $pid, killing it...\n";
}
}
elsif($data ne "") {
print "An alien HTTP server is running on port $HOSTPORT\n",
"Edit runtests.pl to use another port and rerun the test script\n";
exit;
}
else {
if($pid > 0) {
print "httpd ($pid) runs\n";
}
# verify that our server is one one running on this port:
my $data=`$CURL --silent -i $HOSTIP:$HOSTPORT/verifiedserver`;
if ( $data !~ /WE ROOLZ/ ) {
print "Another HTTP server is running on port $HOSTPORT\n",
"Edit runtests.pl to use another port and rerun the test script\n";
exit;
}
if($verbose) {
print "The running HTTP server has been verified to be our server\n";
print "No server running, start it\n";
}
}
if($pid) {
my $res = kill (9, $pid); # die!
if(!$res) {
print "Failed to kill our HTTP test server, do it manually and",
" restart the tests.\n";
exit;
}
sleep(2);
}
my $flag=$debugprotocol?"-v ":"";
my $cmd="$perl $srcdir/httpserver.pl $flag $HOSTPORT &";
system($cmd);
if($verbose) {
print "CMD: $cmd\n";
}
}
#######################################################################