Diff
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js (106738 => 106739)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js 2012-02-04 10:20:07 UTC (rev 106738)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js 2012-02-04 10:22:12 UTC (rev 106739)
@@ -171,12 +171,26 @@
return filteredTree;
};
+base.forEachDirectory = function(pathList, callback)
+{
+ var pathsByDirectory = {};
+ pathList.forEach(function(path) {
+ var directory = base.dirName(path);
+ pathsByDirectory[directory] = pathsByDirectory[directory] || [];
+ pathsByDirectory[directory].push(path);
+ });
+ Object.keys(pathsByDirectory).sort().forEach(function(directory) {
+ var paths = pathsByDirectory[directory];
+ callback(directory + ' (' + paths.length + ' tests)', paths);
+ });
+};
+
base.parseJSONP = function(jsonp)
{
var startIndex = jsonp.indexOf('(') + 1;
var endIndex = jsonp.lastIndexOf(')');
return JSON.parse(jsonp.substr(startIndex, endIndex - startIndex));
-}
+};
base.RequestTracker = function(requestsInFlight, callback, args)
{
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js (106738 => 106739)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js 2012-02-04 10:20:07 UTC (rev 106738)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js 2012-02-04 10:22:12 UTC (rev 106739)
@@ -104,7 +104,29 @@
update: function()
{
var expectedOrUnexpectedFailures = results.expectedOrUnexpectedFailuresByTest(this._model.resultsByBuilder);
- this._view.setFailingTests(Object.keys(expectedOrUnexpectedFailures));
+ var failingTestsList = Object.keys(expectedOrUnexpectedFailures);
+
+ $(this._view).empty();
+ base.forEachDirectory(failingTestsList, function(label, testsFailingInDirectory) {
+ var listItem = new ui.failures.ListItem(label, testsFailingInDirectory);
+ this._view.appendChild(listItem);
+ $(listItem).bind('examine', function() {
+ this.onExamine(testsFailingInDirectory);
+ }.bind(this));
+ }.bind(this));
+ },
+ onExamine: function(failingTestsList)
+ {
+ var resultsView = new ui.results.View({
+ fetchResultsURLs: results.fetchResultsURLs
+ });
+ var failuresByTest = base.filterDictionary(
+ results.expectedOrUnexpectedFailuresByTest(this._model.resultsByBuilder),
+ function(key) {
+ return failingTestsList.indexOf(key) != -1;
+ });
+ var controller = new controllers.ResultsDetails(resultsView, failuresByTest);
+ this._delegate.showResults(resultsView);
}
});
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js (106738 => 106739)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js 2012-02-04 10:20:07 UTC (rev 106738)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js 2012-02-04 10:22:12 UTC (rev 106739)
@@ -127,18 +127,23 @@
}
});
-ui.failures.List = base.extends('div', {
+ui.failures.ListItem = base.extends('li', {
+ init: function(groupName, failingTestsList)
+ {
+ this._failingTestsList = failingTestsList;
+ this.appendChild(new ui.actions.List([
+ new ui.actions.Examine().makeDefault(),
+ ]));
+ var label = this.appendChild(document.createElement('label'))
+ label.textContent = failingTestsList.length == 1 ? failingTestsList[0] : groupName;
+ },
+});
+
+ui.failures.List = base.extends('ul', {
init: function()
{
+ this.className = 'failures';
this.textContent = 'Loading...';
- },
- setFailingTests: function(failingTestsList)
- {
- $(this).empty();
- var list = this.appendChild(document.createElement('ul'));
- failingTestsList.sort().forEach(function(failingTest) {
- list.appendChild(document.createElement('li')).textContent = failingTest;
- });
}
});
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js (106738 => 106739)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js 2012-02-04 10:20:07 UTC (rev 106738)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js 2012-02-04 10:22:12 UTC (rev 106739)
@@ -182,21 +182,13 @@
},
_forEachTestGroup: function(callback)
{
- var testsByDirectory = {};
- this._testNameList.forEach(function(testName) {
- var directory = base.dirName(testName);
- testsByDirectory[directory] = testsByDirectory[directory] || [];
- testsByDirectory[directory].push(testName);
- });
var individualTests = [];
- Object.keys(testsByDirectory).forEach(function(directory) {
- var testsInDirectory = testsByDirectory[directory];
- var count = testsInDirectory.length;
- if (count <= kMaxTestsPerGroup) {
+ base.forEachDirectory(this._testNameList, function(groupLabel, testsInDirectory) {
+ if (testsInDirectory.length <= kMaxTestsPerGroup) {
individualTests = individualTests.concat(testsInDirectory);
return;
}
- callback(directory + ' (' + count + ' tests)', testsInDirectory);
+ callback(groupLabel, testsInDirectory);
});
individualTests.forEach(function(testName) {
callback(testName, [testName]);
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js (106738 => 106739)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js 2012-02-04 10:20:07 UTC (rev 106738)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js 2012-02-04 10:22:12 UTC (rev 106739)
@@ -218,8 +218,8 @@
'<div class="what">' +
'<div class="problem">' +
'<ul class="effects">' +
+ '<li><a target="_blank" href="" +
'<li><a target="_blank" href="" +
- '<li><a target="_blank" href="" +
'</ul>' +
'<ul class="actions">' +
'<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
@@ -263,8 +263,8 @@
'<div class="what">' +
'<div class="problem">' +
'<ul class="effects">' +
+ '<li><a target="_blank" href="" +
'<li><a target="_blank" href="" +
- '<li><a target="_blank" href="" +
'</ul>' +
'<ul class="actions">' +
'<li><button class="action default" title="Examine these failures in detail.">Examine</button></li>' +
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/failures.css (106738 => 106739)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/failures.css 2012-02-04 10:20:07 UTC (rev 106738)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/failures.css 2012-02-04 10:22:12 UTC (rev 106739)
@@ -51,3 +51,25 @@
a.failing-builder>span.graphics {
padding: 0 2px;
}
+
+
+ul.failures {
+ padding: 0px;
+}
+
+ ul.failures>li {
+ display: -webkit-box;
+ }
+
+ ul.failures>li label {
+ margin-left: 10px;
+ }
+
+ ul.failures>li ul.actions {
+ padding: 0px;
+ visibility: hidden;
+ }
+
+ ul.failures>li:hover ul.actions {
+ visibility: visible;
+ }
Modified: trunk/Tools/ChangeLog (106738 => 106739)
--- trunk/Tools/ChangeLog 2012-02-04 10:20:07 UTC (rev 106738)
+++ trunk/Tools/ChangeLog 2012-02-04 10:22:12 UTC (rev 106739)
@@ -1,3 +1,22 @@
+2012-02-04 Adam Barth <[email protected]>
+
+ garden-o-matic's All Failure tab should let you examine and rebaseline expected failures
+ https://bugs.webkit.org/show_bug.cgi?id=77802
+
+ Reviewed by Eric Seidel.
+
+ This patch refactors our directory grouping code into base.js where it
+ can be shared between failures.js and notifications.js. It then adds
+ an Examine action to each group of failures that triggers the "results"
+ view.
+
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.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/styles/failures.css:
+
2012-02-04 Ojan Vafai <[email protected]>
check-webkit-style is throwing an exception