]> granicus.if.org Git - curl/commitdiff
better -v use, passes -I to all perl invokes
authorDaniel Stenberg <daniel@haxx.se>
Mon, 28 May 2001 15:26:15 +0000 (15:26 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 28 May 2001 15:26:15 +0000 (15:26 +0000)
tests/runtests.pl

index 400f1991b7f69e610283fc86a3b1b536af377bf9..b181edb9f380f06c6663e3bac7edc7984b2c8ae7 100755 (executable)
@@ -42,6 +42,9 @@ my $HTTPSPIDFILE=".https.pid";
 my $FTPPIDFILE=".ftp.pid";
 my $FTPSPIDFILE=".ftps.pid";
 
+# invoke perl like this:
+my $perl="perl -I$srcdir";
+
 # this gets set if curl is compiled with memory debugging:
 my $memory_debug=0;
 
@@ -135,9 +138,10 @@ sub runhttpserver {
 
     if ($pid <= 0) {
         my $flag=$debugprotocol?"-v ":"";
-        system("perl $srcdir/httpserver.pl $flag $HOSTPORT &");
+        my $cmd="$perl $srcdir/httpserver.pl $flag $HOSTPORT &";
+        system($cmd);
         if($verbose) {
-            print "httpd started\n";
+            print "CMD: $cmd\n";
         }
     }
     else {
@@ -178,9 +182,10 @@ sub runhttpsserver {
     }
 
     my $flag=$debugprotocol?"-v ":"";
-    system("perl $srcdir/httpsserver.pl $flag -r $HOSTPORT $HTTPSPORT &");
+    my $cmd="$perl $srcdir/httpsserver.pl $flag -r $HOSTPORT $HTTPSPORT &";
+    system($cmd);
     if($verbose) {
-        print "httpd stunnel started\n";
+        print "CMD: $cmd\n";
     }
 }
 
@@ -206,15 +211,11 @@ sub runftpserver {
             exit;
         }
 
-        if($debugprotocol) {
-            print "* Starts ftp server verbose:\n";
-            print "perl $srcdir/ftpserver.pl $flag $FTPPORT &\n";
-        }
-        system("perl $srcdir/ftpserver.pl $flag $FTPPORT &");
-
+        my $cmd="$perl $srcdir/ftpserver.pl $flag $FTPPORT &";
         if($verbose) {
-            print "ftpd started\n";
+            print "CMD: $cmd\n";
         }
+        system($cmd);
     }
     else {
         if($verbose) {
@@ -255,10 +256,10 @@ sub runftpsserver {
     }
 
     my $flag=$debugprotocol?"-v ":"";
-    my $cmd="perl $srcdir/ftpsserver.pl $flag -r $FTPPORT $FTPSPORT &";
+    my $cmd="$perl $srcdir/ftpsserver.pl $flag -r $FTPPORT $FTPSPORT &";
     system($cmd);
     if($verbose) {
-        print "ftpd stunnel started\n";
+        print "CMD: $cmd\n";
     }
 }
 
@@ -315,8 +316,7 @@ sub filteroff {
 #
 
 sub compare {
-    # filter off the 4 pattern before compare!
-
+    # filter off patterns _before_ this comparison!
     my ($firstref, $secondref)=@_;
 
     my $result = compareparts($firstref, $secondref);
@@ -449,13 +449,26 @@ sub singletest {
         unlink($memdump);
     }
 
+    my @inputfile=getpart("client", "file");
+    if(@inputfile) {
+        # we need to generate a file before this test is invoked
+        my %hash = getpartattr("client", "file");
+
+        my $filename=$hash{'name'};
+        if(!$filename) {
+            print "ERROR: section client=>file has no name attribute!\n";
+            exit;
+        }
+        writearray($filename, \@inputfile);
+    }
+
     my $out="";
     if (!@validstdout) {
         $out="--output $CURLOUT ";
     }
 
     # run curl, add -v for debug information output
-    my $cmdargs="$out--include -v --silent $cmd";
+    my $cmdargs="$out--include -v $cmd";
 
     my @stdintest = getpart("verify", "stdin");
 
@@ -554,7 +567,9 @@ sub singletest {
         my @strip = getpart("verify", "strip");
         @out = striparray( $strip[0], \@out);
 
-        $res = compare(\@out, \@protocol);
+        my @protstrip= striparray($strip[0], \@protocol);
+
+        $res = compare(\@out, \@protstrip);
         if($res) {
             print " protocol FAILED";
             return 1;
@@ -564,6 +579,28 @@ sub singletest {
         }
     }
 
+    my @outfile=getpart("verify", "file");
+    if(@outfile) {
+        # we're supposed to verify a dynamicly generated file!
+        my %hash = getpartattr("verify", "file");
+
+        my $filename=$hash{'name'};
+        if(!$filename) {
+            print "ERROR: section verify=>file has no name attribute!\n";
+            exit;
+        }
+        my @generated=loadarray($filename);
+
+        $res = compare(\@generated, \@outfile);
+        if($res) {
+            print " output FAILED";
+            return 1;
+        }
+        if(!$short) {
+            print " output OK";
+        }        
+    }
+
     if(!$keepoutfiles) {
         # remove the stdout and stderr files
         unlink($STDOUT);
@@ -857,3 +894,6 @@ else {
 if($skipped) {
     print "$skipped tests were skipped due to restraints\n";
 }
+if($total && ($ok != $total)) {
+    exit 1;
+}