Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js (120519 => 120520)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js 2012-06-16 03:30:20 UTC (rev 120519)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js 2012-06-16 03:35:44 UTC (rev 120520)
@@ -444,44 +444,39 @@
results.unifyRegressionRanges = function(builderNameList, testName, callback)
{
- var queriesInFlight = builderNameList.length;
- if (!queriesInFlight)
- callback(0, 0);
-
var regressionRanges = {};
+
+ var tracker = new base.RequestTracker(builderNameList.length, function() {
+ var mergedRange = mergeRegressionRanges(regressionRanges);
+ callback(mergedRange.oldestFailingRevision, mergedRange.newestPassingRevision);
+ });
+
$.each(builderNameList, function(index, builderName) {
results.regressionRangeForFailure(builderName, testName, function(oldestFailingRevision, newestPassingRevision) {
var range = {};
range.oldestFailingRevision = oldestFailingRevision;
range.newestPassingRevision = newestPassingRevision;
regressionRanges[builderName] = range;
-
- --queriesInFlight;
- if (!queriesInFlight) {
- var mergedRange = mergeRegressionRanges(regressionRanges);
- callback(mergedRange.oldestFailingRevision, mergedRange.newestPassingRevision);
- }
+ tracker.requestComplete();
});
});
};
results.countFailureOccurances = function(builderNameList, testName, callback)
{
- var queriesInFlight = builderNameList.length;
- if (!queriesInFlight)
- callback(0);
-
var failureCount = 0;
+
+ var tracker = new base.RequestTracker(builderNameList.length, function() {
+ callback(failureCount);
+ });
+
$.each(builderNameList, function(index, builderName) {
walkHistory(builderName, testName, function(revision, resultNode) {
if (isUnexpectedFailure(resultNode)) {
++failureCount;
return true;
}
-
- --queriesInFlight;
- if (!queriesInFlight)
- callback(failureCount);
+ tracker.requestComplete();
return false;
});
});
@@ -538,31 +533,21 @@
{
var stem = resultsDirectoryURL(failureInfo.builderName);
var testNameStem = base.trimExtension(failureInfo.testName);
-
var suffixList = possibleSuffixListFor(failureInfo.failureTypeList);
-
var resultURLs = [];
- var requestsInFlight = suffixList.length;
-
- if (!requestsInFlight) {
- callback([]);
- return;
- }
-
- function checkComplete()
- {
- if (--requestsInFlight == 0)
- callback(sortResultURLsBySuffix(resultURLs));
- }
-
+ var tracker = new base.RequestTracker(suffixList.length, function() {
+ callback(sortResultURLsBySuffix(resultURLs));
+ });
$.each(suffixList, function(index, suffix) {
var url = "" + testNameStem + suffix;
net.probe(url, {
success: function() {
resultURLs.push(url);
- checkComplete();
+ tracker.requestComplete();
},
- error: checkComplete,
+ error: function() {
+ tracker.requestComplete();
+ },
});
});
};
@@ -575,13 +560,13 @@
results.fetchResultsByBuilder = function(builderNameList, callback)
{
var resultsByBuilder = {}
- var requestsInFlight = builderNameList.length;
+ var tracker = new base.RequestTracker(builderNameList.length, function() {
+ callback(resultsByBuilder);
+ });
$.each(builderNameList, function(index, builderName) {
results.fetchResultsForBuilder(builderName, function(resultsTree) {
resultsByBuilder[builderName] = resultsTree;
- --requestsInFlight;
- if (!requestsInFlight)
- callback(resultsByBuilder);
+ tracker.requestComplete();
});
});
};
Modified: trunk/Tools/ChangeLog (120519 => 120520)
--- trunk/Tools/ChangeLog 2012-06-16 03:30:20 UTC (rev 120519)
+++ trunk/Tools/ChangeLog 2012-06-16 03:35:44 UTC (rev 120520)
@@ -1,3 +1,16 @@
+2012-06-15 Adam Barth <[email protected]>
+
+ garden-o-matic's results.js should use RequestTracker
+ https://bugs.webkit.org/show_bug.cgi?id=89257
+
+ Reviewed by Dimitri Glazkov.
+
+ We wrote results.js before we recognized the RequestTracker pattern.
+ This patch replaces the manual implementations of RequestTracker with
+ the real deal.
+
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js:
+
2012-06-15 Darin Adler <[email protected]>
* Scripts/webkitpy/bindings: Added property svn:ignore.