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

Side by Side Diff: bin/cros_au_test_harness.py

Issue 3612004: Add board option to au test harness so that this works for others without a default board. (Closed) Base URL: http://git.chromium.org/git/crosutils.git
Patch Set: Clean up board Created 10 years, 2 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 | « no previous file | bin/loman.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) 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 import optparse 7 import optparse
8 import os 8 import os
9 import sys 9 import sys
10 import unittest 10 import unittest
11 11
12 sys.path.append(os.path.join(os.path.dirname(__file__), '../lib')) 12 sys.path.append(os.path.join(os.path.dirname(__file__), '../lib'))
13 from cros_build_lib import RunCommand, Info, Warning 13 from cros_build_lib import RunCommand, Info, Warning, ReinterpretPathForChroot
14 14
15 _KVM_PID_FILE = '/tmp/harness_pid' 15 _KVM_PID_FILE = '/tmp/harness_pid'
16 _SCRIPTS_DIR = os.path.join(os.path.dirname(__file__), '..') 16 _SCRIPTS_DIR = os.path.join(os.path.dirname(__file__), '..')
17 _FULL_VDISK_SIZE = 6072 17 _FULL_VDISK_SIZE = 6072
18 _FULL_STATEFULFS_SIZE = 2048 18 _FULL_STATEFULFS_SIZE = 2048
19 19
20 global base_image_path 20 global base_image_path
21 global board
21 global target_image_path 22 global target_image_path
22 23
23 _VERIFY_SUITE = 'suite_Smoke' 24 _VERIFY_SUITE = 'suite_Smoke'
24 25
25 class AUTest(object): 26 class AUTest(object):
26 """Abstract interface that defines an Auto Update test.""" 27 """Abstract interface that defines an Auto Update test."""
27 28
28 def PrepareBase(self): 29 def PrepareBase(self):
29 """Prepares target with base_image_path.""" 30 """Prepares target with base_image_path."""
30 pass 31 pass
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 100
100 def PrepareBase(self): 101 def PrepareBase(self):
101 """Creates an update-able VM based on base image.""" 102 """Creates an update-able VM based on base image."""
102 103
103 self.vm_image_path = ('%s/chromiumos_qemu_image.bin' % os.path.dirname( 104 self.vm_image_path = ('%s/chromiumos_qemu_image.bin' % os.path.dirname(
104 base_image_path)) 105 base_image_path))
105 if not os.path.exists(self.vm_image_path): 106 if not os.path.exists(self.vm_image_path):
106 Info('Qemu image not found, creating one.') 107 Info('Qemu image not found, creating one.')
107 RunCommand(['%s/image_to_vm.sh' % _SCRIPTS_DIR, 108 RunCommand(['%s/image_to_vm.sh' % _SCRIPTS_DIR,
108 '--full', 109 '--full',
109 '--from %s' % os.path.dirname(base_image_path), 110 '--from %s' % ReinterpretPathForChroot(
111 os.path.dirname(base_image_path)),
110 '--vdisk_size %s' % _FULL_VDISK_SIZE, 112 '--vdisk_size %s' % _FULL_VDISK_SIZE,
111 '--statefulfs_size %s' % _FULL_STATEFULFS_SIZE, 113 '--statefulfs_size %s' % _FULL_STATEFULFS_SIZE,
114 '--board %s' % board,
112 '--test_image'], enter_chroot=True) 115 '--test_image'], enter_chroot=True)
113 else: 116 else:
114 Info('Using existing VM image') 117 Info('Using existing VM image')
115 118
116 self.assertTrue(os.path.exists(self.vm_image_path)) 119 self.assertTrue(os.path.exists(self.vm_image_path))
117 120
118 def UpdateImage(self, image_path, stateful_change='old'): 121 def UpdateImage(self, image_path, stateful_change='old'):
119 """Updates VM image with image_path.""" 122 """Updates VM image with image_path."""
120 123
121 stateful_change_flag = '' 124 stateful_change_flag = ''
(...skipping 24 matching lines...) Expand all
146 '--test_case=%s' % _VERIFY_SUITE, 149 '--test_case=%s' % _VERIFY_SUITE,
147 ], error_ok=True, enter_chroot=False) 150 ], error_ok=True, enter_chroot=False)
148 151
149 152
150 if __name__ == '__main__': 153 if __name__ == '__main__':
151 parser = optparse.OptionParser() 154 parser = optparse.OptionParser()
152 parser.add_option('-b', '--base_image', 155 parser.add_option('-b', '--base_image',
153 help='path to the base image.') 156 help='path to the base image.')
154 parser.add_option('-t', '--target_image', 157 parser.add_option('-t', '--target_image',
155 help='path to the target image') 158 help='path to the target image')
159 parser.add_option('-r', '--board',
160 help='board for the images')
156 # Set the usage to include flags. 161 # Set the usage to include flags.
157 parser.set_usage(parser.format_help()) 162 parser.set_usage(parser.format_help())
158 # Parse existing sys.argv so we can pass rest to unittest.main. 163 # Parse existing sys.argv so we can pass rest to unittest.main.
159 (options, sys.argv) = parser.parse_args(sys.argv) 164 (options, sys.argv) = parser.parse_args(sys.argv)
160 165
161 base_image_path = options.base_image 166 base_image_path = options.base_image
162 target_image_path = options.target_image 167 target_image_path = options.target_image
168 board = options.board
163 169
164 if not base_image_path: 170 if not base_image_path:
165 parser.error('Need path to base image for vm.') 171 parser.error('Need path to base image for vm.')
166 172
167 if not target_image_path: 173 if not target_image_path:
168 parser.error('Need path to target image to update with.') 174 parser.error('Need path to target image to update with.')
169 175
176 if not board:
177 parser.error('Need board to convert base image to vm.')
178
170 unittest.main() 179 unittest.main()
OLDNEW
« no previous file with comments | « no previous file | bin/loman.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698