Title: [93933] trunk/Tools
Revision
93933
Author
[email protected]
Date
2011-08-26 20:51:03 -0700 (Fri, 26 Aug 2011)

Log Message

garden-o-matic should let me know that I need to run the local server
https://bugs.webkit.org/show_bug.cgi?id=66985

Reviewed by Dimitri Glazkov.

The patch triggers an alert dialog whenever the user tries to use a
feature that requires the local server.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/summary.js:

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js (93932 => 93933)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js	2011-08-27 02:15:30 UTC (rev 93932)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js	2011-08-27 03:51:03 UTC (rev 93933)
@@ -29,6 +29,31 @@
 
 var kWebKitTrunk = 'http://svn.webkit.org/repository/webkit/trunk/';
 
+var g_unavailableCheckoutCallback = null;
+var g_haveSeenCheckoutAvailable = false;
+
+function callIfCheckoutAvailable(callback)
+{
+    if (g_haveSeenCheckoutAvailable) {
+        callback();
+        return;
+    }
+    checkout.isAvailable(function(isAvailable) {
+        if (isAvailable) {
+            g_haveSeenCheckoutAvailable = true;
+            callback();
+            return;
+        }
+        if (g_unavailableCheckoutCallback)
+            g_unavailableCheckoutCallback();
+    });
+}
+
+checkout.registerUnavailableCheckoutCallback = function(unavailableCheckoutCallback)
+{
+    g_unavailableCheckoutCallback = unavailableCheckoutCallback;
+};
+
 checkout.subversionURLForTest = function(testName)
 {
     return kWebKitTrunk + 'LayoutTests/' + testName;
@@ -49,46 +74,54 @@
 
 checkout.updateExpectations = function(failureInfoList, callback)
 {
-    net.post(config.kLocalServerURL + '/updateexpectations', JSON.stringify(failureInfoList), function() {
-        callback();
+    callIfCheckoutAvailable(function() {
+        net.post(config.kLocalServerURL + '/updateexpectations', JSON.stringify(failureInfoList), function() {
+            callback();
+        });
     });
 };
 
 checkout.optimizeBaselines = function(testName, callback)
 {
-    net.post(config.kLocalServerURL + '/optimizebaselines?' + $.param({
-        'test': testName,
-    }), function() {
-        callback();
+    callIfCheckoutAvailable(function() {
+        net.post(config.kLocalServerURL + '/optimizebaselines?' + $.param({
+            'test': testName,
+        }), function() {
+            callback();
+        });
     });
 };
 
 checkout.rollout = function(revision, reason, callback)
 {
-    net.post(config.kLocalServerURL + '/rollout?' + $.param({
-        'revision': revision,
-        'reason': reason
-    }), function() {
-        callback();
+    callIfCheckoutAvailable(function() {
+        net.post(config.kLocalServerURL + '/rollout?' + $.param({
+            'revision': revision,
+            'reason': reason
+        }), function() {
+            callback();
+        });
     });
 };
 
 checkout.rebaseline = function(failureInfoList, callback)
 {
-    base.callInSequence(function(failureInfo, callback) {
-        var extensionList = Array.prototype.concat.apply([], failureInfo.failureTypeList.map(results.failureTypeToExtensionList));
-        base.callInSequence(function(extension, callback) {
-            net.post(config.kLocalServerURL + '/rebaseline?' + $.param({
-                'builder': failureInfo.builderName,
-                'test': failureInfo.testName,
-                'extension': extension
-            }), function() {
-                callback();
-            });
-        }, extensionList, callback);
-    }, failureInfoList, function() {
-        var testNameList = base.uniquifyArray(failureInfoList.map(function(failureInfo) { return failureInfo.testName; }));
-        base.callInSequence(checkout.optimizeBaselines, testNameList, callback);
+    callIfCheckoutAvailable(function() {
+        base.callInSequence(function(failureInfo, callback) {
+            var extensionList = Array.prototype.concat.apply([], failureInfo.failureTypeList.map(results.failureTypeToExtensionList));
+            base.callInSequence(function(extension, callback) {
+                net.post(config.kLocalServerURL + '/rebaseline?' + $.param({
+                    'builder': failureInfo.builderName,
+                    'test': failureInfo.testName,
+                    'extension': extension
+                }), function() {
+                    callback();
+                });
+            }, extensionList, callback);
+        }, failureInfoList, function() {
+            var testNameList = base.uniquifyArray(failureInfoList.map(function(failureInfo) { return failureInfo.testName; }));
+            base.callInSequence(checkout.optimizeBaselines, testNameList, callback);
+        });
     });
 };
 

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js (93932 => 93933)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js	2011-08-27 02:15:30 UTC (rev 93932)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js	2011-08-27 03:51:03 UTC (rev 93933)
@@ -33,6 +33,10 @@
 
 test("updateExpectations", 4, function() {
     var simulator = new NetworkSimulator();
+
+    // FIXME: This leaks state into g_haveSeenCheckoutAvailable, which is global.
+    simulator.ajax = function(options) { options.success.call(); },
+
     simulator.post = function(url, data, callback)
     {
         equals(url, 'http://127.0.0.1:8127/updateexpectations');

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/summary.js (93932 => 93933)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/summary.js	2011-08-27 02:15:30 UTC (rev 93932)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/summary.js	2011-08-27 03:51:03 UTC (rev 93933)
@@ -53,6 +53,10 @@
 $(document).ready(function() {
     g_updateTimerId = window.setInterval(update, config.kUpdateFrequency);
 
+    checkout.registerUnavailableCheckoutCallback(function() {
+        alert('Please run "webkit-patch garden-o-matic" to enable this feature.');
+    });
+
     var actions = new ui.notifications.Stream();
     g_unexpectedFailures = new controllers.UnexpectedFailures(actions);
 

Modified: trunk/Tools/ChangeLog (93932 => 93933)


--- trunk/Tools/ChangeLog	2011-08-27 02:15:30 UTC (rev 93932)
+++ trunk/Tools/ChangeLog	2011-08-27 03:51:03 UTC (rev 93933)
@@ -1,3 +1,17 @@
+2011-08-26  Adam Barth  <[email protected]>
+
+        garden-o-matic should let me know that I need to run the local server
+        https://bugs.webkit.org/show_bug.cgi?id=66985
+
+        Reviewed by Dimitri Glazkov.
+
+        The patch triggers an alert dialog whenever the user tries to use a
+        feature that requires the local server.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/summary.js:
+
 2011-08-26  Dimitri Glazkov  <[email protected]>
 
         garden-o-matic summary view should have pretty commit data information.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to