uses stricter output
authorDaniel Stenberg <daniel@haxx.se>
Fri, 17 Nov 2000 15:15:48 +0000 (15:15 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 17 Nov 2000 15:15:48 +0000 (15:15 +0000)
tests/httpserver.pl
tests/runtests.pl

index e4e6d74..06b52c4 100755 (executable)
@@ -29,7 +29,9 @@ setsockopt(Server, SOL_SOCKET, SO_REUSEADDR,
 bind(Server, sockaddr_in($port, INADDR_ANY))|| die "bind: $!";
 listen(Server,SOMAXCONN) || die "listen: $!";
 
-print "HTTP server started on port $port\n";
+if($verbose) {
+    print "HTTP server started on port $port\n";
+}
 
 open(PID, ">.server.pid");
 print PID $$;
@@ -115,10 +117,13 @@ for ( $waitedpid = 0;
             my $testnum;
             if($path =~ /.*\/(\d*)/) {
                 $testnum=$1;
+
+                if($verbose) {
+                    print STDERR "sending reply $testnum\n";
+                }
             }
             else {
-                print STDERR "UKNOWN TEST CASE\n";
-                exit;
+                $testnum=0;
             }
             open(INPUT, ">log/server.input");
             for(@headers) {
@@ -126,12 +131,20 @@ for ( $waitedpid = 0;
             }
             close(INPUT);
             
-            # send a reply to the client
-            open(DATA, "<data/reply$testnum.txt");
-            while(<DATA>) {
-                print $_;
+            if(0 == $testnum ) {
+                print "HTTP/1.1 200 OK\r\n",
+                "header: yes\r\n",
+                "\r\n",
+                "You must select a test number to get good data back\r\n";
+            }
+            else {
+                # send a custom 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";
     };
index 31899d3..e787796 100755 (executable)
@@ -44,6 +44,7 @@ my $memanalyze="../memanalyze.pl";
 
 my $short;
 my $verbose;
+my $anyway;
 
 #######################################################################
 # Return the pid of the http server as found in the pid file
@@ -66,7 +67,7 @@ sub stopserver {
         my $res = kill (9, $PID); # die!
         unlink $PIDFILE; # server is killed
 
-        if($res) {
+        if($res && $verbose) {
             print "TCP server signalled to die\n";
         }
     }
@@ -223,11 +224,15 @@ sub compare {
 
     $res = comparefiles($first, $sec);
     if ($res != 0) {
-        print " $text FAILED";
+        if(!$short) {
+            print " $text FAILED";
+        }
         return 1;
     }
 
-    print " $text OK";
+    if(!$short) {
+        print " $text OK";
+    }
     return 0;
 }
 
@@ -244,16 +249,17 @@ sub displaydata {
 
     print "Running tests on:\n",
     "* $version",
-    "* host $hostname",
-    "* system $hosttype";
+    "* Host: $hostname",
+    "* System: $hosttype";
 
     if( -r $memdump) {
         # if this exists, curl was compiled with memory debugging
         # enabled and we shall verify that no memory leaks exist
         # after each and every test!
         $memory_debug=1;
-        print "** Memory debugging ENABLED\n";
     }
+    printf("* Memory debugging: %s\n", $memory_debug?"ON":"OFF");
+
 }
 
 #######################################################################
@@ -399,11 +405,16 @@ sub singletest {
                     return 1;
                 }
                 else {
-                    print " memory OK";
+                    if(!$short) {
+                        print " memory OK";
+                    }
                 }
             }
         }
     }
+    if($short) {
+        print "OK";
+    }
     print "\n";
 
     return 0;
@@ -423,10 +434,15 @@ do {
         # short output
         $short=1;
     }
+    elsif($ARGV[0] eq "-a") {
+        # continue anyway, even if a test fail
+        $anyway=1;
+    }
     elsif($ARGV[0] eq "-h") {
         # show help text
         print <<EOHELP
 Usage: runtests.pl [-h][-s][-v][numbers]
+  -a       continue even if a test fails
   -h       this help text
   -s       short output
   -v       verbose output
@@ -487,7 +503,7 @@ if ( $TESTCASES eq "all") {
 my $testnum;
 foreach $testnum (split(" ", $TESTCASES)) {
 
-    if(singletest($testnum)) {
+    if(singletest($testnum) && !$anyway) {
         # a test failed, abort
         print "\n - abort tests\n";
         last;