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

Side by Side Diff: scripts/master/factory/swarm_factory.py

Issue 10386096: Get Swarm Bots to Use Network Storage (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 8 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « scripts/master/factory/swarm_commands.py ('k') | scripts/slave/run_slavelastic.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Utility class to build the swarm master BuildFactory's. 5 """Utility class to build the swarm master BuildFactory's.
6 6
7 Based on chromium_factory.py and adds chromium-specific steps.""" 7 Based on chromium_factory.py and adds chromium-specific steps."""
8 8
9 import os 9 import os
10 10
11 from buildbot.process.properties import WithProperties
12
11 from master.factory import chromium_factory 13 from master.factory import chromium_factory
12 from master.factory import swarm_commands 14 from master.factory import swarm_commands
13 15
14 class SwarmFactory(chromium_factory.ChromiumFactory): 16 class SwarmFactory(chromium_factory.ChromiumFactory):
15 def SwarmFactory(self, target='Release', clobber=False, tests=None, 17 def SwarmFactory(self, target='Release', clobber=False, tests=None,
16 mode=None, slave_type='BuilderTester', 18 mode=None, slave_type='BuilderTester',
17 options=None, compile_timeout=1200, build_url=None, 19 options=None, compile_timeout=1200, build_url=None,
18 project=None, factory_properties=None, gclient_deps=None): 20 project=None, factory_properties=None, gclient_deps=None):
19 # Do not pass the tests to the ChromiumFactory, they'll be processed below. 21 # Do not pass the tests to the ChromiumFactory, they'll be processed below.
20 factory = self.ChromiumFactory(target, clobber, [], mode, slave_type, 22 factory = self.ChromiumFactory(target, clobber, [], mode, slave_type,
21 options, compile_timeout, build_url, project, 23 options, compile_timeout, build_url, project,
22 factory_properties, gclient_deps) 24 factory_properties, gclient_deps)
23 25
24 swarm_command_obj = swarm_commands.SwarmCommands(factory, 26 swarm_command_obj = swarm_commands.SwarmCommands(factory,
25 target, 27 target,
26 self._build_dir, 28 self._build_dir,
27 self._target_platform) 29 self._target_platform)
28 30
29 gclient_env = factory_properties.get("gclient_env") 31 gclient_env = factory_properties.get('gclient_env')
30 swarm_server = factory_properties.get('swarm_server', 32 swarm_server = factory_properties.get('swarm_server',
31 'http://localhost:9001') 33 'http://localhost:9001')
34 data_server = factory_properties.get('data_server',
35 'http://localhost:8080')
36
37 data_dest_root = factory_properties.get('data_dest_dir')
38 if self._target_platform == 'win32':
39 data_dest_dir = WithProperties(data_dest_root + '\\%s',
40 'buildername:-slave')
41 else:
42 data_dest_dir = WithProperties(data_dest_root + '/%s',
43 'buildername:-slave')
44
32 gyp_defines = gclient_env['GYP_DEFINES'] 45 gyp_defines = gclient_env['GYP_DEFINES']
33 if 'tests_run=hashtable' in gyp_defines: 46 if 'tests_run=hashtable' in gyp_defines:
34 if self._target_platform == 'win32': 47 if self._target_platform == 'win32':
35 out_dir = 'build' 48 out_dir = 'build'
36 elif self._target_platform == 'darwin': 49 elif self._target_platform == 'darwin':
37 out_dir = 'xcodebuild' 50 out_dir = 'xcodebuild'
38 else: 51 else:
39 out_dir = 'out' 52 out_dir = 'out'
40 53
41 # Send of all the test requests as a single step. 54 # Send of all the test requests as a single step.
42 swarm_inputs = [os.path.join('src', out_dir, target, test + '.results') 55 swarm_inputs = [os.path.join('src', out_dir, target, test + '.results')
43 for test in tests] 56 for test in tests]
57 hashtable_directory = os.path.join('src', out_dir, 'hashtable')
44 swarm_command_obj.AddTriggerSwarmTestStep(self._target_platform, 58 swarm_command_obj.AddTriggerSwarmTestStep(self._target_platform,
45 swarm_server, 59 swarm_server,
60 data_server,
61 hashtable_directory,
62 data_dest_dir,
46 factory_properties.get('min_swarm_shards', '3'), 63 factory_properties.get('min_swarm_shards', '3'),
47 factory_properties.get('max_swarm_shards', '3'), 64 factory_properties.get('max_swarm_shards', '3'),
48 swarm_inputs) 65 swarm_inputs)
49 66
50 # Each test has its output returned as its own step. 67 # Each test has its output returned as its own step.
51 for test in tests: 68 for test in tests:
52 swarm_command_obj.AddGetSwarmTestStep(swarm_server, test) 69 swarm_command_obj.AddGetSwarmTestStep(swarm_server, test)
53 70
54 return factory 71 return factory
OLDNEW
« no previous file with comments | « scripts/master/factory/swarm_commands.py ('k') | scripts/slave/run_slavelastic.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698