aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/httpserver.pl50
-rwxr-xr-xtests/runtests.sh13
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
}