Changeset 85757 in webkit


Ignore:
Timestamp:
May 4, 2011 10:37:54 AM (13 years ago)
Author:
ojan@chromium.org
Message:

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

Reviewed by Eric Seidel.

[results.html] bucket crashes/timeouts into their own test lists
https://bugs.webkit.org/show_bug.cgi?id=60181

Also, don't show the "expected to fail but passed" table for ports
that don't use an expectation file.

  • fast/harness/resources/results-test.js:
  • fast/harness/results.html:
Location:
trunk/LayoutTests
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r85752 r85757  
     12011-05-04  Ojan Vafai  <ojan@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        [results.html] bucket crashes/timeouts into their own test lists
     6        https://bugs.webkit.org/show_bug.cgi?id=60181
     7
     8        Also, don't show the "expected to fail but passed" table for ports
     9        that don't use an expectation file.
     10
     11        * fast/harness/resources/results-test.js:
     12        * fast/harness/results.html:
     13
    1142011-05-04  Andrey Kosyakov  <caseq@chromium.org>
    215
  • trunk/LayoutTests/fast/harness/resources/results-test.js

    r85654 r85757  
    157157    subtree['bar1.html'] = mockExpectation('CRASH', 'PASS');
    158158    subtree['bar2.html'] = mockExpectation('IMAGE', 'PASS');
     159    subtree['crash.html'] = mockExpectation('IMAGE', 'CRASH');
     160    subtree['timeout.html'] = mockExpectation('IMAGE', 'TIMEOUT');
    159161    runTest(results, function() {
    160162        assertTrue(!document.getElementById('results-table'));
     
    169171        assertTrue(expectationTypes[1].textContent == 'CRASH');
    170172        assertTrue(expectationTypes[2].textContent == 'IMAGE');
     173       
     174        assertTrue(document.getElementById('crash-tests-table'));
     175        assertTrue(document.getElementById('crash-tests-table').textContent.indexOf('stack') != -1);
     176        assertTrue(document.getElementById('timeout-tests-table'));
     177        assertTrue(document.getElementById('timeout-tests-table').textContent.indexOf('expected actual diff') != -1);
    171178    });
    172179
     
    228235    runDefaultSingleRowTest('bar-flaky-fail.html', 'PASS FAIL', 'TEXT', true, 'expected actual diff ', '');
    229236    runDefaultSingleRowTest('bar-flaky-fail-unexpected.html', 'PASS TEXT', 'IMAGE', false, '', 'images diff ');
    230     runDefaultSingleRowTest('bar-crash.html', 'TEXT', 'CRASH', false, 'stack ', '');
    231237    runDefaultSingleRowTest('bar-audio.html', 'TEXT', 'AUDIO', false, 'expected audio actual audio ', '');
    232     runDefaultSingleRowTest('bar-timeout.html', 'TEXT', 'TIMEOUT', false, 'expected actual diff ', '');
    233238    runDefaultSingleRowTest('bar-image.html', 'TEXT', 'IMAGE', false, '', 'images diff ');
    234239    runDefaultSingleRowTest('bar-image-plus-text.html', 'TEXT', 'IMAGE+TEXT', false, 'expected actual diff ', 'images diff ');
     
    275280    var subtree = results.tests['foo'] = {}
    276281    subtree['bar.html'] = mockExpectation('TEXT', 'TEXT');
     282    subtree['bar1.html'] = mockExpectation('CRASH', 'PASS');
     283    subtree['bar2.html'] = mockExpectation('IMAGE', 'PASS');
    277284    results.uses_expectations_file = false;
    278285    runTest(results, function() {
    279         assertTrue(document.querySelectorAll('tbody td').length == 4);
    280         assertTrue(document.querySelector('tbody').className.indexOf('expected') == -1);
     286        assertTrue(document.querySelectorAll('#results-table tbody td').length == 4);
     287        assertTrue(!document.querySelector('tbody.expected'));
     288        assertTrue(!document.getElementById('passes-table'));
    281289    });
    282290
     
    374382    shouldUseTracLinks = oldShouldUseTracLinks;
    375383
    376     runDefaultSingleRowTest('bar-flaky-crash.html', 'TEXT', 'TIMEOUT CRASH AUDIO', false, 'expected actual diff stack expected audio actual audio ', '');
    377 
    378384    results = mockResults();
    379385    results.tests['bar.html'] = mockExpectation('PASS', 'IMAGE');
  • trunk/LayoutTests/fast/harness/results-expected.txt

    r85675 r85757  
    1010TEST-3: PASS
    1111TEST-3: PASS
     12TEST-4: PASS
     13TEST-4: PASS
     14TEST-4: PASS
     15TEST-4: PASS
    1216TEST-4: PASS
    1317TEST-4: PASS
     
    9195TEST-15: PASS
    9296TEST-15: PASS
    93 TEST-15: PASS
    94 TEST-15: PASS
    95 TEST-15: PASS
    96 TEST-16: PASS
    97 TEST-16: PASS
    98 TEST-16: PASS
    99 TEST-16: PASS
    10097TEST-16: PASS
    10198TEST-16: PASS
    10299TEST-17: PASS
    103100TEST-17: PASS
    104 TEST-17: PASS
     101TEST-18: PASS
    105102TEST-18: PASS
    106103TEST-18: PASS
     
    110107TEST-20: PASS
    111108TEST-21: PASS
    112 TEST-21: PASS
    113109TEST-22: PASS
    114110TEST-22: PASS
    115111TEST-23: PASS
    116112TEST-24: PASS
    117 TEST-24: PASS
    118113TEST-25: PASS
    119114TEST-26: PASS
     115TEST-26: PASS
     116TEST-26: PASS
    120117TEST-27: PASS
    121 TEST-28: PASS
    122 TEST-28: PASS
    123 TEST-28: PASS
    124 TEST-28: PASS
    125 TEST-28: PASS
    126 TEST-28: PASS
    127 TEST-29: PASS
    128 TEST-29: PASS
    129 TEST-29: PASS
    130 TEST-30: PASS
    131 TEST-30: PASS
     118TEST-27: PASS
  • trunk/LayoutTests/fast/harness/results.html

    r85654 r85757  
    148148    if (!g_state) {
    149149        g_state = {
     150            crashTests: [],
    150151            hasHttpTests: false,
    151152            hasImageFailures: false,
     
    155156            shouldToggleImages: true,
    156157            testsWithStderr: [],
     158            timeoutTests: [],
    157159            unexpectedPassTests: []
    158160        }
     
    386388        return;
    387389    }
    388    
     390
    389391    var expected = testObject.expected || 'PASS';
    390392    testObject.isExpected = true;
     
    403405    if (actual == 'PASS' && expected != 'PASS')
    404406        globalState().unexpectedPassTests.push(test);           
     407
     408    if (globalState().results.uses_expectations_file && testObject.isExpected)
     409        return;
     410
     411    // FIXME: Show some indication in the UI for a test that doesn't crash on the first run but crashes on the second run.
     412    if (actual.indexOf('CRASH') != -1) {
     413        globalState().crashTests.push(test);
     414        return;
     415    }
     416
     417    // FIXME: Show some indication in the UI for a test only times out on one run?
     418    if (actual.indexOf('TIMEOUT') != -1)
     419        globalState().timeoutTests.push(test);
    405420}
    406421
     
    422437}
    423438
     439function textResultLinks(prefix)
     440{
     441    var html = resultLink(prefix, '-expected.txt', 'expected') +
     442        resultLink(prefix, '-actual.txt', 'actual') +
     443        resultLink(prefix, '-diff.txt', 'diff');
     444
     445    if (globalState().results.has_pretty_patch)
     446        html += resultLink(prefix, '-pretty-diff.html', 'pretty diff');
     447
     448    if (globalState().results.has_wdiff)
     449        html += resultLink(prefix, '-wdiff.html', 'wdiff');
     450
     451    return html;
     452}
     453
    424454function tableRow(testObject)
    425455{   
     
    435465   
    436466    var actual = testObject.actual;
    437     if (actual.indexOf('TEXT') != -1 || actual.indexOf('TIMEOUT') != -1) {
    438         // FIXME: only include timeout actual/expected results here if we actually spit out results for timeout tests.
     467    if (actual.indexOf('TEXT') != -1) {
    439468        globalState().hasTextFailures = true;
    440         row += resultLink(test_prefix, '-expected.txt', 'expected') +
    441             resultLink(test_prefix, '-actual.txt', 'actual') +
    442             resultLink(test_prefix, '-diff.txt', 'diff');
    443  
    444         if (globalState().results.has_pretty_patch)
    445             row += resultLink(test_prefix, '-pretty-diff.html', 'pretty diff');
    446 
    447         if (globalState().results.has_wdiff)
    448             row += resultLink(test_prefix, '-wdiff.html', 'wdiff');
    449     }
    450 
    451     if (actual.indexOf('CRASH') != -1)
    452         row += resultLink(test_prefix, '-stack.txt', 'stack');
     469        row += textResultLinks(test_prefix);
     470    }
    453471   
    454472    if (actual.indexOf('AUDIO') != -1) {
     
    514532        var test = testObject.name;
    515533        if (globalState().unexpectedPassTests.indexOf(test) == -1 &&
    516             globalState().newTests.indexOf(test) == -1)
     534            globalState().newTests.indexOf(test) == -1 &&
     535            globalState().crashTests.indexOf(test) == -1 &&
     536            globalState().timeoutTests.indexOf(test) == -1)
    517537            html += tableRow(testObject);
    518538    });
     
    537557        else if (tableId == 'passes-table')
    538558            html += testObjectFor(test).expected;
    539         else if (tableId == 'new-tests-table') {
     559        else if (tableId == 'crash-tests-table')
     560            html += resultLink(stripExtension(test), '-stack.txt', 'crash stack');
     561        else if (tableId == 'timeout-tests-table') {
     562            // FIXME: only include timeout actual/diff results here if we actually spit out results for timeout tests.
     563            html += textResultLinks(stripExtension(test));
     564        } else if (tableId == 'new-tests-table') {
    540565            var testObject = testObjectFor(test);
    541566            if (testObject.is_missing_audio)
     
    896921    }
    897922
     923    if (globalState().crashTests.length)
     924        html += testList(globalState().crashTests, 'Tests that crashed:', 'crash-tests-table');
     925
     926    if (globalState().timeoutTests.length)
     927        html += testList(globalState().timeoutTests, 'Tests that timed out:', 'timeout-tests-table');
     928
    898929    if (globalState().newTests.length)
    899930        html += testList(globalState().newTests, 'Tests that had no expected results (probably new):', 'new-tests-table');
     
    902933        html += testList(globalState().testsWithStderr, 'Tests that had stderr output:', 'stderr-table');
    903934
    904     if (globalState().unexpectedPassTests.length)
     935    if (globalState().results.uses_expectations_file && globalState().unexpectedPassTests.length)
    905936        html += testList(globalState().unexpectedPassTests, 'Tests expected to fail but passed:', 'passes-table');
    906937
Note: See TracChangeset for help on using the changeset viewer.