Changeset 84312 in webkit


Ignore:
Timestamp:
Apr 19, 2011 4:38:46 PM (13 years ago)
Author:
ojan@chromium.org
Message:

2011-04-19 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

don't show failures table if there are only new tests
https://bugs.webkit.org/show_bug.cgi?id=58929

  • Scripts/webkitpy/layout_tests/layout_package/json_results.html:
Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r84310 r84312  
     12011-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
    1102011-04-19  Ojan Vafai  <ojan@chromium.org>
    211
  • trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results.html

    r84294 r84312  
    109109
    110110<script>
    111 var results;
     111var g_results;
    112112function ADD_RESULTS(input)
    113113{
    114     results = input;
     114    g_results = input;
    115115}
    116116</script>
     
    124124    return test.substring(0, index);
    125125}
    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>';
    142126
    143127function parentOfType(node, selector)
     
    216200{
    217201    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 + '/';
    220204    else
    221205        basePath = 'http://trac.webkit.org/browser/trunk/LayoutTests/';
     
    229213}
    230214
    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');
     215var g_hasTextFailures = false;
     216var g_hasImageFailures = false;
     217
     218var g_testsWithStderr = [];
     219var g_newTests = [];
     220var g_hasHttpTests = false;
     221
     222function 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
     296var html = '';
     297if (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
     300var tableRowsHtml = tableRows();
     301
     302if (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>';
    271309       
    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}
    308315
    309316function appendTestList(tests, header, tableId, fileSuffix, linkName)
     
    319326            html += resultLink(stripExtension(test), fileSuffix, linkName);
    320327        else {
    321             if (results.tests[test].is_missing_audio)
     328            if (g_results.tests[test].is_missing_audio)
    322329                html += resultLink(stripExtension(test), '-actual.wav', 'audio result');
    323330            else {
    324331                html += resultLink(stripExtension(test), fileSuffix, linkName);
    325                 if (results.tests[test].is_missing_image)
     332                if (g_results.tests[test].is_missing_image)
    326333                    html += resultLink(stripExtension(test), '-actual.png', 'png result');
    327334            }
     
    333340}
    334341
    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) {
     342if (g_newTests.length)
     343    appendTestList(g_newTests, 'Tests that had no expected results (probably new):', 'new-tests-table', '-actual.txt', 'result');
     344
     345if (g_testsWithStderr.length)
     346    appendTestList(g_testsWithStderr, 'Tests that had stderr output:', 'stderr-table', '-stderr.txt', 'stderr');
     347
     348if (g_hasHttpTests) {
    342349    html += '<p>httpd access log: <a href="access_log.txt">access_log.txt</a></p>' +
    343350        '<p>httpd error log: <a href="error_log.txt">error_log.txt</a></p>';
     
    395402TableSorter._sortRows = function(newHeader, reversed)
    396403{
    397     var testsTable = document.querySelector('#results-table');
     404    var testsTable = document.getElementById('results-table');
    398405    var headers = toArray(testsTable.querySelectorAll('th'));
    399406    var sortColumn = headers.indexOf(newHeader);
     
    427434TableSorter.sortColumn = function(columnNumber)
    428435{
    429     var newHeader = document.querySelector('#results-table').querySelectorAll('th')[columnNumber];
     436    var newHeader = document.getElementById('results-table').querySelectorAll('th')[columnNumber];
    430437    TableSorter._sort(newHeader);
    431438}
     
    450457}
    451458
    452 document.querySelector('#results-table').addEventListener('click', TableSorter.handleClick, false);
     459if (document.getElementById('results-table'))
     460    document.getElementById('results-table').addEventListener('click', TableSorter.handleClick, false);
    453461TableSorter.sortColumn(0);
    454462
     
    529537
    530538updateExpectedResults();
    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 = '';
     539if (document.querySelector('.unexpected-results'))
     540    document.querySelector('.unexpected-results').addEventListener('change', updateExpectedResults, false);
     541
     542if (!g_hasTextFailures)
     543  document.body.getElementById('text-results-header').textContent = '';
     544if (!g_hasImageFailures)
     545  document.body.getElementById('image-results-header').textContent = '';
    537546</script>
Note: See TracChangeset for help on using the changeset viewer.