Changeset 90772 in webkit


Ignore:
Timestamp:
Jul 11, 2011 11:58:39 AM (13 years ago)
Author:
abarth@webkit.org
Message:

Add some basic UI for showing regression ranges
https://bugs.webkit.org/show_bug.cgi?id=64243

Reviewed by Eric Seidel.

This UI is all temporary. It exists mostly just to have some buttons
to click to exercise the code.

  • Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
  • Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
Location:
trunk/Tools
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r90771 r90772  
     12011-07-11  Adam Barth  <abarth@webkit.org>
     2
     3        Add some basic UI for showing regression ranges
     4        https://bugs.webkit.org/show_bug.cgi?id=64243
     5
     6        Reviewed by Eric Seidel.
     7
     8        This UI is all temporary.  It exists mostly just to have some buttons
     9        to click to exercise the code.
     10
     11        * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
     12        * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
     13        * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
     14        * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
     15        * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
     16
    1172011-07-11  Adam Barth  <abarth@webkit.org>
    218
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.js

    r90652 r90772  
    3030}
    3131
    32 function expandResults()
     32function showResults()
    3333{
    34     var resultsSummary = $(this);
     34    // FIXME: This is fragile.
     35    var resultsSummary = $(this).parent().parent().parent();
    3536    var testName = $('.testName', resultsSummary).text();
    3637    $('.builderName', resultsSummary).each(function() {
     
    4243}
    4344
     45function findRegressionRange()
     46{
     47    // FIXME: This is fragile!
     48    var builderName = $('.builderName', $(this).parent()).text();
     49    var testName = $('.testName', $(this).parent().parent().parent()).text();
     50    results.regressionRangeForFailure(builderName, testName, function(oldestFailingRevision, newestPassingRevision) {
     51        var tracURLs = [];
     52        for (var i = newestPassingRevision + 1; i <= oldestFailingRevision; ++i) {
     53            tracURLs.push('<a href="http://trac.webkit.org/changeset/' + i + '">' + i + '</a>');
     54        }
     55        $('.butterbar .status').html('Regression range: ' + tracURLs.join(' '));
     56        $('.butterbar').fadeIn();
     57    });
     58}
     59
    4460$('.hide').live('click', hide);
    4561$('.quit').live('click', quit);
    46 $('.results-summary .test').live('click', expandResults);
     62$('.show-results').live('click', showResults);
     63$('.regression-range').live('click', findRegressionRange);
    4764
    4865$(document).ready(function() {
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results.js

    r90771 r90772  
    204204    g_resultsCache.get(key, function(resultsTree) {
    205205        var resultNode = results.resultNodeForTest(resultsTree, self._testName);
    206         callback(resultsTree['revision'], resultNode);
     206        var revision = parseInt(resultsTree['revision'])
     207        if (isNaN(revision))
     208            revision = 0;
     209        callback(revision, resultNode);
    207210    });
    208211};
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js

    r90771 r90772  
    139139
    140140test("regressionRangeForFailure", 3, function() {
    141     simulator = new NetworkSimulator();
     141    var simulator = new NetworkSimulator();
    142142
    143143    var keyMap = {
     
    213213    simulator.runTest(function() {
    214214        results.regressionRangeForFailure("Mock Builder", "userscripts/another-test.html", function(oldestFailingRevision, newestPassingRevision) {
    215             equals(oldestFailingRevision, "90426");
    216             equals(newestPassingRevision, "90424");
     215            equals(oldestFailingRevision, 90426);
     216            equals(newestPassingRevision, 90424);
    217217        });
    218218    });
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js

    r90652 r90772  
    1111        $('.testName', testBlock).text(testName);
    1212        $.each(resultNodesByBuilder, function(builderName, resultNode) {
    13             var builderBlock = $('<div class="builder"><div class="builderName"></div><div class="actual"></div><div class="expected"></div></div>');
     13            var builderBlock = $('<div class="builder"><div class="builderName"></div><div class="actual"></div><div class="expected"></div><button class="show-results">Show Results</button><button class="regression-range">Regression Range</button></div>');
    1414            $('.builders', testBlock).append(builderBlock);
    1515            $('.builderName', builderBlock).text(builderName);
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js

    r90652 r90772  
    2525        '<div class="test">' +
    2626            '<div class="testName">scrollbars/custom-scrollbar-with-incomplete-style.html</div>' +
    27                 '<div class="builders">' +
    28                     '<div class="builder"><div class="builderName">Mock Builder</div><div class="actual">CRASH</div><div class="expected">IMAGE</div></div>' +
    29                     '<div class="builder"><div class="builderName">Mock Linux</div><div class="actual">CRASH</div><div class="expected">TEXT</div></div>' +
    30                 '</div>' +
    31             '</div>' +
     27             '<div class="builders">' +
     28                 '<div class="builder"><div class="builderName">Mock Builder</div><div class="actual">CRASH</div><div class="expected">IMAGE</div>' +
     29                     '<button class="show-results">Show Results</button><button class="regression-range">Regression Range</button></div>' +
     30                 '<div class="builder"><div class="builderName">Mock Linux</div><div class="actual">CRASH</div><div class="expected">TEXT</div>' +
     31                     '<button class="show-results">Show Results</button><button class="regression-range">Regression Range</button></div>' +
     32             '</div>' +
     33        '</div>' +
    3234        '<div class="test">' +
    3335            '<div class="testName">userscripts/another-test.html</div>' +
    3436            '<div class="builders">' +
    35                 '<div class="builder"><div class="builderName">Mock Builder</div><div class="actual">TEXT</div><div class="expected">PASS</div></div>' +
     37                '<div class="builder"><div class="builderName">Mock Builder</div><div class="actual">TEXT</div><div class="expected">PASS</div>' +
     38                    '<button class="show-results">Show Results</button><button class="regression-range">Regression Range</button></div>' +
    3639            '</div>' +
    3740        '</div>');
Note: See TracChangeset for help on using the changeset viewer.