diff options
-rwxr-xr-x | tests/httpserver.pl | 50 | ||||
-rwxr-xr-x | tests/runtests.sh | 13 |
2 files changed, 42 insertions, 21 deletions
diff --git a/tests/httpserver.pl b/tests/httpserver.pl index 86ca02fa6..3d6938513 100755 --- a/tests/httpserver.pl +++ b/tests/httpserver.pl @@ -80,31 +80,39 @@ for ( $waitedpid = 0; } } - # - # we always start the path with a number, this is the - # test number that this server will use to know what - # contents to pass back to the client - # - if($path =~ /.*\/(\d*)/) { - $testnum=$1; - } - else { - print STDERR "UKNOWN TEST CASE\n"; + if($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"; exit; } - open(INPUT, ">log/server.input"); - for(@headers) { - print INPUT $_; - } - close(INPUT); + else { - # send a reply to the client - open(DATA, "<data/reply$testnum.txt"); - while(<DATA>) { - print $_; + # + # we always start the path with a number, this is the + # test number that this server will use to know what + # contents to pass back to the client + # + if($path =~ /.*\/(\d*)/) { + $testnum=$1; + } + else { + print STDERR "UKNOWN TEST CASE\n"; + exit; + } + open(INPUT, ">log/server.input"); + for(@headers) { + print INPUT $_; + } + close(INPUT); + + # send a reply to the client + open(DATA, "<data/reply$testnum.txt"); + while(<DATA>) { + print $_; + } + close(DATA); } - close(DATA); - # print "Hello there, $name, it's now ", scalar localtime, "\r\n"; }; } diff --git a/tests/runtests.sh b/tests/runtests.sh index 53c04748a..dba912978 100755 --- a/tests/runtests.sh +++ b/tests/runtests.sh @@ -31,6 +31,7 @@ stopserver() { if [ -f $PIDFILE ] ; then PID=`cat $PIDFILE` kill -9 $PID + rm -f $PIDFILE # server is killed fi } @@ -55,6 +56,18 @@ runserver () { sleep 1 # give it a little time to start else echo $STATUS + + # verify that our server is one one running on this port: + data=`$CURL --silent -i $HOSTIP:$HOSTPORT/verifiedserver`; + + if { echo $data | grep -v "WE ROOLZ" >/dev/null 2>&1; } then + echo "Another HTTP server is running on port $HOSTPORT" + echo "Edit runtests.sh to use another port and rerun the test script" + exit + fi + + echo "The running HTTP server has been verified to be our test server" + fi } |