Diff
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js (92343 => 92344)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js 2011-08-04 02:35:41 UTC (rev 92343)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js 2011-08-04 03:02:54 UTC (rev 92344)
@@ -37,25 +37,19 @@
});
};
-checkout.rebaseline = function(builderName, testName, failureTypeList, callback)
+checkout.rebaseline = function(rebaselineTasks, callback)
{
- var extensionList = Array.prototype.concat.apply([], failureTypeList.map(results.failureTypeToExtensionList));
-
- base.callInSequence(function(extension, callback) {
- $.post('/rebaseline?' + $.param({
- 'builder': builderName,
- 'test': testName,
- 'extension': extension
- }), function() {
- callback();
- });
- }, extensionList, callback);
-};
-
-checkout.rebaselineAll = function(rebaselineTasks, callback)
-{
base.callInSequence(function(task, callback) {
- checkout.rebaseline(task.builderName, task.testName, task.failureTypeList, callback);
+ var extensionList = Array.prototype.concat.apply([], task.failureTypeList.map(results.failureTypeToExtensionList));
+ base.callInSequence(function(extension, callback) {
+ $.post('/rebaseline?' + $.param({
+ 'builder': task.builderName,
+ 'test': task.testName,
+ 'extension': extension
+ }), function() {
+ callback();
+ });
+ }, extensionList, callback);
}, rebaselineTasks, function() {
var testNameList = base.uniquifyArray(rebaselineTasks.map(function(task) { return task.testName; }));
base.callInSequence(checkout.optimizeBaselines, testNameList, callback);
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html (92343 => 92344)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html 2011-08-04 02:35:41 UTC (rev 92343)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html 2011-08-04 03:02:54 UTC (rev 92344)
@@ -21,7 +21,7 @@
<div class="results-detail">
<div class="toolbar">
<div class="actions">
- <button class="rebaseline default">Rebaseline</button><button class="previous">◀</button><button class="next">▶</button><button class="dismiss">Close</button>
+ <button class="rebaseline default">Add to Rebaseline Queue</button><button class="previous">◀</button><button class="next">▶</button><button class="dismiss">Close</button>
</div>
<div class="status"></div>
<div class="clear"></div>
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js (92343 => 92344)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js 2011-08-04 02:35:41 UTC (rev 92343)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js 2011-08-04 03:02:54 UTC (rev 92344)
@@ -59,6 +59,16 @@
button.attr('disabled', true)
}
+function rebaseline(rebaselineTasks)
+{
+ displayOnButterbar('Rebaselining...');
+ checkout.rebaseline(rebaselineTasks, function() {
+ dismissButterbar();
+ // FIXME: We should use something like a lightbox rather than alert!
+ alert('New results downloaded to your working copy. Please use "webkit-patch land-cowboy" to land the updated baselines.');
+ });
+}
+
function showResultsDetail(testName, builderName, failureTypeList)
{
var failureTypes = failureTypeList.join(' ');
@@ -97,6 +107,15 @@
});
}
+function executeQueuedRebaselines()
+{
+ var rebaselineQueue = model.takeRebaselineQueue();
+ if (!rebaselineQueue.length)
+ return;
+ // FIXME: Should we confirm with the use before executing the queue?
+ rebaseline(rebaselineQueue);
+}
+
function hideResultsDetail()
{
$('.results-detail').fadeOut('fast', function() {
@@ -106,11 +125,15 @@
// but doing so helps the garbage collector free memory.
g_resultsDetailsIterator = null;
});
+ executeQueuedRebaselines();
}
function nextResultsDetail()
{
- g_resultsDetailsIterator.callNext();
+ if (g_resultsDetailsIterator.hasNext())
+ g_resultsDetailsIterator.callNext();
+ else
+ hideResultsDetail();
}
function previousResultsDetail()
@@ -118,7 +141,7 @@
g_resultsDetailsIterator.callPrevious();
}
-function rebaselineResults()
+function addToRebaselineQueue()
{
var failureDetails = $('.failure-details', $(this).parents('.results-detail'));
@@ -127,8 +150,8 @@
var failureTypes = failureDetails.attr(config.kFailureTypesAttr);
var failureTypeList = failureTypes.split(' ');
- displayOnButterbar('Rebaselining...');
- checkout.rebaseline(builderName, testName, failureTypeList, dismissButterbar);
+ model.queueForRebaseline(builderName, testName, failureTypeList);
+ nextResultsDetail();
}
function selectedFailures()
@@ -159,8 +182,7 @@
function rebaselineSelected()
{
- displayOnButterbar('Rebaselining...');
- checkout.rebaselineAll(selectedFailures(), dismissButterbar);
+ rebaseline(selectedFailures());
}
function showSelectedFailures()
@@ -247,7 +269,7 @@
$('.results-detail .actions .next').live('click', nextResultsDetail);
$('.results-detail .actions .previous').live('click', previousResultsDetail);
-$('.results-detail .actions .rebaseline').live('click', rebaselineResults);
+$('.results-detail .actions .rebaseline').live('click', addToRebaselineQueue);
$('.results-detail .actions .dismiss').live('click', hideResultsDetail);
$(document).ready(function() {
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js (92343 => 92344)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js 2011-08-04 02:35:41 UTC (rev 92343)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js 2011-08-04 03:02:54 UTC (rev 92344)
@@ -6,6 +6,7 @@
model.state = {};
model.state.failureAnalysisByTest = {};
+model.state.rebaselineQueue = []
function findAndMarkRevertedRevisions(commitDataList)
{
@@ -20,6 +21,22 @@
});
}
+model.queueForRebaseline = function(builderName, testName, failureTypeList)
+{
+ model.state.rebaselineQueue.push({
+ 'builderName': builderName,
+ 'testName': testName,
+ 'failureTypeList': failureTypeList,
+ });
+};
+
+model.takeRebaselineQueue = function()
+{
+ var queue = model.state.rebaselineQueue;
+ model.state.rebaselineQueue = [];
+ return queue;
+};
+
model.updateRecentCommits = function(callback)
{
trac.recentCommitData('trunk', kCommitLogLength, function(commitDataList) {
@@ -40,6 +57,7 @@
model.analyzeUnexpectedFailures = function(callback)
{
var unexpectedFailures = results.unexpectedFailuresByTest(model.state.resultsByBuilder);
+ console.log(unexpectedFailures);
$.each(model.state.failureAnalysisByTest, function(testName, failureAnalysis) {
if (!(testName in unexpectedFailures))
Modified: trunk/Tools/ChangeLog (92343 => 92344)
--- trunk/Tools/ChangeLog 2011-08-04 02:35:41 UTC (rev 92343)
+++ trunk/Tools/ChangeLog 2011-08-04 03:02:54 UTC (rev 92344)
@@ -1,3 +1,18 @@
+2011-08-03 Adam Barth <[email protected]>
+
+ garden-o-matic details view should queue rebaselines for later execution
+ https://bugs.webkit.org/show_bug.cgi?id=65636
+
+ Reviewed by Dimitri Glazkov.
+
+ This patch doesn't contain any confirmation UI, but we'll probably want
+ that at some point.
+
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js:
+
2011-08-03 Kentaro Hara <[email protected]>
Implement EventSender.scalePageBy()