Title: [90778] trunk/Tools
Revision
90778
Author
[email protected]
Date
2011-07-11 12:20:49 -0700 (Mon, 11 Jul 2011)

Log Message

Don't count leaks as test failures on TestFailures's front page

As a bonus, this patch adds our first unit test.

Fixes <http://webkit.org/b/64303> REGRESSION (r90489): TestFailures page says far more tests
are failing on the Leaks bot than actually are

Reviewed by Adam Barth.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
(Builder.prototype.getNumberOfFailingTests): Exclude lines containing "leak" when summing
failure counts.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:
Added. Contains a simple test to show that leaks aren't counted as test failures.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
Added. This is the test harness.

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js (90777 => 90778)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js	2011-07-11 19:14:36 UTC (rev 90777)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js	2011-07-11 19:20:49 UTC (rev 90778)
@@ -142,8 +142,8 @@
                 var match = /^(\d+)/.exec(outputLine);
                 if (!match)
                     return sum;
-                // Don't count new tests or passes as failures.
-                if (outputLine.contains('were new') || outputLine.contains('new passes'))
+                // Don't count leaks, new tests, or passes as failures.
+                if (outputLine.contains('leak') || outputLine.contains('were new') || outputLine.contains('new passes'))
                     return sum;
                 return sum + parseInt(match[1], 10);
             }, 0);

Added: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js (0 => 90778)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js	                        (rev 0)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js	2011-07-11 19:20:49 UTC (rev 90778)
@@ -0,0 +1,50 @@
+module("Builder");
+
+test("getNumberOfFailingTests from Leaks bot", 4, function() {
+    var mockBuildbot = {};
+    mockBuildbot.baseURL = 'http://example.com/';
+
+    var builder = new Builder('test builder', mockBuildbot);
+
+    var realGetResource = window.getResource;
+    window.getResource = function(url, successCallback, errorCallback) {
+        var mockXHR = {};
+        mockXHR.responseText = JSON.stringify({
+            steps: [
+                {
+                    name: 'layout-test',
+                    isStarted: true,
+                    results: [
+                        2,
+                        [
+                            "2178 total leaks found!", 
+                            "2 test cases (<1%) had incorrect layout", 
+                            "2 test cases (<1%) crashed",
+                        ],
+                    ],
+                },
+            ],
+        });
+
+        successCallback(mockXHR);
+    };
+
+    // FIXME: It's lame to be modifying singletons like this. We should get rid
+    // of our singleton usage entirely!
+    var realPersistentCache = window.PersistentCache;
+    window.PersistentCache = {
+        contains: function() { return false; },
+        set: function() { },
+        get: function() { },
+    };
+
+    builder.getNumberOfFailingTests(1, function(failureCount, tooManyFailures) {
+        equals(failureCount, 4);
+        equals(tooManyFailures, false);
+    });
+
+    window.getResource = realGetResource;
+    equals(window.getResource, realGetResource);
+    window.PersistentCache = realPersistentCache;
+    equals(window.PersistentCache, realPersistentCache);
+});

Added: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html (0 => 90778)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html	                        (rev 0)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html	2011-07-11 19:20:49 UTC (rev 90778)
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<link rel="stylesheet" href=""
+<script src="" 
+<script src=""
+</head>
+<body>
+<h1 id="qunit-header">TestFailures _javascript_ Unit Tests</h1>
+<h2 id="qunit-banner"></h2>
+<div id="qunit-testrunner-toolbar"></div>
+<h2 id="qunit-userAgent"></h2>
+<ol id="qunit-tests"></ol>
+<script src=""
+
+<script src=""
+<script src=""
+</body>
+</html>

Modified: trunk/Tools/ChangeLog (90777 => 90778)


--- trunk/Tools/ChangeLog	2011-07-11 19:14:36 UTC (rev 90777)
+++ trunk/Tools/ChangeLog	2011-07-11 19:20:49 UTC (rev 90778)
@@ -1,3 +1,24 @@
+2011-07-11  Adam Roben  <[email protected]>
+
+        Don't count leaks as test failures on TestFailures's front page
+
+        As a bonus, this patch adds our first unit test.
+
+        Fixes <http://webkit.org/b/64303> REGRESSION (r90489): TestFailures page says far more tests
+        are failing on the Leaks bot than actually are
+
+        Reviewed by Adam Barth.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
+        (Builder.prototype.getNumberOfFailingTests): Exclude lines containing "leak" when summing
+        failure counts.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:
+        Added. Contains a simple test to show that leaks aren't counted as test failures.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
+        Added. This is the test harness.
+
 2011-06-14  Mike Stegeman  <[email protected]>
 
         [GTK] Add API to allow setting local storage database path
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to