]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
When displaying log files, truncate the really longs ones such as you
authorDan Fandrich <dan@coneharvesters.com>
Wed, 25 Apr 2007 20:09:32 +0000 (20:09 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Wed, 25 Apr 2007 20:09:32 +0000 (20:09 +0000)
would get from a torture test.

tests/runtests.pl

index dd6490b441ad56045fc27479f4e88dd5a20753d1..b1143800054fdeda074f12a7b127eb7567f0f0c5 100755 (executable)
@@ -2446,10 +2446,15 @@ open(CMDLOG, ">$CURLLOG") ||
 
 #######################################################################
 
+# Display the contents of the given file.  Line endings are canonicalized
+# and excessively long files are truncated
 sub displaylogcontent {
     my ($file)=@_;
     if(open(my $SINGLE, "<$file")) {
         my $lfcount;
+        my $linecount = 0;
+        my $truncate;
+        my @tail;
         while(my $string = <$SINGLE>) {
             $string =~ s/\r\n/\n/g;
             $string =~ s/[\r\f\032]/\n/g;
@@ -2458,14 +2463,30 @@ sub displaylogcontent {
             if($lfcount == 1) {
                 $string =~ s/\n//;
                 $string =~ s/\s*\!$//;
-                logmsg " $string\n";
+                $linecount++;
+                if ($truncate) {
+                    push @tail, " $string\n";
+                } else {
+                    logmsg " $string\n";
+                }
             }
             else {
                 for my $line (split("\n", $string)) {
                     $line =~ s/\s*\!$//;
-                    logmsg " $line\n";
+                    $linecount++;
+                    if ($truncate) {
+                        push @tail, " $line\n";
+                    } else {
+                        logmsg " $line\n";
+                   }
                 }
             }
+            $truncate = $linecount > 1000;
+        }
+        if (@tail) {
+            logmsg "=== File too long: lines here were removed\n";
+            # This won't work properly if time stamps are enabled in logmsg
+            logmsg join('',@tail[$#tail-200..$#tail]);
         }
         close($SINGLE);
     }