Title: [132369] trunk/Tools
Revision
132369
Author
o...@chromium.org
Date
2012-10-24 10:36:32 -0700 (Wed, 24 Oct 2012)

Log Message

Show an error when there are no completed builds in the past 20 runs
https://bugs.webkit.org/show_bug.cgi?id=100266

Reviewed by Dimitri Glazkov.

Right now we get a cryptic JS error in the console when loading the gtk port. This at least gives an error in
the notification stream. We should probably tweak this UI to make it so we can make
errors in the notification stream stick out (e.g. make the text red).

We should also consider making the number of runs to load dynamic (e.g. if 20 runs don't work,
try 40).

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js:

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js (132368 => 132369)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js	2012-10-24 17:29:50 UTC (rev 132368)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js	2012-10-24 17:36:32 UTC (rev 132369)
@@ -77,6 +77,11 @@
             updatePartyTime();
             g_unexpectedFailuresController.purge();
 
+            Object.keys(config.kPlatforms[config.currentPlatform].builders).forEach(function(builderName) {
+                if (!model.state.resultsByBuilder[builderName])
+                    g_info.add(new ui.notifications.Info('Could not find test results for ' + builderName + ' in the last ' + config.kBuildNumberLimit + ' runs.'));            
+            });
+
             updating.dismiss();
 
             g_revisionHint = new ui.notifications.Info('');

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js (132368 => 132369)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js	2012-10-24 17:29:50 UTC (rev 132368)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js	2012-10-24 17:36:32 UTC (rev 132369)
@@ -626,6 +626,11 @@
         var resultsCallback = function(buildResults) {
             if ($.isEmptyObject(buildResults)) {
                 ++currentIndex;
+                if (currentIndex >= buildLocations.length) {
+                    callback(null);
+                    return;
+                }
+
                 net.jsonp(buildLocations[currentIndex].url, resultsCallback);
                 return;
             }
@@ -658,7 +663,8 @@
                     // FIXME: use RequestTracker
                     ++requestsInFlight;
                     results.fetchResultsForMostRecentCompletedBuildOnBuilder(builderName, function(resultsTree) {
-                        resultsByBuilder[builderName] = resultsTree;
+                        if (resultsTree)
+                            resultsByBuilder[builderName] = resultsTree;
                         --requestsInFlight;
                         if (!requestsInFlight)
                             callback(resultsByBuilder);

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js (132368 => 132369)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js	2012-10-24 17:29:50 UTC (rev 132368)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js	2012-10-24 17:36:32 UTC (rev 132369)
@@ -533,4 +533,76 @@
     ]);
 });
 
+test("fetchResultsByBuilder", 5, function() {
+    var simulator = new NetworkSimulator();
+
+    var probedURLs = [];
+    simulator.jsonp = function(url, callback)
+    {
+        simulator.scheduleCallback(function() {
+            probedURLs.push(url);
+            if (base.endsWith(url, 'MockBuilder2/r1%20(1)/full_results.json'))
+                callback({'MockBuildResults': true});
+            else
+                callback({});
+        });
+    };
+
+    config.currentPlatform = 'gtk';
+
+    var oldCachedBuildInfos = builders.cachedBuildInfos;
+    builders.cachedBuildInfos = function(platform, builderName, callback) {
+        callback(
+        {
+            1: {
+                sourceStamp: {
+                    revision: 1
+                }
+            },
+            2: {
+                sourceStamp: {
+                    revision: 2
+                }
+            }
+
+        });
+    };
+
+    var oldRecentBuildInfos = builders.recentBuildInfos;
+    builders.recentBuildInfos = function(callback) {
+        callback({
+            'MockBuilder1': true,
+            'MockBuilder2': true
+        });
+    };
+
+    simulator.runTest(function() {
+        results.fetchResultsByBuilder(['MockBuilder1', 'MockBuilder2'], function(resultsByBuilder) {
+            deepEqual(resultsByBuilder, {
+                "MockBuilder2": {
+                    "MockBuildResults": true,
+                    "_buildLocation": {
+                        "buildNumber": "1",
+                        "revision": 1,
+                        "url": "http://build.webkit.org/results/MockBuilder2/r1%20(1)/full_results.json"
+                    }
+                }
+            });
+        });
+    });
+
+    deepEqual(probedURLs, [
+        "http://build.webkit.org/results/MockBuilder1/r2%20(2)/full_results.json",
+        "http://build.webkit.org/results/MockBuilder2/r2%20(2)/full_results.json",
+        "http://build.webkit.org/results/MockBuilder1/r1%20(1)/full_results.json",
+        "http://build.webkit.org/results/MockBuilder2/r1%20(1)/full_results.json"
+    ]);
+
+    builders.cachedBuildInfos = oldCachedBuildInfos;
+    equal(builders.cachedBuildInfos, oldCachedBuildInfos, "Failed to restore real base!");
+
+    builders.recentBuildInfos = oldRecentBuildInfos;
+    equal(builders.recentBuildInfos, oldRecentBuildInfos, "Failed to restore real base!");
+});
+
 })();

Modified: trunk/Tools/ChangeLog (132368 => 132369)


--- trunk/Tools/ChangeLog	2012-10-24 17:29:50 UTC (rev 132368)
+++ trunk/Tools/ChangeLog	2012-10-24 17:36:32 UTC (rev 132369)
@@ -1,3 +1,21 @@
+2012-10-24  Ojan Vafai  <o...@chromium.org>
+
+        Show an error when there are no completed builds in the past 20 runs
+        https://bugs.webkit.org/show_bug.cgi?id=100266
+
+        Reviewed by Dimitri Glazkov.
+
+        Right now we get a cryptic JS error in the console when loading the gtk port. This at least gives an error in
+        the notification stream. We should probably tweak this UI to make it so we can make
+        errors in the notification stream stick out (e.g. make the text red).
+
+        We should also consider making the number of runs to load dynamic (e.g. if 20 runs don't work,
+        try 40).
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js:
+
 2012-10-24  Ian Vollick  <voll...@chromium.org>
 
         [chromium] Explicitly disable accelerated animations in DRT
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to