OLD | NEW |
---|---|
1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
2 <html> | 2 <html> |
3 | 3 |
4 <head> | 4 <head> |
5 <title>Webkit Layout Test History</title> | 5 <title>Webkit Layout Test History</title> |
6 <style> | 6 <style> |
7 body { | 7 body { |
8 font-family: arial; | 8 font-family: arial; |
9 font-size: 13px; | 9 font-size: 13px; |
10 } | 10 } |
(...skipping 1423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1434 * uses which expectation. | 1434 * uses which expectation. |
1435 * | 1435 * |
1436 * @param {Object} expectationsContainers Map from expectations type to | 1436 * @param {Object} expectationsContainers Map from expectations type to |
1437 * container DIV. | 1437 * container DIV. |
1438 * @param {Element} parentContainer Container element for | 1438 * @param {Element} parentContainer Container element for |
1439 * expectationsContainer divs. | 1439 * expectationsContainer divs. |
1440 * @param {string} platform Platform string. "LayoutTests/" for non-platform | 1440 * @param {string} platform Platform string. "LayoutTests/" for non-platform |
1441 * specific expectations. | 1441 * specific expectations. |
1442 * @param {string} path Relative path to the expectation. | 1442 * @param {string} path Relative path to the expectation. |
1443 * @param {string} base Base path for the expectation URL. | 1443 * @param {string} base Base path for the expectation URL. |
1444 * @param {string} opt_suffix Suffix to place at the end of the path. | 1444 * @param {string} suffix Suffix to place at the end of the path. |
1445 * @param {string} opt_builder Builder whose actual results this expectation | |
1446 * points to. | |
1445 */ | 1447 */ |
1446 function addExpectationItem(expectationsContainers, parentContainer, platform, | 1448 function addExpectationItem(expectationsContainers, parentContainer, platform, |
1447 path, base, opt_suffix) { | 1449 path, base, suffix, opt_builder) { |
1448 var fileExtension = getExtension(path); | 1450 var fileExtension = getExtension(path); |
1449 var container = getExpectationsContainer(expectationsContainers, | 1451 var container = getExpectationsContainer(expectationsContainers, |
1450 parentContainer, fileExtension); | 1452 parentContainer, fileExtension); |
1451 var isImage = path.match(/\.png$/); | 1453 var isImage = path.match(/\.png$/); |
1452 | 1454 |
1453 // TODO(ojan): Is there any way to do this that doesn't rely on script | 1455 // TODO(ojan): Is there any way to do this that doesn't rely on script |
1454 // tags? They spew a lot of errors to the console. | 1456 // tags? They spew a lot of errors to the console. |
1455 var dummyNode = document.createElement(isImage ? 'img' : 'script'); | 1457 var dummyNode = document.createElement(isImage ? 'img' : 'script'); |
1456 var suffix = opt_suffix || ''; | |
1457 var platformPart = platform ? ensureTrailingSlash(platform) : ''; | 1458 var platformPart = platform ? ensureTrailingSlash(platform) : ''; |
1458 dummyNode.src = base + platformPart + path + suffix; | 1459 dummyNode.src = base + platformPart + path + suffix; |
1459 | 1460 |
1460 var childContainer = document.createElement('span'); | 1461 var childContainer = document.createElement('span'); |
1461 childContainer.className = 'unloaded'; | 1462 childContainer.className = 'unloaded'; |
1462 | 1463 |
1463 dummyNode.onload = function() { | 1464 dummyNode.onload = function() { |
1464 childContainer.appendChild(getExpectationsTitle(platform, path)); | 1465 childContainer.appendChild( |
1466 getExpectationsTitle(platform, path, opt_builder || '')); | |
1465 childContainer.className = 'expectations-item'; | 1467 childContainer.className = 'expectations-item'; |
1466 | 1468 |
1467 var item; | 1469 var item; |
1468 if (isImage) { | 1470 if (isImage) { |
1469 item = dummyNode; | 1471 item = dummyNode; |
1470 } else { | 1472 } else { |
1471 item = document.createElement('iframe'); | 1473 item = document.createElement('iframe'); |
1472 item.src = dummyNode.src; | 1474 item.src = dummyNode.src; |
1473 } | 1475 } |
1474 | 1476 |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1564 return revision; | 1566 return revision; |
1565 } | 1567 } |
1566 | 1568 |
1567 function addExpectations(expectationsContainers, container, base, imageBase, | 1569 function addExpectations(expectationsContainers, container, base, imageBase, |
1568 platform, text, checksum, png, textSuffix) { | 1570 platform, text, checksum, png, textSuffix) { |
1569 addExpectationItem(expectationsContainers, container, platform, text, base, | 1571 addExpectationItem(expectationsContainers, container, platform, text, base, |
1570 textSuffix); | 1572 textSuffix); |
1571 addExpectationItem(expectationsContainers, container, platform, checksum, | 1573 addExpectationItem(expectationsContainers, container, platform, checksum, |
1572 base, textSuffix); | 1574 base, textSuffix); |
1573 addExpectationItem(expectationsContainers, container, platform, png, | 1575 addExpectationItem(expectationsContainers, container, platform, png, |
1574 imageBase); | 1576 imageBase, ''); |
1575 } | 1577 } |
1576 | 1578 |
1577 function getExpectationsTitle(platform, path) { | 1579 function getExpectationsTitle(platform, path, builder) { |
1578 var header = document.createElement('h3'); | 1580 var header = document.createElement('h3'); |
1579 header.className = 'expectations-title'; | 1581 header.className = 'expectations-title'; |
1580 | 1582 |
1581 var innerHTML; | 1583 var innerHTML; |
1582 if (platform == LAYOUT_TESTS_PREFIX) { | 1584 if (builder) { |
1585 innerHTML = 'ACTUAL RESULTS: ' + builder; | |
1586 } else if (platform == LAYOUT_TESTS_PREFIX) { | |
1583 var parts = path.split('/'); | 1587 var parts = path.split('/'); |
1584 innerHTML = parts[parts.length - 1]; | 1588 innerHTML = parts[parts.length - 1]; |
1585 } else { | 1589 } else { |
1586 innerHTML = platform || path; | 1590 innerHTML = platform || path; |
1587 } | 1591 } |
1588 | 1592 |
1589 header.innerHTML = '<div class=title>' + innerHTML + | 1593 header.innerHTML = '<div class=title>' + innerHTML + |
1590 '</div><div style="float:left"> </div>' + | 1594 '</div><div style="float:left"> </div>' + |
1591 '<div class=platforms style="float:right"></div>'; | 1595 '<div class=platforms style="float:right"></div>'; |
1592 header.platform = platform; | 1596 header.platform = platform; |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1635 fallback, textWithoutPrefix, | 1639 fallback, textWithoutPrefix, |
1636 checksumWithoutPrefix, pngWithoutPrefix, textSuffixWebKit); | 1640 checksumWithoutPrefix, pngWithoutPrefix, textSuffixWebKit); |
1637 } | 1641 } |
1638 } else { | 1642 } else { |
1639 addExpectations(expectationsContainers, expectationsContainer, | 1643 addExpectations(expectationsContainers, expectationsContainer, |
1640 CHROME_TEST_BASE_URL, CHROME_TEST_BASE_URL, fallback, text, | 1644 CHROME_TEST_BASE_URL, CHROME_TEST_BASE_URL, fallback, text, |
1641 checksum, png, textSuffixChrome); | 1645 checksum, png, textSuffixChrome); |
1642 } | 1646 } |
1643 } | 1647 } |
1644 | 1648 |
1649 var actualResultSuffixes = ['-actual.txt', '-actual.checksum', | |
1650 '-actual.png', '-stack.png']; | |
1651 | |
1652 for (var builder in builders) { | |
1653 var actualResultsBase = | |
1654 'http://build.chromium.org/buildbot/layout_test_results/' + | |
1655 builders[builder] + '/results/layout-test-results/'; | |
1656 for (var i = 0; i < actualResultSuffixes.length; i++) { | |
1657 addExpectationItem(expectationsContainers, expectationsContainer, null, | |
1658 testWithoutSuffix + actualResultSuffixes[i], actualResultsBase, '', | |
1659 builder); | |
1660 } | |
1661 } | |
1662 | |
1663 | |
1645 // Add a clearing element so floated elements don't bleed out of their | 1664 // Add a clearing element so floated elements don't bleed out of their |
1646 // containing block. | 1665 // containing block. |
1647 var br = document.createElement('br'); | 1666 var br = document.createElement('br'); |
1648 br.style.clear = 'both'; | 1667 br.style.clear = 'both'; |
1649 expectationsContainer.appendChild(br); | 1668 expectationsContainer.appendChild(br); |
1650 } | 1669 } |
1651 | 1670 |
1652 var allFallbacks; | 1671 var allFallbacks; |
1653 | 1672 |
1654 /** | 1673 /** |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1723 } | 1742 } |
1724 | 1743 |
1725 function getHTMLForIndividualTests(tests) { | 1744 function getHTMLForIndividualTests(tests) { |
1726 var testsHTML = []; | 1745 var testsHTML = []; |
1727 for (var i = 0; i < tests.length; i++) { | 1746 for (var i = 0; i < tests.length; i++) { |
1728 testsHTML.push('<h2 onclick="selectContents(this)">' + tests[i] + | 1747 testsHTML.push('<h2 onclick="selectContents(this)">' + tests[i] + |
1729 '</h2>' + getHTMLForIndividulTestOnAllBuilders(tests[i])); | 1748 '</h2>' + getHTMLForIndividulTestOnAllBuilders(tests[i])); |
1730 } | 1749 } |
1731 return testsHTML.join('<hr>'); | 1750 return testsHTML.join('<hr>'); |
1732 } | 1751 } |
1752 | |
1753 function getHTMLForCanaryLink(html, useWebKitCanary, useV8Canary) { | |
1754 var className = (currentState.useWebKitCanary == useWebKitCanary && | |
1755 currentState.useV8Canary == useV8Canary) ? 'current-builder' : 'link'; | |
1756 return '<span class=' + className + | |
1757 ' onClick="setState(\'useWebKitCanary\',' + useWebKitCanary + | |
arv (Not doing code reviews)
2009/11/03 18:22:33
onclick
| |
1758 ',\'useV8Canary\',' + useV8Canary + ');window.location.reload()">' + | |
1759 html + '</span> | '; | |
1760 } | |
1733 | 1761 |
1734 function getHTMLForNavBar(opt_builderName) { | 1762 function getHTMLForNavBar(opt_builderName) { |
1735 var html = '<div id=builders>'; | 1763 var html = '<div id=builders>'; |
1736 for (var builder in builders) { | 1764 for (var builder in builders) { |
1737 var className = builder == opt_builderName ? 'current-builder' : 'link'; | 1765 var className = builder == opt_builderName ? 'current-builder' : 'link'; |
1738 html += '<span class=' + className + | 1766 html += '<span class=' + className + |
1739 ' onclick=\'setState("builder", "' + builder + '")\'>' + | 1767 ' onclick=\'setState("builder", "' + builder + '")\'>' + |
1740 builder + '</span>'; | 1768 builder + '</span>'; |
1741 } | 1769 } |
1742 var canaryLink = '<span class=link onClick="setState(\'useWebKitCanary\',' + | |
1743 !currentState.useWebKitCanary + ');window.location.reload()">' + | |
1744 (currentState.useWebKitCanary ? 'Main builders' : 'WebKit.org Canary') + | |
1745 '</span>'; | |
1746 | 1770 |
1747 return html + '</div>' + | 1771 return html + '</div>' + |
1748 '<form id=tests-form ' + | 1772 '<form id=tests-form ' + |
1749 'onsubmit="setState(\'tests\', tests.value);return false;">' + | 1773 'onsubmit="setState(\'tests\', tests.value);return false;"><div>' + |
1750 '<div>' + canaryLink + ' | <span class=link ' + | 1774 getHTMLForCanaryLink('Main builders', false, false) + |
1775 getHTMLForCanaryLink('WebKit.org Canary', true, false) + | |
1776 getHTMLForCanaryLink('V8 Canary', false, true) + | |
1777 '<span class=link ' + | |
1751 'onclick="setState(\'tests\', \'allIncorrectExpectations\')">' + | 1778 'onclick="setState(\'tests\', \'allIncorrectExpectations\')">' + |
1752 'All incorrect expectations</span> | '+ | 1779 'All incorrect expectations</span> | '+ |
1753 '<span class=link ' + | 1780 '<span class=link ' + |
1754 'onclick="setState(\'tests\', \'allSlowTests\')">All SLOW' + | 1781 'onclick="setState(\'tests\', \'allSlowTests\')">All SLOW' + |
1755 '</span> | <span class=link ' + | 1782 '</span> | <span class=link ' + |
1756 'onclick="setState(\'tests\', \'allNeedSlowTests\')">All need ' + | 1783 'onclick="setState(\'tests\', \'allNeedSlowTests\')">All need ' + |
1757 'SLOW</span> | Show tests on all platforms: </div><input name=tests ' + | 1784 'SLOW</span> | Show tests on all platforms: </div><input name=tests ' + |
1758 'placeholder="Comma or space-separated list of tests or partial ' + | 1785 'placeholder="Comma or space-separated list of tests or partial ' + |
1759 'paths to show test results across all builders, e.g., ' + | 1786 'paths to show test results across all builders, e.g., ' + |
1760 'LayoutTests/foo/bar.html,LayoutTests/foo/baz,forms" ' + | 1787 'LayoutTests/foo/bar.html,LayoutTests/foo/baz,forms" ' + |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1943 hideLegend(); | 1970 hideLegend(); |
1944 hidePopup(); | 1971 hidePopup(); |
1945 } | 1972 } |
1946 }, false); | 1973 }, false); |
1947 | 1974 |
1948 </script> | 1975 </script> |
1949 </head> | 1976 </head> |
1950 | 1977 |
1951 <body></body> | 1978 <body></body> |
1952 </html> | 1979 </html> |
OLD | NEW |