Title: [92875] trunk/Tools
Revision
92875
Author
[email protected]
Date
2011-08-11 13:59:51 -0700 (Thu, 11 Aug 2011)

Log Message

garden-o-matic should be able to determine when tests unexpectedly pass
https://bugs.webkit.org/show_bug.cgi?id=66092

Reviewed by Dimitri Glazkov.

This patch just contains the library methods for extracting this
information.  I'll add some UI in a subsequent patch.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js:

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js (92874 => 92875)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js	2011-08-11 20:43:18 UTC (rev 92874)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js	2011-08-11 20:59:51 UTC (rev 92875)
@@ -222,6 +222,15 @@
     return anyIsFailure(results.unexpectedResults(resultNode));
 }
 
+function isUnexpectedSuccesses(resultNode)
+{
+    if (!resultNode)
+        return false;
+    if (anyIsFailure(resultNode.actual.split(' ')))
+        return false;
+    return anyIsSuccess(results.unexpectedResults(resultNode));
+}
+
 function isResultNode(node)
 {
     return !!node.actual;
@@ -232,20 +241,35 @@
     return base.filterTree(resultsTree.tests, isResultNode, isUnexpectedFailure);
 };
 
-results.unexpectedFailuresByTest = function(resultsByBuilder)
+results.unexpectedSuccesses = function(resultsTree)
 {
-    var unexpectedFailures = {};
+    return base.filterTree(resultsTree.tests, isResultNode, isUnexpectedSuccesses);
+};
 
+function resultsByTest(resultsByBuilder, filter)
+{
+    var resultsByTest = {};
+
     $.each(resultsByBuilder, function(builderName, resultsTree) {
-        $.each(results.unexpectedFailures(resultsTree), function(testName, resultNode) {
-            unexpectedFailures[testName] = unexpectedFailures[testName] || {};
-            unexpectedFailures[testName][builderName] = resultNode;
+        $.each(filter(resultsTree), function(testName, resultNode) {
+            resultsByTest[testName] = resultsByTest[testName] || {};
+            resultsByTest[testName][builderName] = resultNode;
         });
     });
 
-    return unexpectedFailures;
+    return resultsByTest;
+}
+
+results.unexpectedFailuresByTest = function(resultsByBuilder)
+{
+    return resultsByTest(resultsByBuilder, results.unexpectedFailures);
 };
 
+results.unexpectedSuccessesByTest = function(resultsByBuilder)
+{
+    return resultsByTest(resultsByBuilder, results.unexpectedSuccesses);
+};
+
 results.collectUnexpectedResults = function(dictionaryOfResultNodes)
 {
     var collectedResults = [];

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js (92874 => 92875)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js	2011-08-11 20:43:18 UTC (rev 92874)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js	2011-08-11 20:59:51 UTC (rev 92875)
@@ -37,6 +37,10 @@
             "flaky-scrollbar.html": {
                 "expected": "PASS",
                 "actual": "PASS TEXT"
+            },
+            "unexpected-pass.html": {
+                "expected": "FAIL",
+                "actual": "PASS"
             }
         },
         "userscripts": {
@@ -88,6 +92,20 @@
     });
 });
 
+test("unexpectedSuccessesByTest", 1, function() {
+    var unexpectedFailuresByTest = results.unexpectedSuccessesByTest({
+        "Mock Builder": kExampleResultsJSON
+    });
+    deepEqual(unexpectedFailuresByTest, {
+        "scrollbars/unexpected-pass.html": {
+            "Mock Builder": {
+                "expected": "FAIL",
+                "actual": "PASS"
+            }
+        }
+    });
+});
+
 test("resultKind", 12, function() {
     equals(results.resultKind("http://example.com/foo-actual.txt"), "actual");
     equals(results.resultKind("http://example.com/foo-expected.txt"), "expected");

Modified: trunk/Tools/ChangeLog (92874 => 92875)


--- trunk/Tools/ChangeLog	2011-08-11 20:43:18 UTC (rev 92874)
+++ trunk/Tools/ChangeLog	2011-08-11 20:59:51 UTC (rev 92875)
@@ -1,3 +1,16 @@
+2011-08-11  Adam Barth  <[email protected]>
+
+        garden-o-matic should be able to determine when tests unexpectedly pass
+        https://bugs.webkit.org/show_bug.cgi?id=66092
+
+        Reviewed by Dimitri Glazkov.
+
+        This patch just contains the library methods for extracting this
+        information.  I'll add some UI in a subsequent patch.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js:
+
 2011-08-11  Dimitri Glazkov  <[email protected]>
 
         New expectation entries should be placed next to existing ones.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to