Changeset 92886 in webkit


Ignore:
Timestamp:
Aug 11, 2011 3:56:22 PM (13 years ago)
Author:
abarth@webkit.org
Message:

Add unexpected-passes.html to TestFailures for marking tests as passing
https://bugs.webkit.org/show_bug.cgi?id=66102

Reviewed by Dimitri Glazkov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
    • Move some code into the library so it can be shared.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js:
    • Add round-trip unit tests.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/unexpected-passes.html: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/unexpected-passes.js: Added.
    • I'm not entirely sure this feature should remain a separate HTML file, but it seemed better than cluttering up the main HTML file with too much extra stuff.
  • Scripts/webkitpy/tool/servers/gardeningserver.py:
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
    • The gardening server couldn't handle adding PASS expectations. Now it can.
Location:
trunk/Tools
Files:
1 added
8 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html

    r92702 r92886  
    3737<div class="infobar"><span class="status"></span></div>
    3838<div class="actions">
    39     <button class="show-selected-failures">Show Selected Failures</button><button class="rebaseline-selected">Rebaseline Selected</button><button class="add-selected-expectations">Mark Selected as Expected</button><button class="refresh">Refresh</button>
     39    <button class="show-selected-failures">Show Selected Failures</button><button class="rebaseline-selected">Rebaseline Selected</button><button class="update-expectations-selected">Mark Selected as Expected</button><button class="refresh">Refresh</button>
    4040</div>
    4141<div class="recent-history"></div>
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js

    r92708 r92886  
    193193        if (!this.checked)
    194194            return;
    195         var testSummary = $(this).parents('.result');
    196         var testName = testSummary.attr(config.kTestNameAttr);
    197         $('.builder', testSummary).each(function() {
    198             var failureTypes = $(this).attr(config.kFailureTypesAttr);
    199             if (!failureTypes)
    200                 return
    201             var failureTypeList = failureTypes.split(' ');
    202             var builderName = $(this).attr(config.kBuilderNameAttr);
    203             failureInfoList.push({
    204                 'testName': testName,
    205                 'builderName': builderName,
    206                 'failureTypeList': failureTypeList,
    207             });
    208         });
     195        failureInfoList = failureInfoList.concat(ui.failureInfoListForSummary($(this).parents('.result')));
    209196    });
    210197
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js

    r92743 r92886  
    150150};
    151151
     152model.analyzeUnexpectedSuccesses = function(callback)
     153{
     154    var unexpectedSuccesses = results.unexpectedSuccessesByTest(model.state.resultsByBuilder);
     155    $.each(unexpectedSuccesses, function(testName, resultNodesByBuilder) {
     156        var successAnalysis = {
     157            'testName': testName,
     158            'resultNodesByBuilder': resultNodesByBuilder,
     159        };
     160
     161        // FIXME: Consider looking at the history to see how long this test
     162        // has been unexpectedly passing.
     163
     164        callback(successAnalysis);
     165    });
     166};
     167
    152168})();
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js

    r92355 r92886  
    142142};
    143143
     144ui.failureInfoListForSummary = function(testSummary)
     145{
     146    var failureInfoList = [];
     147
     148    var testName = testSummary.attr(config.kTestNameAttr);
     149    $('.builder', testSummary).each(function() {
     150        var failureTypes = $(this).attr(config.kFailureTypesAttr);
     151        if (!failureTypes)
     152            return
     153        var failureTypeList = failureTypes.split(' ');
     154        var builderName = $(this).attr(config.kBuilderNameAttr);
     155        failureInfoList.push({
     156            'testName': testName,
     157            'builderName': builderName,
     158            'failureTypeList': failureTypeList,
     159        });
     160    });
     161
     162    return failureInfoList;
     163};
     164
    144165ui.commitEntry = function(commitData)
    145166{
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js

    r92355 r92886  
    108108});
    109109
     110test("summarizeFailure", 1, function() {
     111    var failureAnalysis = {
     112        "testName": "svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html",
     113        "resultNodesByBuilder": {
     114            "Webkit Mac10.5": {
     115                "expected": "IMAGE",
     116                "actual": "PASS"
     117            },
     118            "Webkit Mac10.5 (dbg)(2)": {
     119                "expected": "IMAGE",
     120                "actual":"PASS"
     121            }
     122        }
     123    }
     124
     125    var failureSummary = ui.summarizeFailure(failureAnalysis);
     126    var failureInfoList = ui.failureInfoListForSummary(failureSummary);
     127
     128    deepEqual(failureInfoList, [{
     129        "testName": "svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html",
     130        "builderName": "Webkit Mac10.5",
     131        "failureTypeList": [
     132            "PASS"
     133        ]
     134      }, {
     135        "testName": "svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html",
     136        "builderName": "Webkit Mac10.5 (dbg)(2)",
     137        "failureTypeList": [
     138            "PASS"
     139        ]
     140      }
     141    ]);
     142});
    110143
    111144})();
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/unexpected-passes.html

    r92885 r92886  
    2323ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    2424THE POSSIBILITY OF SUCH DAMAGE.
    25 
    26 The favicons are from the awesome famfamfam.com, which is the website of Mark
    27 James, a web developer from Birmingham, UK.
    2825-->
    2926<html>
    3027<head>
    31 <title>Garden-O-Matic</title>
     28<title>Unexpected Passes</title>
    3229<link rel="stylesheet" href="main.css">
    33 <link rel="icon" id="favicon" type="image/png" href="favicon-green.png">
    3430</head>
    3531<body>
    36 <div class="butterbar"><span class="status">Loading...</span></div>
    37 <div class="infobar"><span class="status"></span></div>
    3832<div class="actions">
    39     <button class="show-selected-failures">Show Selected Failures</button><button class="rebaseline-selected">Rebaseline Selected</button><button class="add-selected-expectations">Mark Selected as Expected</button><button class="refresh">Refresh</button>
     33    <button class="update-expectations-selected">Mark Selected as Expected</button>
    4034</div>
    41 <div class="recent-history"></div>
    42 <div class="results-detail">
    43     <div class="toolbar">
    44         <div class="actions">
    45             <button class="rebaseline default">Add to Rebaseline Queue</button><button class="update-expectation">Mark Failure as Expected</button><button class="previous">&#9664;</button><button class="next">&#9654;</button><button class="dismiss">Close</button>
    46         </div>
    47         <div class="status"></div>
    48         <div class="clear"></div>
    49     </div>
    50     <div class="content"></div>
    51 </div>
     35<div class="recent-history"><table class="changelog"></table></div>
    5236<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    5337<script src="config.js"></script>
     
    6145<script src="ui.js"></script>
    6246<script src="model.js"></script>
    63 <script src="main.js"></script>
     47<script src="unexpected-passes.js"></script>
    6448</body>
    6549</html>
  • trunk/Tools/ChangeLog

    r92882 r92886  
     12011-08-11  Adam Barth  <abarth@webkit.org>
     2
     3        Add unexpected-passes.html to TestFailures for marking tests as passing
     4        https://bugs.webkit.org/show_bug.cgi?id=66102
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
     9        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
     10            - Move some code into the library so it can be shared.
     11        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js:
     12        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js:
     13        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js:
     14            - Add round-trip unit tests.
     15        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/unexpected-passes.html: Added.
     16        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/unexpected-passes.js: Added.
     17            - I'm not entirely sure this feature should remain a separate HTML
     18              file, but it seemed better than cluttering up the main HTML file
     19              with too much extra stuff.
     20        * Scripts/webkitpy/tool/servers/gardeningserver.py:
     21        * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
     22            - The gardening server couldn't handle adding PASS expectations.  Now it can.
     23
    1242011-08-11  Eric Seidel  <eric@webkit.org>
    225
  • trunk/Tools/Scripts/webkitpy/tool/servers/gardeningserver.py

    r92770 r92886  
    7272        # FIXME: Group failures by testName+failureTypeList.
    7373        for failure_info in failure_info_list:
    74             expectation_set = set(filter(None, map(TestExpectations.expectation_from_string, failure_info['failureTypeList'])))
     74            expectation_set = set(filter(lambda expectation: expectation is not None,
     75                                         map(TestExpectations.expectation_from_string, failure_info['failureTypeList'])))
    7576            assert(expectation_set)
    7677            test_name = failure_info['testName']
  • trunk/Tools/Scripts/webkitpy/tool/servers/gardeningserver_unittest.py

    r92770 r92886  
    152152        self.assert_update(failure_info_list, expectations_before=expectations_before, expectations_after=expectations_after)
    153153
     154    def test_pass_expectation(self):
     155        failure_info_list = [{"testName": "failures/expected/image.html", "builderName": "Webkit Win", "failureTypeList": ["PASS"]}]
     156        expectations_before = "BUG_OLD XP RELEASE CPU : failures/expected/image.html = TEXT"
     157        expectations_after = ""
     158        self.assert_update(failure_info_list, expectations_before=expectations_before, expectations_after=expectations_after)
     159
    154160    def test_supplement_old_expectation(self):
    155161        failure_info_list = [{"testName": "failures/expected/image.html", "builderName": "Webkit Win", "failureTypeList": ["IMAGE"]}]
Note: See TracChangeset for help on using the changeset viewer.