Changeset 84312 in webkit
- Timestamp:
- Apr 19, 2011 4:38:46 PM (13 years ago)
- Location:
- trunk/Tools
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r84310 r84312 1 2011-04-19 Ojan Vafai <ojan@chromium.org> 2 3 Reviewed by Eric Seidel. 4 5 don't show failures table if there are only new tests 6 https://bugs.webkit.org/show_bug.cgi?id=58929 7 8 * Scripts/webkitpy/layout_tests/layout_package/json_results.html: 9 1 10 2011-04-19 Ojan Vafai <ojan@chromium.org> 2 11 -
trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results.html
r84294 r84312 109 109 110 110 <script> 111 var results;111 var g_results; 112 112 function ADD_RESULTS(input) 113 113 { 114 results = input;114 g_results = input; 115 115 } 116 116 </script> … … 124 124 return test.substring(0, index); 125 125 } 126 127 var html = '<p>Tests where results did not match expected results:</p>';128 129 if (results.uses_expectations_file)130 html += '<div id=options><label><input class="unexpected-results" type=checkbox checked>Only show unexpected results</label></div>';131 132 html += '<table id="results-table"><thead><tr>' +133 '<th>test</th>' +134 '<th id="text-results-header">text results</th>' +135 '<th id="image-results-header">image results</th>' +136 '<th>failure type</th>';137 138 if (results.uses_expectations_file)139 html += '<th>expected failure type</th>';140 141 html += '</tr></thead>';142 126 143 127 function parentOfType(node, selector) … … 216 200 { 217 201 var basePath; 218 if ( results.layout_tests_dir && location.toString().indexOf('file://') == 0)219 basePath = results.layout_tests_dir + '/';202 if (g_results.layout_tests_dir && location.toString().indexOf('file://') == 0) 203 basePath = g_results.layout_tests_dir + '/'; 220 204 else 221 205 basePath = 'http://trac.webkit.org/browser/trunk/LayoutTests/'; … … 229 213 } 230 214 231 var hasTextFailures = false; 232 var hasImageFailures = false; 233 234 var testsWithStderr = []; 235 var newTests = []; 236 var hasHttpTests = false; 237 238 for (var test in results.tests) { 239 if (results.tests[test].has_stderr) 240 testsWithStderr.push(test); 241 242 hasHttpTests = hasHttpTests || test.indexOf('http/') == 0; 243 244 var actual = results.tests[test].actual; 245 if (actual == 'MISSING') { 246 // FIXME: make sure that new-run-webkit-tests spits out an -actual.txt file for 247 // tests with MISSING results. 248 newTests.push(test); 249 continue; 250 } 251 252 var expected = results.tests[test].expected || 'PASS'; 253 if (actual == 'PASS' && (!results.uses_expectations_file || expected == 'PASS')) 254 continue; 255 256 var row = '<td>' + testLink(test) + '</td>'; 257 var test_prefix = stripExtension(test); 258 259 row += '<td>'; 260 if (actual == 'CRASH') 261 row += resultLink(test_prefix, '-stack.txt', 'stack'); 262 else if (actual == 'AUDIO') { 263 row += resultLink(test_prefix, '-expected.wav', 'expected'); 264 row += resultLink(test_prefix, '-actual.wav', 'actual'); 265 } else if (actual.indexOf('TEXT') != -1 || actual == 'TIMEOUT') { 266 // FIXME: only include timeout actual/expected results here if we actually spit out results for timeout tests. 267 hasTextFailures = true; 268 row += resultLink(test_prefix, '-expected.txt', 'expected') + 269 resultLink(test_prefix, '-actual.txt', 'actual') + 270 resultLink(test_prefix, '-diff.txt', 'diff'); 215 var g_hasTextFailures = false; 216 var g_hasImageFailures = false; 217 218 var g_testsWithStderr = []; 219 var g_newTests = []; 220 var g_hasHttpTests = false; 221 222 function tableRows() 223 { 224 var html = ''; 225 for (var test in g_results.tests) { 226 if (g_results.tests[test].has_stderr) 227 g_testsWithStderr.push(test); 228 229 g_hasHttpTests = g_hasHttpTests || test.indexOf('http/') == 0; 230 231 var actual = g_results.tests[test].actual; 232 if (actual == 'MISSING') { 233 // FIXME: make sure that new-run-webkit-tests spits out an -actual.txt file for 234 // tests with MISSING results. 235 g_newTests.push(test); 236 continue; 237 } 238 239 var expected = g_results.tests[test].expected || 'PASS'; 240 if (actual == 'PASS' && (!g_results.uses_expectations_file || expected == 'PASS')) 241 continue; 242 243 var row = '<td>' + testLink(test) + '</td>'; 244 var test_prefix = stripExtension(test); 245 246 row += '<td>'; 247 if (actual == 'CRASH') 248 row += resultLink(test_prefix, '-stack.txt', 'stack'); 249 else if (actual == 'AUDIO') { 250 row += resultLink(test_prefix, '-expected.wav', 'expected'); 251 row += resultLink(test_prefix, '-actual.wav', 'actual'); 252 } else if (actual.indexOf('TEXT') != -1 || actual == 'TIMEOUT') { 253 // FIXME: only include timeout actual/expected results here if we actually spit out results for timeout tests. 254 g_hasTextFailures = true; 255 row += resultLink(test_prefix, '-expected.txt', 'expected') + 256 resultLink(test_prefix, '-actual.txt', 'actual') + 257 resultLink(test_prefix, '-diff.txt', 'diff'); 258 259 if (g_results.has_pretty_patch) 260 row += resultLink(test_prefix, '-pretty-diff.html', 'pretty diff'); 261 262 if (g_results.has_wdiff) 263 row += resultLink(test_prefix, '-wdiff.html', 'wdiff'); 264 } 265 266 row += '</td><td>'; 267 268 if (actual.indexOf('IMAGE') != -1) { 269 g_hasImageFailures = true; 270 271 if (g_results.tests[test].is_mismatch_reftest) { 272 row += resultLink(test_prefix, '-expected-mismatch.html', 'ref mismatch html') + 273 resultLink(test_prefix, '-actual.png', 'actual'); 274 } else { 275 if (g_results.tests[test].is_reftest) 276 row += resultLink(test_prefix, '-expected.html', 'ref html'); 277 278 row += resultLink(test_prefix, '-expected.png', 'expected') + 279 resultLink(test_prefix, '-actual.png', 'actual') + 280 resultLink(test_prefix, '-diff.png', 'diff'); 281 } 282 } 283 284 row += '</td>'; 285 row += '<td>' + actual + '</td>'; 286 287 if (g_results.uses_expectations_file) 288 row += '<td>' + expected + '</td>'; 289 290 var isExpected = actual == 'SKIP' || (g_results.uses_expectations_file && expected == actual); 291 html += '<tbody class="' + (isExpected ? 'expected' : '') + '"><tr>' + row + '</tr></tbody>'; 292 } 293 return html; 294 } 295 296 var html = ''; 297 if (g_results.uses_expectations_file) 298 html += '<div id=options><label><input class="unexpected-results" type=checkbox checked>Only show unexpected results</label></div>'; 299 300 var tableRowsHtml = tableRows(); 301 302 if (tableRowsHtml) { 303 html += '<p>Tests where results did not match expected results:</p>' + 304 '<table id="results-table"><thead><tr>' + 305 '<th>test</th>' + 306 '<th id="text-results-header">text results</th>' + 307 '<th id="image-results-header">image results</th>' + 308 '<th>failure type</th>'; 271 309 272 if (results.has_pretty_patch) 273 row += resultLink(test_prefix, '-pretty-diff.html', 'pretty diff'); 274 275 if (results.has_wdiff) 276 row += resultLink(test_prefix, '-wdiff.html', 'wdiff'); 277 } 278 279 row += '</td><td>'; 280 281 if (actual.indexOf('IMAGE') != -1) { 282 hasImageFailures = true; 283 284 if (results.tests[test].is_mismatch_reftest) { 285 row += resultLink(test_prefix, '-expected-mismatch.html', 'ref mismatch html') + 286 resultLink(test_prefix, '-actual.png', 'actual'); 287 } else { 288 if (results.tests[test].is_reftest) 289 row += resultLink(test_prefix, '-expected.html', 'ref html'); 290 291 row += resultLink(test_prefix, '-expected.png', 'expected') + 292 resultLink(test_prefix, '-actual.png', 'actual') + 293 resultLink(test_prefix, '-diff.png', 'diff'); 294 } 295 } 296 297 row += '</td>'; 298 row += '<td>' + actual + '</td>'; 299 300 if (results.uses_expectations_file) 301 row += '<td>' + expected + '</td>'; 302 303 var isExpected = actual == 'SKIP' || (results.uses_expectations_file && expected == actual); 304 html += '<tbody class="' + (isExpected ? 'expected' : '') + '"><tr>' + row + '</tr></tbody>'; 305 } 306 307 html += '</table>' 310 if (g_results.uses_expectations_file) 311 html += '<th>expected failure type</th>'; 312 313 html += '</tr></thead>' + tableRowsHtml + '</table>'; 314 } 308 315 309 316 function appendTestList(tests, header, tableId, fileSuffix, linkName) … … 319 326 html += resultLink(stripExtension(test), fileSuffix, linkName); 320 327 else { 321 if ( results.tests[test].is_missing_audio)328 if (g_results.tests[test].is_missing_audio) 322 329 html += resultLink(stripExtension(test), '-actual.wav', 'audio result'); 323 330 else { 324 331 html += resultLink(stripExtension(test), fileSuffix, linkName); 325 if ( results.tests[test].is_missing_image)332 if (g_results.tests[test].is_missing_image) 326 333 html += resultLink(stripExtension(test), '-actual.png', 'png result'); 327 334 } … … 333 340 } 334 341 335 if ( newTests.length)336 appendTestList( newTests, 'Tests that had no expected results (probably new):', 'new-tests-table', '-actual.txt', 'result');337 338 if ( testsWithStderr.length)339 appendTestList( testsWithStderr, 'Tests that had stderr output:', 'stderr-table', '-stderr.txt', 'stderr');340 341 if ( hasHttpTests) {342 if (g_newTests.length) 343 appendTestList(g_newTests, 'Tests that had no expected results (probably new):', 'new-tests-table', '-actual.txt', 'result'); 344 345 if (g_testsWithStderr.length) 346 appendTestList(g_testsWithStderr, 'Tests that had stderr output:', 'stderr-table', '-stderr.txt', 'stderr'); 347 348 if (g_hasHttpTests) { 342 349 html += '<p>httpd access log: <a href="access_log.txt">access_log.txt</a></p>' + 343 350 '<p>httpd error log: <a href="error_log.txt">error_log.txt</a></p>'; … … 395 402 TableSorter._sortRows = function(newHeader, reversed) 396 403 { 397 var testsTable = document. querySelector('#results-table');404 var testsTable = document.getElementById('results-table'); 398 405 var headers = toArray(testsTable.querySelectorAll('th')); 399 406 var sortColumn = headers.indexOf(newHeader); … … 427 434 TableSorter.sortColumn = function(columnNumber) 428 435 { 429 var newHeader = document. querySelector('#results-table').querySelectorAll('th')[columnNumber];436 var newHeader = document.getElementById('results-table').querySelectorAll('th')[columnNumber]; 430 437 TableSorter._sort(newHeader); 431 438 } … … 450 457 } 451 458 452 document.querySelector('#results-table').addEventListener('click', TableSorter.handleClick, false); 459 if (document.getElementById('results-table')) 460 document.getElementById('results-table').addEventListener('click', TableSorter.handleClick, false); 453 461 TableSorter.sortColumn(0); 454 462 … … 529 537 530 538 updateExpectedResults(); 531 document.querySelector('.unexpected-results').addEventListener('change', updateExpectedResults, false); 532 533 if (!hasTextFailures) 534 document.body.querySelector('#text-results-header').textContent = ''; 535 if (!hasImageFailures) 536 document.body.querySelector('#image-results-header').textContent = ''; 539 if (document.querySelector('.unexpected-results')) 540 document.querySelector('.unexpected-results').addEventListener('change', updateExpectedResults, false); 541 542 if (!g_hasTextFailures) 543 document.body.getElementById('text-results-header').textContent = ''; 544 if (!g_hasImageFailures) 545 document.body.getElementById('image-results-header').textContent = ''; 537 546 </script>
Note: See TracChangeset
for help on using the changeset viewer.