Bug #: 4590
authoreseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Aug 2005 23:03:00 +0000 (23:03 +0000)
committereseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 Aug 2005 23:03:00 +0000 (23:03 +0000)
Submitted by: eseidel
Reviewed by: mjs
        * Scripts/run-webkit-tests:
        Made --leaks option more readable by printing to a file.
        http://bugzilla.opendarwin.org/show_bug.cgi?id=4590

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@10300 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/Scripts/run-webkit-tests

index ccd17b28929c09396e483ac898fe0a8302ae39ad..215a0fe8a90fa388a998cf1e376aed3b0e560848 100644 (file)
@@ -1,3 +1,11 @@
+2005-08-23  Eric Seidel  <eseidel@apple.com>
+
+        Reviewed by mjs.
+
+        * Scripts/run-webkit-tests:
+        Made --leaks option more readable by printing to a file.
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=4590
+
 2005-08-22  Eric Seidel  <eseidel@apple.com>
         Fix by Tobias Lidskog <tobiaslidskog@mac.com>
 
index 82141af8bbe4eae81ac0241d2f7587be2aa49166..2c76f79553021ff6bd86c416e85e7d89939da8da 100755 (executable)
@@ -386,11 +386,10 @@ for my $test (@tests) {
 }
 
 if ($checkLeaks) {
-    print "Checking for leaks in $toolname:\n";
-    system "leaks", $toolPID;
+       print "\n";
+       printLeaks($toolname, $toolPID);
     if ($pixelTests) {
-        print "Checking for leaks in ImageDiff:\n";
-        system "leaks", $imageDiffToolPID;
+       printLeaks("ImageDiff", $imageDiffToolPID);
     }
 }
 
@@ -500,6 +499,29 @@ if ($counts{match} && $counts{match} == $count) {
     system "open", $testResults;
 }
 
+sub printLeaks
+{
+       my $toolName = shift;
+       my $toolPID = shift;
+       my $leaksFilePath = "";
+       
+       print "\nChecking for leaks in $toolName...\n";
+       my $leaksOutput = `leaks $toolPID`;
+    $leaksOutput =~ m/Process $toolPID: (\d+) leaks for (\d+) total leaked bytes./;
+    if ($1) {
+       $leaksFilePath = "$testResultsDirectory/$toolName-leaks.txt";
+       print "$1 leaks ($2 bytes) were found in $toolName, full results: $leaksFilePath\n";
+       if (open LEAKS, ">", $leaksFilePath) {
+               print LEAKS $leaksOutput;
+               close LEAKS;
+       } else {
+               print "ERROR: Failed to write leaks to file: $leaksFilePath";
+       }
+    }
+    
+    $leaksFilePath;
+}
+
 sub getFilesize
 {
     my $filename = shift;