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