Changeset 90884 in webkit


Ignore:
Timestamp:
Jul 12, 2011 9:05:51 PM (13 years ago)
Author:
abarth@webkit.org
Message:

Improve garden-o-matic UI when the bots fail to report revision numbers
https://bugs.webkit.org/show_bug.cgi?id=64427

Reviewed by Dimitri Glazkov.

At least Win (dbg)(2) seems to fail to report the SVN revision number
in full_results.json. This patch makes garden-o-matic more robust to
missing revision numbers.

  • 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

    r90881 r90884  
     12011-07-12  Adam Barth  <abarth@webkit.org>
     2
     3        Improve garden-o-matic UI when the bots fail to report revision numbers
     4        https://bugs.webkit.org/show_bug.cgi?id=64427
     5
     6        Reviewed by Dimitri Glazkov.
     7
     8        At least Win (dbg)(2) seems to fail to report the SVN revision number
     9        in full_results.json.  This patch makes garden-o-matic more robust to
     10        missing revision numbers.
     11
     12        * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
     13        * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
     14        * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
     15        * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
     16        * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
     17
    1182011-07-12  Adam Barth  <abarth@webkit.org>
    219
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.js

    r90881 r90884  
    3131                results.unifyRegressionRanges(builderNameList, testName, function(oldestFailingRevision, newestPassingRevision) {
    3232                    $('.regression-range', testSummary).append(ui.summarizeRegressionRange(oldestFailingRevision, newestPassingRevision));
     33                    if (!newestPassingRevision)
     34                        return;
    3335                    checkout.existsAtRevision(checkout.subversionURLForTest(testName), newestPassingRevision, function(testExistedBeforeFailure) {
    3436                        $(testSummary).attr('data-new-test', !testExistedBeforeFailure);
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results.js

    r90879 r90884  
    228228
    229229    walkHistory(builderName, testName, function(revision, resultNode) {
     230        if (!revision) {
     231            callback(oldestFailingRevision, newestPassingRevision);
     232            return false;
     233        }
    230234        if (!resultNode) {
    231235            newestPassingRevision = revision;
     
    253257
    254258    $.each(regressionRanges, function(builderName, range) {
     259        if (!range.oldestFailingRevision || !range.newestPassingRevision)
     260            return
     261
    255262        if (!mergedRange.oldestFailingRevision)
    256263            mergedRange.oldestFailingRevision = range.oldestFailingRevision;
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js

    r90880 r90884  
    255255});
    256256
     257test("walkHistory (no revision)", 3, function() {
     258    var simulator = new NetworkSimulator();
     259
     260    var keyMap = {
     261        "vsfdsfdsafsdafasd": {
     262            "tests": {
     263                "userscripts": {
     264                    "another-test.html": {
     265                        "expected": "PASS",
     266                        "actual": "TEXT"
     267                    }
     268                },
     269            },
     270            "revision": ""
     271        },
     272        "gavsavsrfgwaevwefawvae":{
     273            "tests": {
     274            },
     275            "revision": ""
     276        },
     277    };
     278
     279    simulator.jsonpHook = function(url, callback) {
     280        simulator.scheduleCallback(function() {
     281            if (/dir=1/.test(url)) {
     282                callback([
     283                    { "key": "vsfdsfdsafsdafasd" },
     284                    { "key": "gavsavsrfgwaevwefawvae" },
     285                ]);
     286            } else {
     287                var key = url.match(/key=([^&]+)/)[1];
     288                callback(keyMap[key]);
     289            }
     290        });
     291    };
     292
     293    simulator.runTest(function() {
     294        results.regressionRangeForFailure("Mock Builder", "userscripts/another-test.html", function(oldestFailingRevision, newestPassingRevision) {
     295            equals(oldestFailingRevision, 0);
     296            equals(newestPassingRevision, 0);
     297        });
     298    });
     299});
     300
    257301test("collectUnexpectedResults", 1, function() {
    258302    var dictionaryOfResultNodes = {
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js

    r90881 r90884  
    5151{
    5252    if (!oldestFailingRevision || !newestPassingRevision)
    53         return $();
     53        return $('<div class="regression-range">Regression Range: Unknown</div>');
    5454
    5555    var impliedFirstFailingRevision = newestPassingRevision + 1;
  • trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js

    r90880 r90884  
    3131});
    3232
    33 test("summarizeRegressionRange", 2, function() {
     33test("summarizeRegressionRange", 3, function() {
     34    var summaryWithMultipleRevisions = ui.summarizeRegressionRange(0, 0);
     35    summaryWithMultipleRevisions.wrap('<wrapper></wrapper>');
     36    equal(summaryWithMultipleRevisions.parent().html(), '<div class="regression-range">Regression Range: Unknown</div>');
     37
    3438    var summaryWithMultipleRevisions = ui.summarizeRegressionRange(90424, 90426);
    3539    summaryWithMultipleRevisions.wrap('<wrapper></wrapper>');
Note: See TracChangeset for help on using the changeset viewer.