Diff
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Bugzilla.js (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Bugzilla.js 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Bugzilla.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -41,7 +41,7 @@
quicksearch: query,
});
- $.get(url, function(responseXML) {
+ net.get(url, function(responseXML) {
var entries = responseXML.getElementsByTagName('entry');
var results = Array.prototype.map.call(entries, function(entry) {
var container = document.createElement('div');
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -122,7 +122,7 @@
var url = "" startRevision, endRevision, true, true);
- $.get(url, function(commitData) {
+ net.get(url, function(commitData) {
callback(parseCommitData(commitData));
});
});
@@ -155,7 +155,7 @@
'limit': limit,
});
- $.get(url, function(commitData) {
+ net.get(url, function(commitData) {
callback(parseCommitData(commitData));
});
};
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -81,34 +81,6 @@
return filteredTree;
};
-base.probe = function(url, options)
-{
- var scriptElement = document.createElement('script');
- scriptElement.addEventListener('load', function() {
- $(scriptElement).detach();
- if (options.success)
- options.success.call();
- }, false);
- scriptElement.addEventListener('error', function() {
- $(scriptElement).detach();
- if (options.error)
- options.error.call();
- }, false);
- scriptElement.src = ""
- document.head.appendChild(scriptElement);
-};
-
-// jQuery makes jsonp requests somewhat ugly (which is fair given that they're
-// terrible for security). We use this wrapper to make our lives slightly easier.
-base.jsonp = function(url, onsuccess)
-{
- $.ajax({
- url: url,
- dataType: 'jsonp',
- success: onsuccess
- });
-};
-
base.RequestTracker = function(requestsInFlight, callback, args)
{
this._requestsInFlight = requestsInFlight;
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/builders.js (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/builders.js 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/builders.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -38,14 +38,14 @@
var g_buildInfoCache = new base.AsynchronousCache(function(key, callback) {
var explodedKey = key.split('\n');
- $.get(urlForBuildInfo(explodedKey[0], explodedKey[1]), callback);
+ net.get(urlForBuildInfo(explodedKey[0], explodedKey[1]), callback);
});
function fetchMostRecentBuildInfoByBuilder(callback)
{
var buildInfoByBuilder = {};
var requestTracker = new base.RequestTracker(config.kBuilders.length, callback, [buildInfoByBuilder]);
- $.get(kChromiumBuildBotURL + '/json/builders', function(builderStatus) {
+ net.get(kChromiumBuildBotURL + '/json/builders', function(builderStatus) {
$.each(config.kBuilders, function(index, builderName) {
var buildNumber = builderStatus[builderName].cachedBuilds.pop();
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -16,7 +16,7 @@
checkout.existsAtRevision = function(subversionURL, revision, callback)
{
- $.ajax({
+ net.ajax({
method: 'HEAD',
url: subversionURLAtRevision(subversionURL, revision),
success: function() {
@@ -30,14 +30,14 @@
checkout.updateExpectations = function(failureInfoList, callback)
{
- $.post('/updateexpectations', JSON.stringify(failureInfoList), function() {
+ net.post('/updateexpectations', JSON.stringify(failureInfoList), function() {
callback();
});
};
checkout.optimizeBaselines = function(testName, callback)
{
- $.post('/optimizebaselines?' + $.param({
+ net.post('/optimizebaselines?' + $.param({
'test': testName,
}), function() {
callback();
@@ -49,7 +49,7 @@
base.callInSequence(function(failureInfo, callback) {
var extensionList = Array.prototype.concat.apply([], failureInfo.failureTypeList.map(results.failureTypeToExtensionList));
base.callInSequence(function(extension, callback) {
- $.post('/rebaseline?' + $.param({
+ net.post('/rebaseline?' + $.param({
'builder': failureInfo.builderName,
'test': failureInfo.testName,
'extension': extension
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html 2011-08-04 07:13:56 UTC (rev 92354)
@@ -29,6 +29,7 @@
<script src=""
<script src=""
<script src=""
+<script src=""
<script src=""
<script src=""
<script src=""
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html 2011-08-04 07:13:56 UTC (rev 92354)
@@ -31,6 +31,7 @@
<script src=""
<script src=""
+ <script src=""
<script src=""
<script src=""
Added: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net.js (0 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net.js (rev 0)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -0,0 +1,37 @@
+var net = net || {};
+
+(function () {
+
+net.post = $.post;
+net.get = $.get;
+net.ajax = $.ajax;
+
+net.probe = function(url, options)
+{
+ var scriptElement = document.createElement('script');
+ scriptElement.addEventListener('load', function() {
+ $(scriptElement).detach();
+ if (options.success)
+ options.success.call();
+ }, false);
+ scriptElement.addEventListener('error', function() {
+ $(scriptElement).detach();
+ if (options.error)
+ options.error.call();
+ }, false);
+ scriptElement.src = ""
+ document.head.appendChild(scriptElement);
+};
+
+// jQuery makes jsonp requests somewhat ugly (which is fair given that they're
+// terrible for security). We use this wrapper to make our lives slightly easier.
+net.jsonp = function(url, onsuccess)
+{
+ $.ajax({
+ url: url,
+ dataType: 'jsonp',
+ success: onsuccess
+ });
+};
+
+})();
Added: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js (0 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js (rev 0)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -0,0 +1,41 @@
+
+// Export NetworkSimulator for use by other unittests.
+function NetworkSimulator()
+{
+ this._pendingCallbacks = [];
+};
+
+NetworkSimulator.prototype.scheduleCallback = function(callback)
+{
+ this._pendingCallbacks.push(callback);
+};
+
+NetworkSimulator.prototype.runTest = function(testCase)
+{
+ var self = this;
+ var realNet = window.net;
+
+ window.net = {};
+ if (self.probe)
+ net.probe = self.probe;
+ if (self.jsonp)
+ net.jsonp = self.jsonp;
+
+ testCase();
+
+ while (this._pendingCallbacks.length) {
+ var callback = this._pendingCallbacks.shift();
+ callback();
+ }
+
+ window.net = realNet;
+ equal(window.net, realNet, "Failed to restore real base!");
+};
+
+(function () {
+
+module("net");
+
+// No unit tests yet!
+
+})();
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -158,7 +158,7 @@
}
var g_resultsCache = new base.AsynchronousCache(function(key, callback) {
- base.jsonp(kTestResultsServer + 'testfile?key=' + key, callback);
+ net.jsonp(kTestResultsServer + 'testfile?key=' + key, callback);
});
function anyIsFailure(resultsList)
@@ -261,7 +261,7 @@
continueWalk();
}
- base.jsonp(directoryOfResultsSummaryURL(builderName, kResultsName), function(directory) {
+ net.jsonp(directoryOfResultsSummaryURL(builderName, kResultsName), function(directory) {
keyList = directory.map(function (element) { return element.key; });
continueWalk();
});
@@ -441,7 +441,7 @@
$.each(suffixList, function(index, suffix) {
var url = "" + testNameStem + suffix;
- base.probe(url, {
+ net.probe(url, {
success: function() {
resultURLs.push(url);
checkComplete();
@@ -453,7 +453,7 @@
results.fetchResultsForBuilder = function(builderName, callback)
{
- base.jsonp(resultsSummaryURL(builderName, kResultsName), function(resultsTree) {
+ net.jsonp(resultsSummaryURL(builderName, kResultsName), function(resultsTree) {
callback(resultsTree);
});
};
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js 2011-08-04 07:13:56 UTC (rev 92354)
@@ -103,41 +103,6 @@
equals(results.resultNodeForTest(kExampleResultsJSON, "userscripts/foo/bar.html"), null);
});
-function NetworkSimulator()
-{
- this._pendingCallbacks = [];
-};
-
-NetworkSimulator.prototype.scheduleCallback = function(callback)
-{
- this._pendingCallbacks.push(callback);
-}
-
-NetworkSimulator.prototype.runTest = function(testCase)
-{
- var self = this;
- var realBase = window.base;
-
- window.base = {};
- base.endsWith = realBase.endsWith;
- base.trimExtension = realBase.trimExtension;
- base.uniquifyArray = realBase.uniquifyArray;
- if (self.probeHook)
- base.probe = self.probeHook;
- if (self.jsonpHook)
- base.jsonp = self.jsonpHook;
-
- testCase();
-
- while (this._pendingCallbacks.length) {
- var callback = this._pendingCallbacks.shift();
- callback();
- }
-
- window.base = realBase;
- equal(window.base, realBase, "Failed to restore real base!");
-}
-
test("walkHistory", 6, function() {
var simulator = new NetworkSimulator();
@@ -208,7 +173,7 @@
}
};
- simulator.jsonpHook = function(url, callback) {
+ simulator.jsonp = function(url, callback) {
simulator.scheduleCallback(function() {
if (/dir=1/.test(url)) {
if (/builder=Mock/.test(url)) {
@@ -275,7 +240,7 @@
},
};
- simulator.jsonpHook = function(url, callback) {
+ simulator.jsonp = function(url, callback) {
simulator.scheduleCallback(function() {
if (/dir=1/.test(url)) {
callback([
@@ -346,7 +311,7 @@
var simulator = new NetworkSimulator();
var probedURLs = [];
- simulator.probeHook = function(url, options)
+ simulator.probe = function(url, options)
{
simulator.scheduleCallback(function() {
probedURLs.push(url);
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html (92353 => 92354)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html 2011-08-04 07:13:56 UTC (rev 92354)
@@ -15,6 +15,8 @@
<script src=""
<script src=""
<script src=""
+<script src=""
+<script src=""
<script src=""
<script src=""
<script src=""
Modified: trunk/Tools/ChangeLog (92353 => 92354)
--- trunk/Tools/ChangeLog 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/ChangeLog 2011-08-04 07:13:56 UTC (rev 92354)
@@ -1,3 +1,31 @@
+2011-08-04 Adam Barth <[email protected]>
+
+ garden-o-matic needs a way to mock out the network
+ https://bugs.webkit.org/show_bug.cgi?id=65653
+
+ Reviewed by Dimitri Glazkov.
+
+ This patch introduces the net module, which is a useful mock point for
+ abstracting away the network. Future patches will use this
+ infrastructure to test some currently untested code.
+
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Bugzilla.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/builders.js:
+ * 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/index.html:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net.js: Added.
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js: Added.
+ (NetworkSimulator):
+ (NetworkSimulator.prototype.scheduleCallback):
+ (NetworkSimulator.prototype.runTest):
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
+ * Scripts/webkitpy/tool/servers/gardeningserver.py:
+
2011-08-03 Adam Barth <[email protected]>
Use failureInfo more pervasively in garden-o-matic
Modified: trunk/Tools/Scripts/webkitpy/tool/servers/gardeningserver.py (92353 => 92354)
--- trunk/Tools/Scripts/webkitpy/tool/servers/gardeningserver.py 2011-08-04 07:10:25 UTC (rev 92353)
+++ trunk/Tools/Scripts/webkitpy/tool/servers/gardeningserver.py 2011-08-04 07:13:56 UTC (rev 92354)
@@ -48,6 +48,7 @@
"main.css",
"main.js",
"model.js",
+ "net.js",
"partytime.gif",
"results.js",
"Trac.js",