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

Unified Diff: scripts/master/factory/swarm_factory.py

Issue 139343011: Add swarming_run_shim.py to run swarming tasks as annotated tasks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: tested Created 6 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
Index: scripts/master/factory/swarm_factory.py
diff --git a/scripts/master/factory/swarm_factory.py b/scripts/master/factory/swarm_factory.py
index bbdf083e60f37a4fca4f0f286456a29aab91fa08..8b56c52b8a76af93de7b812967ef808ad10bb505 100644
--- a/scripts/master/factory/swarm_factory.py
+++ b/scripts/master/factory/swarm_factory.py
@@ -51,13 +51,11 @@ SWARM_TESTS = [
def SwarmTestBuilder(swarm_server, isolation_outdir, tests):
Vadim Sh. 2014/01/24 20:22:11 nit: maybe rename isolation_outdir to isolate_serv
M-A Ruel 2014/01/24 20:41:41 Done.
- """Create a basic swarm builder that runs tests via Swarm.
+ """Create a basic swarm builder that runs tests via Swarming.
- To clarify, this 'buildbot builder' doesn't compile.
+ To clarify, this 'buildbot builder' doesn't compile, doesn't have a checkout,
+ it just triggers a job and gets results.
"""
- valid_tests = set(s.test_name for s in SWARM_TESTS)
- assert not any(t not in valid_tests for t in tests)
-
# No need of a window manager when only retrieving results.
f = build_factory.BuildFactory()
@@ -74,25 +72,13 @@ def SwarmTestBuilder(swarm_server, isolation_outdir, tests):
# Checks out the scripts at the right revision so the trigger can happen.
swarm_command_obj.AddUpdateSwarmClientStep()
- # Send the swarm tests to the swarm server.
- swarm_tests = [s for s in SWARM_TESTS if s.test_name in tests]
- swarm_command_obj.AddTriggerSwarmTestStep(
- swarm_server=swarm_server,
- isolation_outdir=isolation_outdir,
- tests=swarm_tests,
- doStepIf=swarm_commands.TestStepFilterTriggerSwarm)
-
- # Collect the results
- for swarm_test in swarm_tests:
- swarm_command_obj.AddGetSwarmTestResultStep(
- swarm_server, swarm_test.test_name, swarm_test.shards)
-
+ swarm_command_obj.AddSwarmingStep(swarm_server, isolation_outdir)
return f
class SwarmFactory(chromium_factory.ChromiumFactory):
Vadim Sh. 2014/01/24 20:22:11 nit: maybe rename it to SwarmCanaryFactory to bett
M-A Ruel 2014/01/24 20:41:41 I'm still not sure if I'm not going to revert back
- """Runs swarm tests in a single build, contrary to ChromiumFactory which can
- trigger swarm jobs but doesn't look for results.
+ """Runs swarming tests in a single build, contrary to ChromiumFactory which
+ can trigger swarming jobs but doesn't look for results.
This factory does both, which is usually a waste of resource, you don't want
to waste a powerful slave sitting idle, waiting for swarm results. Used on
@@ -104,10 +90,7 @@ class SwarmFactory(chromium_factory.ChromiumFactory):
Caller must not reuse factory_properties since it is modified in-place.
"""
- valid_tests = set(s.test_name for s in SWARM_TESTS)
- assert not (set(tests) - set(valid_tests))
target = 'Release'
Vadim Sh. 2014/01/24 20:22:11 hm... how are we going to canary-test component bu
M-A Ruel 2014/01/24 20:41:41 via a new function argument, in time.
-
factory_properties.setdefault('gclient_env', {})
factory_properties['gclient_env'].setdefault('GYP_DEFINES', '')
factory_properties['gclient_env']['GYP_DEFINES'] += (
@@ -126,17 +109,7 @@ class SwarmFactory(chromium_factory.ChromiumFactory):
self._target_platform)
swarm_command_obj.AddGenerateIsolatedHashesStep(tests=tests, doStepIf=True)
-
- # Send of all the test requests as a single step.
- swarm_tests = [s for s in SWARM_TESTS if s.test_name in tests]
- swarm_command_obj.AddTriggerSwarmTestStep(swarm_server, isolate_server,
- swarm_tests, True)
-
- # Each test has its output returned as its own step.
- for test in swarm_tests:
- swarm_command_obj.AddGetSwarmTestResultStep(
- swarm_server, test.test_name, test.shards)
-
+ swarm_command_obj.AddSwarmingStep(swarm_server, isolate_server)
return f

Powered by Google App Engine
This is Rietveld 408576698