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

Side by Side Diff: scripts/slave/runtest.py

Issue 67234: Buildbot changes for running page_cycler_http on Mac (Closed) Base URL: svn://chrome-svn/chrome/trunk/tools/buildbot/
Patch Set: '' Created 11 years, 8 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 | « config/master.chromium/master.cfg ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2007-2008 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2007-2008 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """A tool to run a chrome test executable, used by the buildbot slaves. 6 """A tool to run a chrome test executable, used by the buildbot slaves.
7 7
8 When this is run, the current directory (cwd) should be the outer build 8 When this is run, the current directory (cwd) should be the outer build
9 directory (e.g., chrome-release/build/). 9 directory (e.g., chrome-release/build/).
10 10
(...skipping 26 matching lines...) Expand all
37 build_dir = os.path.normpath(os.path.abspath(options.build_dir)) 37 build_dir = os.path.normpath(os.path.abspath(options.build_dir))
38 test_exe_path = os.path.join(build_dir, options.target, test_exe) 38 test_exe_path = os.path.join(build_dir, options.target, test_exe)
39 if not os.path.exists(test_exe_path): 39 if not os.path.exists(test_exe_path):
40 pre = 'Unable to find %s\n' % test_exe_path 40 pre = 'Unable to find %s\n' % test_exe_path
41 build_dir = os.path.join(os.path.dirname(build_dir), 'xcodebuild') 41 build_dir = os.path.join(os.path.dirname(build_dir), 'xcodebuild')
42 test_exe_path = os.path.join(build_dir, options.target, test_exe) 42 test_exe_path = os.path.join(build_dir, options.target, test_exe)
43 if not os.path.exists(test_exe_path): 43 if not os.path.exists(test_exe_path):
44 msg = pre + 'Unable to find %s' % test_exe_path 44 msg = pre + 'Unable to find %s' % test_exe_path
45 raise chromium_utils.PathNotFound(msg) 45 raise chromium_utils.PathNotFound(msg)
46 46
47 http_server = None
48 if options.document_root:
49 platform_util = google.platform_utils.PlatformUtility(build_dir)
50
51 # Name the output directory for the exe, without its path or suffix.
52 # e.g., chrome-release/httpd_logs/unit_tests/
53 test_exe_name = os.path.splitext(os.path.basename(test_exe_path))[0]
54 output_dir = os.path.join(slave_utils.SlaveBaseDir(build_dir),
55 'httpd_logs',
56 test_exe_name)
57
58 apache_config_dir = google.httpd_utils.ApacheConfigDir(build_dir)
59 httpd_conf_path = os.path.join(apache_config_dir, 'httpd2_mac.conf')
60 mime_types_path = os.path.join(apache_config_dir, 'mime.types')
61 document_root = os.path.abspath(options.document_root)
62
63 start_cmd = platform_util.GetStartHttpdCommand(output_dir,
64 httpd_conf_path,
65 mime_types_path,
66 document_root)
67 stop_cmd = platform_util.GetStopHttpdCommand()
68 http_server = google.httpd_utils.ApacheHttpd(start_cmd, stop_cmd, [8000])
69 try:
70 http_server.StartServer()
71 except google.httpd_utils.HttpdNotStarted, e:
72 raise google.httpd_utils.HttpdNotStarted('%s. See log file in %s' %
73 (e, output_dir))
74
47 command = [test_exe_path] 75 command = [test_exe_path]
48 command.extend(args[1:]) 76 command.extend(args[1:])
49 result = chromium_utils.RunCommand(command) 77 result = chromium_utils.RunCommand(command)
50 78
79 if options.document_root:
80 http_server.StopServer()
81
51 return result 82 return result
52 83
53 def main_linux(options, args): 84 def main_linux(options, args):
54 if len(args) < 1: 85 if len(args) < 1:
55 raise chromium_utils.MissingArgument('Usage: %s' % USAGE) 86 raise chromium_utils.MissingArgument('Usage: %s' % USAGE)
56 87
57 build_dir = os.path.normpath(os.path.abspath(options.build_dir)) 88 build_dir = os.path.normpath(os.path.abspath(options.build_dir))
58 slave_name = slave_utils.SlaveBuildName(build_dir) 89 slave_name = slave_utils.SlaveBuildName(build_dir)
59 slave_utils.StartVirtualX(slave_name) 90 slave_utils.StartVirtualX(slave_name)
60 91
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 help='Start a local httpd server using the given ' 194 help='Start a local httpd server using the given '
164 'document root, relative to the current dir') 195 'document root, relative to the current dir')
165 option_parser.add_option('', '--total-shards', dest='total_shards', 196 option_parser.add_option('', '--total-shards', dest='total_shards',
166 default=None, type="int", 197 default=None, type="int",
167 help='Number of shards to split this test into.') 198 help='Number of shards to split this test into.')
168 option_parser.add_option('', '--shard-index', dest='shard_index', 199 option_parser.add_option('', '--shard-index', dest='shard_index',
169 default=None, type="int", 200 default=None, type="int",
170 help='Shard to run. Must be between 1 and ' 201 help='Shard to run. Must be between 1 and '
171 'total-shards.') 202 'total-shards.')
172 options, args = option_parser.parse_args() 203 options, args = option_parser.parse_args()
173 204
174 # Set the number of shards environement variables. 205 # Set the number of shards environement variables.
175 if options.total_shards and options.shard_index: 206 if options.total_shards and options.shard_index:
176 os.environ['GTEST_TOTAL_SHARDS'] = str(options.total_shards) 207 os.environ['GTEST_TOTAL_SHARDS'] = str(options.total_shards)
177 os.environ['GTEST_SHARD_INDEX'] = str(options.shard_index - 1) 208 os.environ['GTEST_SHARD_INDEX'] = str(options.shard_index - 1)
178 209
179 if sys.platform.startswith('darwin'): 210 if sys.platform.startswith('darwin'):
180 sys.exit(main_mac(options, args)) 211 sys.exit(main_mac(options, args))
181 elif sys.platform == 'win32': 212 elif sys.platform == 'win32':
182 sys.exit(main_win(options, args)) 213 sys.exit(main_win(options, args))
183 elif sys.platform == 'linux2': 214 elif sys.platform == 'linux2':
184 sys.exit(main_linux(options, args)) 215 sys.exit(main_linux(options, args))
185 else: 216 else:
186 sys.stderr.write('Unknown sys.platform value %s\n' % repr(sys.platform)) 217 sys.stderr.write('Unknown sys.platform value %s\n' % repr(sys.platform))
187 sys.exit(1) 218 sys.exit(1)
OLDNEW
« no previous file with comments | « config/master.chromium/master.cfg ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698