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

Unified Diff: scripts/slave/recipe_modules/chromium_tests/api.py

Issue 1588793002: Support variable substitution and tryserver- and waterfall-only cmd line args. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: Addressed review feedback. Revised tests. Rebased. Created 4 years, 11 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 | « no previous file | scripts/slave/recipe_modules/chromium_tests/bot_config_and_test_db.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/slave/recipe_modules/chromium_tests/api.py
diff --git a/scripts/slave/recipe_modules/chromium_tests/api.py b/scripts/slave/recipe_modules/chromium_tests/api.py
index 4e79164ca4c1bd1c1fd872a32b12767202f071f3..2919bd18c284ce8596616eb80c6b554859371d61 100644
--- a/scripts/slave/recipe_modules/chromium_tests/api.py
+++ b/scripts/slave/recipe_modules/chromium_tests/api.py
@@ -48,6 +48,7 @@ class ChromiumTestsApi(recipe_api.RecipeApi):
super(ChromiumTestsApi, self).__init__(*args, **kwargs)
self._builders = {}
self.add_builders(builders.BUILDERS)
+ self._precommit_mode = False
@property
def builders(self):
@@ -72,6 +73,21 @@ class ChromiumTestsApi(recipe_api.RecipeApi):
def create_generalized_bot_config_object(self, bot_ids):
return bdb_module.BotConfig(self.builders, bot_ids)
+ def set_precommit_mode(self):
+ """Configures this module to indicate that tests are running before
+ the changes are committed. This must be called very early in the
+ recipe, certainly before prepare_checkout, and the action can not
+ be undone.
+ """
+ self._precommit_mode = True
+
+ def is_precommit_mode(self):
+ """Returns a Boolean indicating whether this module is running in
+ precommit mode; i.e., whether tests are running before the changes
+ are committed.
+ """
+ return self._precommit_mode
+
def configure_build(self, bot_config, override_bot_type=None):
# Get the buildspec version. It can be supplied as a build property or as
# a recipe config value.
@@ -193,7 +209,7 @@ class ChromiumTestsApi(recipe_api.RecipeApi):
self.runhooks(update_step)
bot_db = bdb_module.BotConfigAndTestDB()
- bot_config.initialize_bot_db(self, bot_db)
+ bot_config.initialize_bot_db(self, bot_db, update_step)
if self.m.chromium.c.lto and \
not self.m.chromium.c.env.LLVM_FORCE_HEAD_REVISION:
@@ -203,13 +219,13 @@ class ChromiumTestsApi(recipe_api.RecipeApi):
def generate_tests_from_test_spec(self, api, test_spec, builder_dict,
buildername, mastername, enable_swarming, scripts_compile_targets,
- generators):
+ generators, bot_update_step):
tests = builder_dict.get('tests', ())
# TODO(phajdan.jr): Switch everything to scripts generators and simplify.
for generator in generators:
tests = (
- tuple(generator(api, mastername, buildername, test_spec,
- enable_swarming=enable_swarming,
+ tuple(generator(api, self, mastername, buildername, test_spec,
+ bot_update_step, enable_swarming=enable_swarming,
scripts_compile_targets=scripts_compile_targets)) +
tests)
return tests
« no previous file with comments | « no previous file | scripts/slave/recipe_modules/chromium_tests/bot_config_and_test_db.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698