summaryrefslogtreecommitdiffstats
path: root/webkit/tools/layout_tests/flakiness_dashboard.html
diff options
context:
space:
mode:
authorojan@chromium.org <ojan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-03 19:19:29 +0000
committerojan@chromium.org <ojan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-03 19:19:29 +0000
commit3198deec103c43e415b05eba8f979236695cb75c (patch)
treeb2187fcfd9f0d0a3fdf742293746eed7f165aaee /webkit/tools/layout_tests/flakiness_dashboard.html
parent99d5f339101b38d3f0cd921768e24029882d4f17 (diff)
downloadchromium_src-3198deec103c43e415b05eba8f979236695cb75c.zip
chromium_src-3198deec103c43e415b05eba8f979236695cb75c.tar.gz
chromium_src-3198deec103c43e415b05eba8f979236695cb75c.tar.bz2
Layout test dashboard additions:
1. Add support for V8-latest canaries. 2. Show actual results for the latest run of each bot. Review URL: http://codereview.chromium.org/340073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30844 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools/layout_tests/flakiness_dashboard.html')
-rw-r--r--webkit/tools/layout_tests/flakiness_dashboard.html53
1 files changed, 40 insertions, 13 deletions
diff --git a/webkit/tools/layout_tests/flakiness_dashboard.html b/webkit/tools/layout_tests/flakiness_dashboard.html
index 7d18d68..efc4f4d 100644
--- a/webkit/tools/layout_tests/flakiness_dashboard.html
+++ b/webkit/tools/layout_tests/flakiness_dashboard.html
@@ -1441,10 +1441,12 @@
* specific expectations.
* @param {string} path Relative path to the expectation.
* @param {string} base Base path for the expectation URL.
- * @param {string} opt_suffix Suffix to place at the end of the path.
+ * @param {string} suffix Suffix to place at the end of the path.
+ * @param {string} opt_builder Builder whose actual results this expectation
+ * points to.
*/
function addExpectationItem(expectationsContainers, parentContainer, platform,
- path, base, opt_suffix) {
+ path, base, suffix, opt_builder) {
var fileExtension = getExtension(path);
var container = getExpectationsContainer(expectationsContainers,
parentContainer, fileExtension);
@@ -1453,7 +1455,6 @@
// TODO(ojan): Is there any way to do this that doesn't rely on script
// tags? They spew a lot of errors to the console.
var dummyNode = document.createElement(isImage ? 'img' : 'script');
- var suffix = opt_suffix || '';
var platformPart = platform ? ensureTrailingSlash(platform) : '';
dummyNode.src = base + platformPart + path + suffix;
@@ -1461,7 +1462,8 @@
childContainer.className = 'unloaded';
dummyNode.onload = function() {
- childContainer.appendChild(getExpectationsTitle(platform, path));
+ childContainer.appendChild(
+ getExpectationsTitle(platform, path, opt_builder || ''));
childContainer.className = 'expectations-item';
var item;
@@ -1571,15 +1573,17 @@
addExpectationItem(expectationsContainers, container, platform, checksum,
base, textSuffix);
addExpectationItem(expectationsContainers, container, platform, png,
- imageBase);
+ imageBase, '');
}
- function getExpectationsTitle(platform, path) {
+ function getExpectationsTitle(platform, path, builder) {
var header = document.createElement('h3');
header.className = 'expectations-title';
var innerHTML;
- if (platform == LAYOUT_TESTS_PREFIX) {
+ if (builder) {
+ innerHTML = 'ACTUAL RESULTS: ' + builder;
+ } else if (platform == LAYOUT_TESTS_PREFIX) {
var parts = path.split('/');
innerHTML = parts[parts.length - 1];
} else {
@@ -1642,6 +1646,21 @@
}
}
+ var actualResultSuffixes = ['-actual.txt', '-actual.checksum',
+ '-actual.png', '-stack.png'];
+
+ for (var builder in builders) {
+ var actualResultsBase =
+ 'http://build.chromium.org/buildbot/layout_test_results/' +
+ builders[builder] + '/results/layout-test-results/';
+ for (var i = 0; i < actualResultSuffixes.length; i++) {
+ addExpectationItem(expectationsContainers, expectationsContainer, null,
+ testWithoutSuffix + actualResultSuffixes[i], actualResultsBase, '',
+ builder);
+ }
+ }
+
+
// Add a clearing element so floated elements don't bleed out of their
// containing block.
var br = document.createElement('br');
@@ -1731,6 +1750,15 @@
return testsHTML.join('<hr>');
}
+ function getHTMLForCanaryLink(html, useWebKitCanary, useV8Canary) {
+ var className = (currentState.useWebKitCanary == useWebKitCanary &&
+ currentState.useV8Canary == useV8Canary) ? 'current-builder' : 'link';
+ return '<span class=' + className +
+ ' onclick="setState(\'useWebKitCanary\',' + useWebKitCanary +
+ ',\'useV8Canary\',' + useV8Canary + ');window.location.reload()">' +
+ html + '</span> | ';
+ }
+
function getHTMLForNavBar(opt_builderName) {
var html = '<div id=builders>';
for (var builder in builders) {
@@ -1739,15 +1767,14 @@
' onclick=\'setState("builder", "' + builder + '")\'>' +
builder + '</span>';
}
- var canaryLink = '<span class=link onClick="setState(\'useWebKitCanary\',' +
- !currentState.useWebKitCanary + ');window.location.reload()">' +
- (currentState.useWebKitCanary ? 'Main builders' : 'WebKit.org Canary') +
- '</span>';
return html + '</div>' +
'<form id=tests-form ' +
- 'onsubmit="setState(\'tests\', tests.value);return false;">' +
- '<div>' + canaryLink + ' | <span class=link ' +
+ 'onsubmit="setState(\'tests\', tests.value);return false;"><div>' +
+ getHTMLForCanaryLink('Main builders', false, false) +
+ getHTMLForCanaryLink('WebKit.org Canary', true, false) +
+ getHTMLForCanaryLink('V8 Canary', false, true) +
+ '<span class=link ' +
'onclick="setState(\'tests\', \'allIncorrectExpectations\')">' +
'All incorrect expectations</span> | '+
'<span class=link ' +