Index: webkit/tools/layout_tests/flakiness_dashboard.html |
=================================================================== |
--- webkit/tools/layout_tests/flakiness_dashboard.html (revision 30770) |
+++ webkit/tools/layout_tests/flakiness_dashboard.html (working copy) |
@@ -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'); |
@@ -1730,6 +1749,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 + |
arv (Not doing code reviews)
2009/11/03 18:22:33
onclick
|
+ ',\'useV8Canary\',' + useV8Canary + ');window.location.reload()">' + |
+ html + '</span> | '; |
+ } |
function getHTMLForNavBar(opt_builderName) { |
var html = '<div id=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 ' + |