Changeset 92348 in webkit


Ignore:
Timestamp:
Aug 3, 2011 9:38:32 PM (13 years ago)
Author:
abarth@webkit.org
Message:

garden-o-matic should be able to update expecations from the details pane
https://bugs.webkit.org/show_bug.cgi?id=65648

Reviewed by Dimitri Glazkov.

The new button queues up the updates, which get executed all at once.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js:
Location:
trunk/Tools
Files:
4 edited

Legend:

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

    r92346 r92348  
    1414<div class="infobar"><span class="status"></span></div>
    1515<div class="actions">
    16     <button class="show-selected-failures">Show Selected Failures</button>
    17     <button class="rebaseline-selected">Rebaseline Selected</button>
    18     <button class="add-selected-expectations">Mark Selected as Expected</button>
    19     <button class="refresh">Refresh</button>
     16    <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>
    2017</div>
    2118<div class="recent-history"></div>
     
    2320    <div class="toolbar">
    2421        <div class="actions">
    25             <button class="rebaseline default">Add to Rebaseline Queue</button><button class="previous">&#9664;</button><button class="next">&#9654;</button><button class="dismiss">Close</button>
     22            <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>
    2623        </div>
    2724        <div class="status"></div>
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js

    r92346 r92348  
    6262function rebaseline(failureInfoList)
    6363{
     64    if (!failureInfoList.length)
     65        return;
    6466    displayOnButterbar('Rebaselining...');
    6567    checkout.rebaseline(failureInfoList, function() {
     
    7072}
    7173
    72 function updateExpectations(failureInfoList)
    73 {
    74     displayOnButterbar('Adding expectations...');
    75     checkout.updateExpectations(failureInfoList, dismissButterbar);
    76 }
    77 
    7874function showResultsDetail(testName, builderName, failureTypeList)
    7975{
     
    112108            dismissButterbar();
    113109    });
    114 }
    115 
    116 function executeQueuedRebaselines()
    117 {
    118     var failureInfoList = model.takeRebaselineQueue();
    119     if (!failureInfoList.length)
    120         return;
    121     // FIXME: Should we confirm with the use before executing the queue?
    122     rebaseline(failureInfoList);
    123110}
    124111
     
    132119        g_resultsDetailsIterator = null;
    133120    });
    134     executeQueuedRebaselines();
     121    checkout.updateExpectations(model.takeExpectationUpdateQueue(), function() {
     122        // FIXME: Should we confirm with the use before executing the queue?
     123        rebaseline(model.takeRebaselineQueue());
     124    });
    135125}
    136126
     
    148138}
    149139
     140function failureInfoFromResultsDetail()
     141{
     142    var failureDetails = $('.failure-details', $(this).parents('.results-detail'));
     143    return {
     144        'builderName': failureDetails.attr(config.kBuilderNameAttr),
     145        'testName': failureDetails.attr(config.kTestNameAttr),
     146        'failureTypeList': failureDetails.attr(config.kFailureTypesAttr).split(' '),
     147    }
     148}
     149
    150150function addToRebaselineQueue()
    151151{
    152     var failureDetails = $('.failure-details', $(this).parents('.results-detail'));
    153 
    154     var builderName = failureDetails.attr(config.kBuilderNameAttr);
    155     var testName = failureDetails.attr(config.kTestNameAttr);
    156     var failureTypes = failureDetails.attr(config.kFailureTypesAttr);
    157     var failureTypeList = failureTypes.split(' ');
    158 
    159     model.queueForRebaseline(builderName, testName, failureTypeList);
     152    model.queueForRebaseline(failureInfoFromResultsDetail());
     153    nextResultsDetail();
     154}
     155
     156function addToExpectationUpdateQueue()
     157{
     158    model.queueForExpectationUpdate(failureInfoFromResultsDetail());
    160159    nextResultsDetail();
    161160}
     
    194193function updateExpectationsForSelected()
    195194{
    196     updateExpectations(selectedFailures());
     195    checkout.updateExpectations(selectedFailures(), $.noop);
    197196}
    198197
     
    283282$('.results-detail .actions .previous').live('click', previousResultsDetail);
    284283$('.results-detail .actions .rebaseline').live('click', addToRebaselineQueue);
     284$('.results-detail .actions .update-expectation').live('click', addToExpectationUpdateQueue);
    285285$('.results-detail .actions .dismiss').live('click', hideResultsDetail);
    286286
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js

    r92346 r92348  
    77model.state = {};
    88model.state.failureAnalysisByTest = {};
    9 model.state.rebaselineQueue = []
     9model.state.rebaselineQueue = [];
     10model.state.expectationsUpdateQueue = [];
    1011
    1112function findAndMarkRevertedRevisions(commitDataList)
     
    2223}
    2324
    24 model.queueForRebaseline = function(builderName, testName, failureTypeList)
     25model.queueForRebaseline = function(failureInfo)
    2526{
    26     model.state.rebaselineQueue.push({
    27         'builderName': builderName,
    28         'testName': testName,
    29         'failureTypeList': failureTypeList,
    30     });
     27    model.state.rebaselineQueue.push(failureInfo);
    3128};
    3229
     
    3532    var queue = model.state.rebaselineQueue;
    3633    model.state.rebaselineQueue = [];
     34    return queue;
     35};
     36
     37model.queueForExpectationUpdate = function(failureInfo)
     38{
     39    model.state.expectationsUpdateQueue.push(failureInfo);
     40};
     41
     42model.takeExpectationUpdateQueue = function()
     43{
     44    var queue = model.state.expectationsUpdateQueue;
     45    model.state.expectationsUpdateQueue = [];
    3746    return queue;
    3847};
  • trunk/Tools/ChangeLog

    r92346 r92348  
     12011-08-03  Adam Barth  <abarth@webkit.org>
     2
     3        garden-o-matic should be able to update expecations from the details pane
     4        https://bugs.webkit.org/show_bug.cgi?id=65648
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        The new button queues up the updates, which get executed all at once.
     9
     10        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
     11        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
     12        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js:
     13
    1142011-08-03  Adam Barth  <abarth@webkit.org>
    215
Note: See TracChangeset for help on using the changeset viewer.