Changeset 92344 in webkit


Ignore:
Timestamp:
Aug 3, 2011 8:02:54 PM (13 years ago)
Author:
abarth@webkit.org
Message:

garden-o-matic details view should queue rebaselines for later execution
https://bugs.webkit.org/show_bug.cgi?id=65636

Reviewed by Dimitri Glazkov.

This patch doesn't contain any confirmation UI, but we'll probably want
that at some point.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js:
  • 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:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js

    r92166 r92344  
    3838};
    3939
    40 checkout.rebaseline = function(builderName, testName, failureTypeList, callback)
    41 {
    42     var extensionList = Array.prototype.concat.apply([], failureTypeList.map(results.failureTypeToExtensionList));
    43 
    44     base.callInSequence(function(extension, callback) {
    45         $.post('/rebaseline?' + $.param({
    46             'builder': builderName,
    47             'test': testName,
    48             'extension': extension
    49         }), function() {
    50             callback();
    51         });
    52     }, extensionList, callback);
    53 };
    54 
    55 checkout.rebaselineAll = function(rebaselineTasks, callback)
     40checkout.rebaseline = function(rebaselineTasks, callback)
    5641{
    5742    base.callInSequence(function(task, callback) {
    58         checkout.rebaseline(task.builderName, task.testName, task.failureTypeList, callback);
     43        var extensionList = Array.prototype.concat.apply([], task.failureTypeList.map(results.failureTypeToExtensionList));
     44        base.callInSequence(function(extension, callback) {
     45            $.post('/rebaseline?' + $.param({
     46                'builder': task.builderName,
     47                'test': task.testName,
     48                'extension': extension
     49            }), function() {
     50                callback();
     51            });
     52        }, extensionList, callback);
    5953    }, rebaselineTasks, function() {
    6054        var testNameList = base.uniquifyArray(rebaselineTasks.map(function(task) { return task.testName; }));
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html

    r92135 r92344  
    2222    <div class="toolbar">
    2323        <div class="actions">
    24             <button class="rebaseline default">Rebaseline</button><button class="previous">&#9664;</button><button class="next">&#9654;</button><button class="dismiss">Close</button>
     24            <button class="rebaseline default">Add to Rebaseline Queue</button><button class="previous">&#9664;</button><button class="next">&#9654;</button><button class="dismiss">Close</button>
    2525        </div>
    2626        <div class="status"></div>
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js

    r92134 r92344  
    6060}
    6161
     62function rebaseline(rebaselineTasks)
     63{
     64    displayOnButterbar('Rebaselining...');
     65    checkout.rebaseline(rebaselineTasks, function() {
     66        dismissButterbar();
     67        // FIXME: We should use something like a lightbox rather than alert!
     68        alert('New results downloaded to your working copy. Please use "webkit-patch land-cowboy" to land the updated baselines.');
     69    });
     70}
     71
    6272function showResultsDetail(testName, builderName, failureTypeList)
    6373{
     
    96106            dismissButterbar();
    97107    });
     108}
     109
     110function executeQueuedRebaselines()
     111{
     112    var rebaselineQueue = model.takeRebaselineQueue();
     113    if (!rebaselineQueue.length)
     114        return;
     115    // FIXME: Should we confirm with the use before executing the queue?
     116    rebaseline(rebaselineQueue);
    98117}
    99118
     
    107126        g_resultsDetailsIterator = null;
    108127    });
     128    executeQueuedRebaselines();
    109129}
    110130
    111131function nextResultsDetail()
    112132{
    113     g_resultsDetailsIterator.callNext();
     133    if (g_resultsDetailsIterator.hasNext())
     134        g_resultsDetailsIterator.callNext();
     135    else
     136        hideResultsDetail();
    114137}
    115138
     
    119142}
    120143
    121 function rebaselineResults()
     144function addToRebaselineQueue()
    122145{
    123146    var failureDetails = $('.failure-details', $(this).parents('.results-detail'));
     
    128151    var failureTypeList = failureTypes.split(' ');
    129152
    130     displayOnButterbar('Rebaselining...');
    131     checkout.rebaseline(builderName, testName, failureTypeList, dismissButterbar);
     153    model.queueForRebaseline(builderName, testName, failureTypeList);
     154    nextResultsDetail();
    132155}
    133156
     
    160183function rebaselineSelected()
    161184{
    162     displayOnButterbar('Rebaselining...');
    163     checkout.rebaselineAll(selectedFailures(), dismissButterbar);
     185    rebaseline(selectedFailures());
    164186}
    165187
     
    248270$('.results-detail .actions .next').live('click', nextResultsDetail);
    249271$('.results-detail .actions .previous').live('click', previousResultsDetail);
    250 $('.results-detail .actions .rebaseline').live('click', rebaselineResults);
     272$('.results-detail .actions .rebaseline').live('click', addToRebaselineQueue);
    251273$('.results-detail .actions .dismiss').live('click', hideResultsDetail);
    252274
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js

    r92057 r92344  
    77model.state = {};
    88model.state.failureAnalysisByTest = {};
     9model.state.rebaselineQueue = []
    910
    1011function findAndMarkRevertedRevisions(commitDataList)
     
    2021    });
    2122}
     23
     24model.queueForRebaseline = function(builderName, testName, failureTypeList)
     25{
     26    model.state.rebaselineQueue.push({
     27        'builderName': builderName,
     28        'testName': testName,
     29        'failureTypeList': failureTypeList,
     30    });
     31};
     32
     33model.takeRebaselineQueue = function()
     34{
     35    var queue = model.state.rebaselineQueue;
     36    model.state.rebaselineQueue = [];
     37    return queue;
     38};
    2239
    2340model.updateRecentCommits = function(callback)
     
    4158{
    4259    var unexpectedFailures = results.unexpectedFailuresByTest(model.state.resultsByBuilder);
     60    console.log(unexpectedFailures);
    4361
    4462    $.each(model.state.failureAnalysisByTest, function(testName, failureAnalysis) {
  • trunk/Tools/ChangeLog

    r92341 r92344  
     12011-08-03  Adam Barth  <abarth@webkit.org>
     2
     3        garden-o-matic details view should queue rebaselines for later execution
     4        https://bugs.webkit.org/show_bug.cgi?id=65636
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        This patch doesn't contain any confirmation UI, but we'll probably want
     9        that at some point.
     10
     11        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js:
     12        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
     13        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
     14        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js:
     15
    1162011-08-03  Kentaro Hara  <haraken@google.com>
    217
Note: See TracChangeset for help on using the changeset viewer.