Title: [95067] trunk/Tools
Revision
95067
Author
aba...@webkit.org
Date
2011-09-13 18:21:52 -0700 (Tue, 13 Sep 2011)

Log Message

garden-o-matic should be able to mark failures as expected
https://bugs.webkit.org/show_bug.cgi?id=68027

Reviewed by Dimitri Glazkov.

All the back-end infrastructure exists for this operation.  This patch
just adds some UI to the front-end and wires that UI up to the back
end.  This exact UI will likely need some more polish, but this should
be a reasonable first cut.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js (95066 => 95067)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js	2011-09-14 01:20:29 UTC (rev 95066)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js	2011-09-14 01:21:52 UTC (rev 95067)
@@ -31,7 +31,7 @@
 function rebaselineWithStatusUpdates(failureInfoList)
 {
     var statusView = new ui.MessageBox(
-        'Rebaseline status',
+        'Rebaseline',
         'Performing rebaseline...');
 
     checkout.rebaseline(failureInfoList, function() {
@@ -44,6 +44,21 @@
     });
 }
 
+// FIXME: Where should this function go?
+// FIXME: This should share more code with rebaselineWithStatusUpdates.
+function updateExpectationsWithStatusUpdates(failureInfoList)
+{
+    var statusView = new ui.MessageBox(
+        'Expectations Update',
+        'Updating expectations...');
+
+    checkout.updateExpectations(failureInfoList, function() {
+        statusView.addMessage('Expectations update done! Please land with "webkit-patch land-cowboy".');
+        statusView.addActionList(new ui.actions.List([new ui.actions.Close()]));
+        $(statusView).bind('close', statusView.close.bind(statusView));
+    });
+}
+
 controllers.ResultsDetails = base.extends(Object, {
     init: function(view, resultsByTest)
     {
@@ -54,6 +69,7 @@
         $(this._view).bind('next', this.onNext.bind(this));
         $(this._view).bind('previous', this.onPrevious.bind(this));
         $(this._view).bind('rebaseline', this.onRebaseline.bind(this));
+        $(this._view).bind('updateexpectations', this.onUpdateExpectations.bind(this));
     },
     onNext: function()
     {
@@ -63,16 +79,23 @@
     {
         this._view.previousResult();
     },
-    onRebaseline: function()
+    _failureInfoList: function()
     {
         var testName = this._view.currentTestName();
-        var failureInfoList = Object.keys(this._resultsByTest[testName]).map(function(builderName) {
+        return Object.keys(this._resultsByTest[testName]).map(function(builderName) {
             return {
                 'testName': testName,
                 'builderName': builderName
-            }
+            };
         });
-        rebaselineWithStatusUpdates(failureInfoList);
+    },
+    onRebaseline: function()
+    {
+        rebaselineWithStatusUpdates(this._failureInfoList());
+    },
+    onUpdateExpectations: function()
+    {
+        updateExpectationsWithStatusUpdates(this._failureInfoList());
     }
 });
 
@@ -99,6 +122,9 @@
             $(failure).bind('rebaseline', function() {
                 this.onRebaseline(failure);
             }.bind(this));
+            $(failure).bind('updateexpectations', function() {
+                this.onUpdateExpectations(failure);
+            }.bind(this));
         }
         failure.addFailureAnalysis(failureAnalysis);
         this._testFailures.update(key, failure);
@@ -130,10 +156,17 @@
         $(resultsContainer).empty().append(resultsView);
         onebar.select('results');
     },
+    _toFailureInfoList: function(failures)
+    {
+        return base.flattenArray(failures.testNameList().map(model.unexpectedFailureInfoForTestName));
+    },
     onRebaseline: function(failures)
     {
-        var failureInfoList = base.flattenArray(failures.testNameList().map(model.unexpectedFailureInfoForTestName));
-        rebaselineWithStatusUpdates(failureInfoList);
+        rebaselineWithStatusUpdates(this._toFailureInfoList(failures));
+    },
+    onUpdateExpectations: function(failures)
+    {
+        updateExpectationsWithStatusUpdates(this._toFailureInfoList(failures));
     }
 });
 

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js (95066 => 95067)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js	2011-09-14 01:20:29 UTC (rev 95066)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js	2011-09-14 01:21:52 UTC (rev 95067)
@@ -83,6 +83,14 @@
     }
 });
 
