Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1568)

Unified Diff: Tools/GardeningServer/scripts/model.js

Issue 173133003: Convert garden-o-matic guts over to promises where appropriate (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: update to ToT Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Tools/GardeningServer/scripts/garden-o-matic.js ('k') | Tools/GardeningServer/scripts/model_unittests.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Tools/GardeningServer/scripts/model.js
diff --git a/Tools/GardeningServer/scripts/model.js b/Tools/GardeningServer/scripts/model.js
index 2a85ce3985bc0b627b6238b3ddaa896b14f477ab..2bc3b89d6cbabe830ce4ddcc6ac1dc6f5af18835 100644
--- a/Tools/GardeningServer/scripts/model.js
+++ b/Tools/GardeningServer/scripts/model.js
@@ -99,13 +99,12 @@ model.takeExpectationUpdateQueue = function()
var g_commitIndex = {};
-model.updateRecentCommits = function(callback)
+model.updateRecentCommits = function()
{
- trac.recentCommitData('trunk', kCommitLogLength, function(commitDataList) {
+ return trac.recentCommitData('trunk', kCommitLogLength).then(function(commitDataList) {
model.state.recentCommits = commitDataList;
updateCommitIndex();
findAndMarkRevertedRevisions(model.state.recentCommits);
- callback();
});
};
@@ -141,7 +140,7 @@ model.buildersInFlightForRevision = function(revision)
model.latestRevision = function()
{
return model.state.recentCommits[0].revision;
-}
+};
model.latestRevisionWithNoBuildersInFlight = function()
{
@@ -165,15 +164,15 @@ model.latestRevisionByBuilder = function()
return revision;
}
-model.updateResultsByBuilder = function(callback)
+model.updateResultsByBuilder = function()
{
- results.fetchResultsByBuilder(Object.keys(config.builders), function(resultsByBuilder) {
+ return results.fetchResultsByBuilder(Object.keys(config.builders)).then(function(resultsByBuilder) {
model.state.resultsByBuilder = resultsByBuilder;
- callback();
});
};
-model.analyzeUnexpectedFailures = function(callback, completionCallback)
+// failureCallback is called multiple times: once for each failure
+model.analyzeUnexpectedFailures = function(failureCallback)
{
var unexpectedFailures = results.unexpectedFailuresByTest(model.state.resultsByBuilder);
@@ -182,10 +181,12 @@ model.analyzeUnexpectedFailures = function(callback, completionCallback)
delete model.state.failureAnalysisByTest[testName];
});
- var tracker = new base.RequestTracker(Object.keys(unexpectedFailures).length, completionCallback);
+ var failurePromises = [];
$.each(unexpectedFailures, function(testName, resultNodesByBuilder) {
var builderNameList = Object.keys(resultNodesByBuilder);
- results.unifyRegressionRanges(builderNameList, testName, function(oldestFailingRevision, newestPassingRevision) {
+ failurePromises.push(results.unifyRegressionRanges(builderNameList, testName).then(function(result) {
+ var oldestFailingRevision = result[0];
+ var newestPassingRevision = result[1];
var failureAnalysis = {
'testName': testName,
'resultNodesByBuilder': resultNodesByBuilder,
@@ -204,11 +205,11 @@ model.analyzeUnexpectedFailures = function(callback, completionCallback)
}
model.state.failureAnalysisByTest[testName] = failureAnalysis;
-
- callback(failureAnalysis);
- tracker.requestComplete();
- });
+
+ failureCallback(failureAnalysis);
+ }));
});
+ return Promise.all(failurePromises);
};
model.unexpectedFailureInfoForTestName = function(testName)
@@ -220,7 +221,8 @@ model.unexpectedFailureInfoForTestName = function(testName)
});
};
-model.analyzeexpectedFailures = function(callback)
+// failureCallback is called multiple times: once for each failure
+model.analyzeexpectedFailures = function(failureCallback)
{
var expectedFailures = results.expectedFailuresByTest(model.state.resultsByBuilder);
$.each(expectedFailures, function(testName, resultNodesByBuilder) {
@@ -232,7 +234,7 @@ model.analyzeexpectedFailures = function(callback)
// FIXME: Consider looking at the history to see how long this test
// has been failing.
- callback(failureAnalysis);
+ failureCallback(failureAnalysis);
});
};
« no previous file with comments | « Tools/GardeningServer/scripts/garden-o-matic.js ('k') | Tools/GardeningServer/scripts/model_unittests.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698