Changeset 112303 in webkit
- Timestamp:
- Mar 27, 2012 12:36:20 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r112183 r112303 1 2012-03-27 Dave Tu <dtu@chromium.org> 2 3 Show image diffs for gpu_tests on flakiness dashboard 4 https://bugs.webkit.org/show_bug.cgi?id=81848 5 6 Reviewed by Ojan Vafai. 7 8 Add a new results layout for gpu_tests that pulls the image diffs in 9 addition to the text output. Also add new gpu_tests builders. 10 11 * Tools/TestResultServer/static-dashboards/builders.js: Update 12 gpu_tests builders. 13 * Tools/TestResultServer/static-dashboards/dashboard_base.js: Add a 14 function to check for GPU test type. 15 * Tools/TestResultServer/static-dashboards/flakiness_dashboard.html: 16 Add new GPU results layout. 17 1 18 2012-03-26 Ryosuke Niwa <rniwa@webkit.org> 2 19 -
trunk/Tools/TestResultServer/static-dashboards/builders.js
r110516 r112303 52 52 'ChromiumChromiumOS': '@DEPS CrOS - chromium.org', 53 53 'ChromiumGPU': '@DEPS - chromium.org', 54 'ChromiumGPUFYI': '@DEPS FYI - chromium.org', 54 55 'ChromiumWebkit': '@ToT - chromium.org', 55 56 'webkit.org': '@ToT - webkit.org' … … 162 163 ['Linux Release (ATI)'], 163 164 ['Linux Release (Intel)'], 165 ['Win7 Audio'], 166 ['Linux Audio'], 164 167 ]; 165 168 associateBuildersWithMaster(CHROMIUM_GPU_FYI_GTESTS_DEPS_BUILDERS, CHROMIUM_GPU_FYI_BUILDER_MASTER); 166 169 167 170 var CHROMIUM_GPU_GTESTS_TOT_BUILDERS = [ 168 ['GPU Win7 (dbg) (NVIDIA)', BuilderGroup.DEFAULT_BUILDER], 171 ['GPU Win7 (NVIDIA)', BuilderGroup.DEFAULT_BUILDER], 172 ['GPU Win7 (dbg) (NVIDIA)'], 173 ['GPU Mac'], 169 174 ['GPU Mac (dbg)'], 170 175 ['GPU Linux (dbg) (NVIDIA)'], -
trunk/Tools/TestResultServer/static-dashboards/dashboard_base.js
r108695 r112303 421 421 { 422 422 return g_currentState.testType == 'layout-tests'; 423 } 424 425 function isGPUTestResults() 426 { 427 return g_currentState.testType == 'gpu_tests'; 423 428 } 424 429 -
trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard.html
r109810 r112303 262 262 .non-webkit-results { 263 263 width: 99%; 264 } 265 .gpu-test-results { 266 width: 400px; 264 267 } 265 268 .used-platform { … … 1214 1217 } 1215 1218 1216 // Returns an array of buildNumbers for all builds where this test failed.1217 function buildNumbersForFailures(builder, testName)1219 // Returns an array of indexes for all builds where this test failed. 1220 function indexesForFailures(builder, testName) 1218 1221 { 1219 1222 var rawResults = g_resultsByBuilder[builder].tests[testName].results; … … 1225 1228 if (isFailingResult(rawResults[i][RLE.VALUE])) { 1226 1229 for (var j = 0; j < numResults; j++) 1227 failures.push( buildNumbers[index + j]);1230 failures.push(index + j); 1228 1231 } 1229 1232 index += numResults; … … 1830 1833 linkHTMLToToggleState('showExpectations', 'results') 1831 1834 1832 if (isLayoutTestResults()) { 1833 html += ' | ' + linkHTMLToToggleState('showLargeExpectations', 'large thumbnails'); 1835 if (isLayoutTestResults() || isGPUTestResults()) { 1836 if (isLayoutTestResults()) 1837 html += ' | ' + linkHTMLToToggleState('showLargeExpectations', 'large thumbnails'); 1834 1838 if (master == WEBKIT_BUILDER_MASTER) { 1835 1839 var revision = g_currentState.revision || ''; … … 1838 1842 '<input name=revision placeholder="e.g. 65540" value="' + revision + 1839 1843 '" id=revision-input></form>'; 1840 } else1841 html += ' | <b>Only shows actual results/diffs from the most recent *failure* on each bot.</b>';1844 } else 1845 html += ' | <b>Only shows actual results/diffs from the most recent *failure* on each bot.</b>'; 1842 1846 } else { 1843 1847 html += ' | <span>Results height:<input ' + … … 2115 2119 function loadExpectations(expectationsContainer) 2116 2120 { 2121 var test = expectationsContainer.getAttribute('test'); 2117 2122 if (isLayoutTestResults()) 2118 loadExpectationsLayoutTests( expectationsContainer);2123 loadExpectationsLayoutTests(test, expectationsContainer); 2119 2124 else { 2120 var test = expectationsContainer.getAttribute('test');2121 2125 var results = g_testToResultsMap[test]; 2122 2126 for (var i = 0; i < results.length; i++) 2123 loadNonWebKitResultsForBuilder(results[i].builder, test, expectationsContainer); 2124 } 2127 if (isGPUTestResults()) 2128 loadGPUResultsForBuilder(results[i].builder, test, expectationsContainer); 2129 else 2130 loadNonWebKitResultsForBuilder(results[i].builder, test, expectationsContainer); 2131 } 2132 } 2133 2134 function loadGPUResultsForBuilder(builder, test, expectationsContainer) 2135 { 2136 var container = document.createElement('div'); 2137 container.className = 'expectations-container'; 2138 container.innerHTML = '<div><b>' + builder + '</b></div>'; 2139 expectationsContainer.appendChild(container); 2140 2141 var baseUrl = 'http://chromium-browser-gpu-tests.commondatastorage.googleapis.com/runs/' 2142 var failureIndex = indexesForFailures(builder, test)[0]; 2143 2144 var buildNumber = g_resultsByBuilder[builder].buildNumbers[failureIndex]; 2145 var pathToLog = builderMaster(builder).getLogPath(builder, buildNumber) + pathToFailureLog(test); 2146 2147 var chromeRevision = g_resultsByBuilder[builder].chromeRevision[failureIndex]; 2148 var builderName = builder.replace(/[^A-Za-z0-9 ]/g, '').replace(/ /g, '_'); 2149 var resultsUrl = baseUrl + chromeRevision + '_' + builderName + '_/'; 2150 var filename = test.split(/\./)[1] + '.png'; 2151 2152 appendNonWebKitResults(container, pathToLog, 'non-webkit-results'); 2153 appendNonWebKitResults(container, resultsUrl + 'gen/' + filename, 'gpu-test-results', 'Generated'); 2154 appendNonWebKitResults(container, resultsUrl + 'ref/' + filename, 'gpu-test-results', 'Reference'); 2155 appendNonWebKitResults(container, resultsUrl + 'diff/' + filename, 'gpu-test-results', 'Diff'); 2125 2156 } 2126 2157 2127 2158 function loadNonWebKitResultsForBuilder(builder, test, expectationsContainer) 2128 2159 { 2129 var failure s = buildNumbersForFailures(builder, test);2160 var failureIndexes = indexesForFailures(builder, test); 2130 2161 var container = document.createElement('div'); 2131 2162 container.innerHTML = '<div><b>' + builder + '</b></div>'; 2132 2163 expectationsContainer.appendChild(container); 2133 for (var i = 0; i < failure s.length; i++) {2164 for (var i = 0; i < failureIndexes.length; i++) { 2134 2165 // FIXME: This doesn't seem to work anymore. Did the paths change? 2135 2166 // Once that's resolved, see if we need to try each GTEST_MODIFIERS prefix as well. 2136 var pathToLog = builderMaster(builder).getLogPath(builder, failures[i]) + pathToFailureLog(test); 2137 appendNonWebKitResults(container, pathToLog); 2138 } 2139 } 2140 2141 function appendNonWebKitResults(container, url) 2167 var buildNumber = g_resultsByBuilder[builder].buildNumbers[failureIndexes[i]]; 2168 var pathToLog = builderMaster(builder).getLogPath(builder, buildNumber) + pathToFailureLog(test); 2169 appendNonWebKitResults(container, pathToLog, 'non-webkit-results'); 2170 } 2171 } 2172 2173 function appendNonWebKitResults(container, url, itemClassName, opt_title) 2142 2174 { 2143 2175 // Use a script tag to detect whether the URL 404s. … … 2149 2181 var item = document.createElement('iframe'); 2150 2182 item.src = dummyNode.src; 2151 item.className = 'non-webkit-results';2183 item.className = itemClassName; 2152 2184 item.style.height = g_currentState.resultsHeight + 'px'; 2153 container.appendChild(item); 2185 2186 if (opt_title) { 2187 var childContainer = document.createElement('div'); 2188 childContainer.style.display = 'inline-block'; 2189 var title = document.createElement('div'); 2190 title.textContent = opt_title; 2191 childContainer.appendChild(title); 2192 childContainer.appendChild(item); 2193 container.replaceChild(childContainer, dummyNode); 2194 } else 2195 container.replaceChild(item, dummyNode); 2154 2196 } 2155 2197 dummyNode.onerror = function() { 2156 container. parentNode.removeChild(childContainer);2198 container.removeChild(dummyNode); 2157 2199 } 2158 2200 … … 2219 2261 } 2220 2262 2221 function loadExpectationsLayoutTests( expectationsContainer)2263 function loadExpectationsLayoutTests(test, expectationsContainer) 2222 2264 { 2223 2265 // Map from file extension to container div for expectations of that type. 2224 2266 var expectationsContainers = {}; 2225 var test = expectationsContainer.getAttribute('test');2226 2267 2227 2268 var revisionContainer = document.createElement('div');
Note: See TracChangeset
for help on using the changeset viewer.