+// FIXME: Rename all the code to match the user-visible name.
+ui.actions.UpdateExpectations = base.extends(Action, {
+    init: function() {
+        this.textContent = 'Mark as Expected';
+        this._eventName = 'updateexpectations';
+    }
+});
+
 ui.actions.Next = base.extends(Action, {
     init: function() {
         this.innerHTML = '▶';

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js (95066 => 95067)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js	2011-09-14 01:20:29 UTC (rev 95066)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js	2011-09-14 01:21:52 UTC (rev 95067)
@@ -154,6 +154,7 @@
         this._problem.appendChild(new ui.actions.List([
             new ui.actions.Examine().makeDefault(),
             new ui.actions.Rebaseline(),
+            new ui.actions.UpdateExpectations(),
         ]));
         this._testNameList = [];
     },

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js (95066 => 95067)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js	2011-09-14 01:20:29 UTC (rev 95066)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js	2011-09-14 01:21:52 UTC (rev 95067)
@@ -115,6 +115,7 @@
                 '<ul class="actions">' +
                     '<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
                     '<li><button class="action">Rebaseline</button></li>' +
+                    '<li><button class="action">Mark as Expected</button></li>' +
                 '</ul>' +
             '</div>' +
             '<ul class="causes"></ul>' +
@@ -137,6 +138,7 @@
                 '<ul class="actions">' +
                     '<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
                     '<li><button class="action">Rebaseline</button></li>' +
+                    '<li><button class="action">Mark as Expected</button></li>' +
                 '</ul>' +
             '</div>' +
             '<ul class="causes"></ul>' +
@@ -160,6 +162,7 @@
                 '<ul class="actions">' +
                     '<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
                     '<li><button class="action">Rebaseline</button></li>' +
+                    '<li><button class="action">Mark as Expected</button></li>' +
                 '</ul>' +
             '</div>' +
             '<ul class="causes"></ul>' +
@@ -185,6 +188,7 @@
                 '<ul class="actions">' +
                     '<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
                     '<li><button class="action">Rebaseline</button></li>' +
+                    '<li><button class="action">Mark as Expected</button></li>' +
                 '</ul>' +
             '</div>' +
             '<ul class="causes">' +
@@ -228,6 +232,7 @@
                 '<ul class="actions">' +
                     '<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
                     '<li><button class="action">Rebaseline</button></li>' +
+                    '<li><button class="action">Mark as Expected</button></li>' +
                 '</ul>' +
             '</div>' +
             '<ul class="causes">' +
@@ -275,6 +280,7 @@
                 '<ul class="actions">' +
                     '<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
                     '<li><button class="action">Rebaseline</button></li>' +
+                    '<li><button class="action">Mark as Expected</button></li>' +
                 '</ul>' +
             '</div>' +
             '<ul class="causes">' +
@@ -318,6 +324,7 @@
                 '<ul class="actions">' +
                     '<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
                     '<li><button class="action">Rebaseline</button></li>' +
+                    '<li><button class="action">Mark as Expected</button></li>' +
                 '</ul>' +
             '</div>' +
             '<ul class="causes"></ul>' +

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js (95066 => 95067)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js	2011-09-14 01:20:29 UTC (rev 95066)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js	2011-09-14 01:21:52 UTC (rev 95067)
@@ -175,7 +175,8 @@
 
             var header = document.createElement('h3');
             $(header).append(new ui.actions.List([
-                new ui.actions.Rebaseline().makeDefault()
+                new ui.actions.Rebaseline().makeDefault(),
+                new ui.actions.UpdateExpectations(),
             ])).append(link);
             this.appendChild(header);
             this.appendChild(this._delegate.contentForTest(testName));

Modified: trunk/Tools/ChangeLog (95066 => 95067)


--- trunk/Tools/ChangeLog	2011-09-14 01:20:29 UTC (rev 95066)
+++ trunk/Tools/ChangeLog	2011-09-14 01:21:52 UTC (rev 95067)
@@ -1,5 +1,23 @@
 2011-09-13  Adam Barth  <aba...@webkit.org>
 
+        garden-o-matic should be able to mark failures as expected
+        https://bugs.webkit.org/show_bug.cgi?id=68027
+
+        Reviewed by Dimitri Glazkov.
+
+        All the back-end infrastructure exists for this operation.  This patch
+        just adds some UI to the front-end and wires that UI up to the back
+        end.  This exact UI will likely need some more polish, but this should
+        be a reasonable first cut.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
+
+2011-09-13  Adam Barth  <aba...@webkit.org>
+
         garden-o-matic should tell you about the progress of your rebaseline
         https://bugs.webkit.org/show_bug.cgi?id=67967
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to