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

Side by Side Diff: au_test_harness/cros_au_test_harness.py

Issue 6736023: Install test scripts into chroot. (Closed) Base URL: http://git.chromium.org/git/crostestutils.git@master
Patch Set: Remove vm scripts from makefile Created 9 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 | « au_test_harness/au_worker.py ('k') | au_test_harness/dev_server_wrapper.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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 46
47 Args: 47 Args:
48 options: options from parsed parser. 48 options: options from parsed parser.
49 Returns: 49 Returns:
50 Dictionary of Update Identifiers->Relative cache locations. 50 Dictionary of Update Identifiers->Relative cache locations.
51 Raises: 51 Raises:
52 update_exception.UpdateException if we fail to generate an update. 52 update_exception.UpdateException if we fail to generate an update.
53 """ 53 """
54 def _GenerateVMUpdate(target, src, private_key_path): 54 def _GenerateVMUpdate(target, src, private_key_path):
55 """Generates an update using the devserver.""" 55 """Generates an update using the devserver."""
56 command = ['./enter_chroot.sh', 56 command = ['sudo',
57 '--',
58 'sudo',
59 'start_devserver', 57 'start_devserver',
60 '--pregenerate_update', 58 '--pregenerate_update',
61 '--exit', 59 '--exit',
62 ] 60 ]
63 # Add actual args to command. 61 # Add actual args to command.
64 command.append('--image=%s' % cros_lib.ReinterpretPathForChroot(target)) 62 command.append('--image=%s' % cros_lib.ReinterpretPathForChroot(target))
65 if src: command.append('--src_image=%s' % 63 if src: command.append('--src_image=%s' %
66 cros_lib.ReinterpretPathForChroot(src)) 64 cros_lib.ReinterpretPathForChroot(src))
67 if options.type == 'vm': command.append('--for_vm') 65 if options.type == 'vm': command.append('--for_vm')
68 if private_key_path: 66 if private_key_path:
69 command.append('--private_key=%s' % 67 command.append('--private_key=%s' %
70 cros_lib.ReinterpretPathForChroot(private_key_path)) 68 cros_lib.ReinterpretPathForChroot(private_key_path))
71 69
72 return cros_lib.RunCommandCaptureOutput(command, combine_stdout_stderr=True, 70 return cros_lib.RunCommandCaptureOutput(command, combine_stdout_stderr=True,
73 print_cmd=True) 71 enter_chroot=True,
72 print_cmd=True,
73 cwd=cros_lib.GetCrosUtilsPath())
74 74
75 # Use dummy class to mock out updates that would be run as part of a test. 75 # Use dummy class to mock out updates that would be run as part of a test.
76 test_suite = _PrepareTestSuite(options, use_dummy_worker=True) 76 test_suite = _PrepareTestSuite(options, use_dummy_worker=True)
77 test_result = unittest.TextTestRunner(verbosity=0).run(test_suite) 77 test_result = unittest.TextTestRunner(verbosity=0).run(test_suite)
78 if not test_result.wasSuccessful(): 78 if not test_result.wasSuccessful():
79 raise update_exception.UpdateException(1, 79 raise update_exception.UpdateException(1,
80 'Error finding updates to generate.') 80 'Error finding updates to generate.')
81 81
82 cros_lib.Info('The following delta updates are required.') 82 cros_lib.Info('The following delta updates are required.')
83 update_ids = [] 83 update_ids = []
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 if not test_result.wasSuccessful(): 161 if not test_result.wasSuccessful():
162 cros_lib.Die('Test harness was not successful') 162 cros_lib.Die('Test harness was not successful')
163 163
164 164
165 def _CleanPreviousWork(options): 165 def _CleanPreviousWork(options):
166 """Cleans up previous work from the devserver cache and local image cache.""" 166 """Cleans up previous work from the devserver cache and local image cache."""
167 cros_lib.Info('Cleaning up previous work.') 167 cros_lib.Info('Cleaning up previous work.')
168 # Wipe devserver cache. 168 # Wipe devserver cache.
169 cros_lib.RunCommandCaptureOutput( 169 cros_lib.RunCommandCaptureOutput(
170 ['sudo', 'start_devserver', '--clear_cache', '--exit', ], 170 ['sudo', 'start_devserver', '--clear_cache', '--exit', ],
171 enter_chroot=True, print_cmd=False, combine_stdout_stderr=True) 171 enter_chroot=True, print_cmd=False, combine_stdout_stderr=True,
172 cwd=cros_lib.GetCrosUtilsPath())
172 173
173 # Clean previous vm images if they exist. 174 # Clean previous vm images if they exist.
174 if options.type == 'vm': 175 if options.type == 'vm':
175 target_vm_image_path = '%s/chromiumos_qemu_image.bin' % os.path.dirname( 176 target_vm_image_path = '%s/chromiumos_qemu_image.bin' % os.path.dirname(
176 options.target_image) 177 options.target_image)
177 base_vm_image_path = '%s/chromiumos_qemu_image.bin' % os.path.dirname( 178 base_vm_image_path = '%s/chromiumos_qemu_image.bin' % os.path.dirname(
178 options.base_image) 179 options.base_image)
179 if os.path.exists(target_vm_image_path): os.remove(target_vm_image_path) 180 if os.path.exists(target_vm_image_path): os.remove(target_vm_image_path)
180 if os.path.exists(base_vm_image_path): os.remove(base_vm_image_path) 181 if os.path.exists(base_vm_image_path): os.remove(base_vm_image_path)
181 182
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 if options.public_key: 272 if options.public_key:
272 cros_lib.Info('Cleaning up. Removing keys added as part of testing.') 273 cros_lib.Info('Cleaning up. Removing keys added as part of testing.')
273 target_directory = os.path.dirname(options.target_image) 274 target_directory = os.path.dirname(options.target_image)
274 for key_manager in au_test.AUTest.public_key_managers: 275 for key_manager in au_test.AUTest.public_key_managers:
275 if key_manager.image_path.startswith(target_directory): 276 if key_manager.image_path.startswith(target_directory):
276 key_manager.RemoveKeyFromImage() 277 key_manager.RemoveKeyFromImage()
277 278
278 279
279 if __name__ == '__main__': 280 if __name__ == '__main__':
280 main() 281 main()
OLDNEW
« no previous file with comments | « au_test_harness/au_worker.py ('k') | au_test_harness/dev_server_wrapper.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698