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

Side by Side Diff: bin/au_test_harness/cros_au_test_harness.py

Issue 6614029: Add ability to pass a base test root and create results dirs relative. (Closed) Base URL: http://git.chromium.org/git/crosutils.git@master
Patch Set: Add ctest flag as well Created 9 years, 9 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 | « bin/au_test_harness/au_worker.py ('k') | bin/au_test_harness/dummy_au_worker.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 #!/usr/bin/python 1 #!/usr/bin/python
2 2
3 # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2011 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 """This module runs a suite of Auto Update tests. 7 """This module runs a suite of Auto Update tests.
8 8
9 The tests can be run on either a virtual machine or actual device depending 9 The tests can be run on either a virtual machine or actual device depending
10 on parameters given. Specific tests can be run by invoking --test_prefix. 10 on parameters given. Specific tests can be run by invoking --test_prefix.
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 parser.add_option('--public_key', default=None, 230 parser.add_option('--public_key', default=None,
231 help='Public key to use on images and updates.') 231 help='Public key to use on images and updates.')
232 parser.add_option('--private_key', default=None, 232 parser.add_option('--private_key', default=None,
233 help='Private key to use on images and updates.') 233 help='Private key to use on images and updates.')
234 parser.add_option('-q', '--quick_test', default=False, action='store_true', 234 parser.add_option('-q', '--quick_test', default=False, action='store_true',
235 help='Use a basic test to verify image.') 235 help='Use a basic test to verify image.')
236 parser.add_option('-m', '--remote', 236 parser.add_option('-m', '--remote',
237 help='Remote address for real test.') 237 help='Remote address for real test.')
238 parser.add_option('-t', '--target_image', 238 parser.add_option('-t', '--target_image',
239 help='path to the target image.') 239 help='path to the target image.')
240 parser.add_option('--test_results_root', default=None,
241 help='Root directory to store test results. Should '
242 'be defined relative to chroot root.')
240 parser.add_option('--test_prefix', default='test', 243 parser.add_option('--test_prefix', default='test',
241 help='Only runs tests with specific prefix i.e. ' 244 help='Only runs tests with specific prefix i.e. '
242 'testFullUpdateWipeStateful.') 245 'testFullUpdateWipeStateful.')
243 parser.add_option('-p', '--type', default='vm', 246 parser.add_option('-p', '--type', default='vm',
244 help='type of test to run: [vm, real]. Default: vm.') 247 help='type of test to run: [vm, real]. Default: vm.')
245 parser.add_option('--verbose', default=True, action='store_true', 248 parser.add_option('--verbose', default=True, action='store_true',
246 help='Print out rather than capture output as much as ' 249 help='Print out rather than capture output as much as '
247 'possible.') 250 'possible.')
248 (options, leftover_args) = parser.parse_args() 251 (options, leftover_args) = parser.parse_args()
249 252
250 if leftover_args: parser.error('Found unsupported flags: %s' % leftover_args) 253 if leftover_args: parser.error('Found unsupported flags: % s' % leftover_args)
dgarrett 2011/03/04 22:31:12 I think that space is put there by mistake, though
251 254
252 assert options.target_image and os.path.exists(options.target_image), \ 255 assert options.target_image and os.path.exists(options.target_image), \
253 'Target image path does not exist' 256 'Target image path does not exist'
254 if not options.base_image: 257 if not options.base_image:
255 cros_lib.Info('Base image not specified. Using target as base image.') 258 cros_lib.Info('Base image not specified. Using target as base image.')
256 options.base_image = options.target_image 259 options.base_image = options.target_image
257 260
258 # Sanity checks on keys and insert them onto the image. The caches must be 261 # Sanity checks on keys and insert them onto the image. The caches must be
259 # cleaned so we know that the vm images and payloads match the possibly new 262 # cleaned so we know that the vm images and payloads match the possibly new
260 # key. 263 # key.
261 if options.private_key or options.public_key: 264 if options.private_key or options.public_key:
262 error_msg = ('Could not find %s key. Both private and public keys must be ' 265 error_msg = ('Could not find % s key. Both private and public keys must be '
dgarrett 2011/03/04 22:31:12 80 characters, the space looks like an error, and
263 'specified if either is specified.') 266 'specified if either is specified.')
264 assert options.private_key and os.path.exists(options.private_key), \ 267 assert options.private_key and os.path.exists(options.private_key), \
265 error_msg % 'private' 268 error_msg % 'private'
266 assert options.public_key and os.path.exists(options.public_key), \ 269 assert options.public_key and os.path.exists(options.public_key), \
267 error_msg % 'public' 270 error_msg % 'public'
268 _InsertPublicKeyIntoImage(options.target_image, options.public_key) 271 _InsertPublicKeyIntoImage(options.target_image, options.public_key)
269 if options.target_image != options.base_image: 272 if options.target_image != options.base_image:
270 _InsertPublicKeyIntoImage(options.base_image, options.public_key) 273 _InsertPublicKeyIntoImage(options.base_image, options.public_key)
271 options.clean = True 274 options.clean = True
272 275
(...skipping 14 matching lines...) Expand all
287 # Can't run in parallel with only one remote device. 290 # Can't run in parallel with only one remote device.
288 test_suite = _PrepareTestSuite(options) 291 test_suite = _PrepareTestSuite(options)
289 test_result = unittest.TextTestRunner(verbosity=2).run(test_suite) 292 test_result = unittest.TextTestRunner(verbosity=2).run(test_suite)
290 if not test_result.wasSuccessful(): cros_lib.Die('Test harness failed.') 293 if not test_result.wasSuccessful(): cros_lib.Die('Test harness failed.')
291 finally: 294 finally:
292 my_server.Stop() 295 my_server.Stop()
293 296
294 297
295 if __name__ == '__main__': 298 if __name__ == '__main__':
296 main() 299 main()
OLDNEW
« no previous file with comments | « bin/au_test_harness/au_worker.py ('k') | bin/au_test_harness/dummy_au_worker.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698