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

Side by Side Diff: src/scripts/autotest

Issue 1794004: Added --test_args parameter that passes its value as -a flag to autoserv. (Closed) Base URL: ssh://git@chromiumos-git/chromeos
Patch Set: Parse --args with optparser in autotest Created 10 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
« no previous file with comments | « no previous file | src/scripts/run_remote_tests.sh » ('j') | 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 2
3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 # 6 #
7 # A python wrapper to call autotest ebuild. 7 # A python wrapper to call autotest ebuild.
8 8
9 import commands, logging, optparse, os, subprocess, sys 9 import commands, logging, optparse, os, subprocess, sys
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 def print_help(self, file=None): 50 def print_help(self, file=None):
51 optparse.OptionParser.print_help(self, file) 51 optparse.OptionParser.print_help(self, file)
52 MyOptionParser.help = True 52 MyOptionParser.help = True
53 53
54 54
55 parser = MyOptionParser() 55 parser = MyOptionParser()
56 parser.allow_interspersed_args = True 56 parser.allow_interspersed_args = True
57 57
58 DEFAULT_BOARD = os.environ.get('DEFAULT_BOARD', '') 58 DEFAULT_BOARD = os.environ.get('DEFAULT_BOARD', '')
59 59
60 parser.add_option('--args', dest='args', action='store',
61 default='',
62 help='The arguments to pass to the test control file.')
60 parser.add_option('--autox', dest='autox', action='store_true', 63 parser.add_option('--autox', dest='autox', action='store_true',
61 default=True, 64 default=True,
62 help='Build autox along with autotest [default].') 65 help='Build autox along with autotest [default].')
63 parser.add_option('--noautox', dest='autox', action='store_false', 66 parser.add_option('--noautox', dest='autox', action='store_false',
64 help='Don\'t build autox along with autotest.') 67 help='Don\'t build autox along with autotest.')
65 parser.add_option('--board', dest='board', action='store', 68 parser.add_option('--board', dest='board', action='store',
66 default=DEFAULT_BOARD, 69 default=DEFAULT_BOARD,
67 help='The board for which you are building autotest.') 70 help='The board for which you are building autotest.')
68 parser.add_option('--build', dest='build', action='store', 71 parser.add_option('--build', dest='build', action='store',
69 help='Only prebuild client tests, do not run tests.') 72 help='Only prebuild client tests, do not run tests.')
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 environ.get('FEATURES', '')) 184 environ.get('FEATURES', ''))
182 environ['TEST_LIST'] = test_list 185 environ['TEST_LIST'] = test_list
183 environ['USE'] = use_flag 186 environ['USE'] = use_flag
184 emerge_cmd = ['emerge-%s' % options.board, 187 emerge_cmd = ['emerge-%s' % options.board,
185 'chromeos-base/autotest'] 188 'chromeos-base/autotest']
186 if emerge_jobs: 189 if emerge_jobs:
187 emerge_cmd.append(emerge_jobs) 190 emerge_cmd.append(emerge_jobs)
188 return run(emerge_cmd) 191 return run(emerge_cmd)
189 192
190 193
191 def run_autoserv(board, args): 194 def run_autoserv(options, args):
192 environ = os.environ 195 environ = os.environ
196
197 environ['AUTOSERV_TEST_ARGS'] = options.args
193 environ['AUTOSERV_ARGS'] = ' '.join(args) 198 environ['AUTOSERV_ARGS'] = ' '.join(args)
194 environ['FEATURES'] = ('%s -buildpkg -digest noauto' % 199 environ['FEATURES'] = ('%s -buildpkg -digest noauto' %
195 environ.get('FEATURES', '')) 200 environ.get('FEATURES', ''))
196 ebuild_cmd = ['ebuild-%s' % board, 201 ebuild_cmd = ['ebuild-%s' % options.board,
197 '../third_party/chromiumos-overlay/chromeos-base/' 202 '../third_party/chromiumos-overlay/chromeos-base/'
198 'autotest/autotest-0.0.1.ebuild', 203 'autotest/autotest-0.0.1.ebuild',
199 'clean', 'unpack', 'test'] 204 'clean', 'unpack', 'test']
200 run(ebuild_cmd) 205 run(ebuild_cmd)
201 206
202 207
203 def main(): 208 def main():
204 me = sys.argv[0] 209 me = sys.argv[0]
205 common_sh = os.path.join(os.path.dirname(me), 'common.sh') 210 common_sh = os.path.join(os.path.dirname(me), 'common.sh')
206 211
207 assert_inside_chroot(common_sh) 212 assert_inside_chroot(common_sh)
208 set_common_env(common_sh, 'GCLIENT_ROOT') 213 set_common_env(common_sh, 'GCLIENT_ROOT')
209 214
210 options, args = parse_args_and_help() 215 options, args = parse_args_and_help()
211 if options.build: 216 if options.build:
212 status = build_autotest(options) 217 status = build_autotest(options)
213 if status: 218 if status:
214 die(common_sh, 'build_autotest failed.') 219 die(common_sh, 'build_autotest failed.')
215 else: 220 else:
216 ssh_key_file = os.path.join(os.path.dirname(me), 221 ssh_key_file = os.path.join(os.path.dirname(me),
217 'mod_for_test_scripts/ssh_keys/testing_rsa') 222 'mod_for_test_scripts/ssh_keys/testing_rsa')
218 os.chmod(ssh_key_file, 0400) 223 os.chmod(ssh_key_file, 0400)
219 run_autoserv(options.board, args) 224 run_autoserv(options, args)
220 225
221 226
222 if __name__ == '__main__': 227 if __name__ == '__main__':
223 main() 228 main()
OLDNEW
« no previous file with comments | « no previous file | src/scripts/run_remote_tests.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698