OLD | NEW |
1 # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Module that contains the interface for au_test_harness workers. | 5 """Module that contains the interface for au_test_harness workers. |
6 | 6 |
7 An au test harnss worker is a class that contains the logic for performing | 7 An au test harnss worker is a class that contains the logic for performing |
8 and validating updates on a target. This should be subclassed to handle | 8 and validating updates on a target. This should be subclassed to handle |
9 various types of target. Types of targets include VM's, real devices, etc. | 9 various types of target. Types of targets include VM's, real devices, etc. |
10 """ | 10 """ |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 """ | 225 """ |
226 cros_lib.Info('Output from VerifyImage():') | 226 cros_lib.Info('Output from VerifyImage():') |
227 print >> sys.stderr, output | 227 print >> sys.stderr, output |
228 sys.stderr.flush() | 228 sys.stderr.flush() |
229 percent_passed = self._ParseGenerateTestReportOutput(output) | 229 percent_passed = self._ParseGenerateTestReportOutput(output) |
230 cros_lib.Info('Percent passed: %d vs. Percent required: %d' % ( | 230 cros_lib.Info('Percent passed: %d vs. Percent required: %d' % ( |
231 percent_passed, percent_required_to_pass)) | 231 percent_passed, percent_required_to_pass)) |
232 unittest.assertTrue(percent_passed >= percent_required_to_pass) | 232 unittest.assertTrue(percent_passed >= percent_required_to_pass) |
233 return percent_passed | 233 return percent_passed |
234 | 234 |
235 def InitializeResultsDirectory(self): | 235 def Initialize(self, port): |
236 """Called by a test to initialize a results directory for this worker.""" | 236 """Initializes test specific variables for each test. |
237 # Use the name of the test. | 237 |
| 238 Each test needs to specify a unique ssh port. |
| 239 |
| 240 Args: |
| 241 port: Unique port for ssh access. |
| 242 """ |
| 243 # Initialize port vars. |
| 244 self._ssh_port = port |
| 245 self._kvm_pid_file = '/tmp/kvm.%d' % port |
| 246 |
| 247 # Initialize test results directory. |
238 test_name = inspect.stack()[1][3] | 248 test_name = inspect.stack()[1][3] |
239 self.results_directory = os.path.join(self.test_results_root, test_name) | 249 self.results_directory = os.path.join(self.test_results_root, test_name) |
240 self.results_count = 0 | 250 self.results_count = 0 |
241 | 251 |
242 def GetNextResultsPath(self, label): | 252 def GetNextResultsPath(self, label): |
243 """Returns a path for the results directory for this label. | 253 """Returns a path for the results directory for this label. |
244 | 254 |
245 Prefixes directory returned for worker with time called i.e. 1_label, | 255 Prefixes directory returned for worker with time called i.e. 1_label, |
246 2_label, etc. The directory returned is outside the chroot so if passing | 256 2_label, etc. The directory returned is outside the chroot so if passing |
247 to an script that is called with enther_chroot, make sure to use | 257 to an script that is called with enther_chroot, make sure to use |
(...skipping 15 matching lines...) Expand all Loading... |
263 lines = output.split('\n') | 273 lines = output.split('\n') |
264 | 274 |
265 for line in lines: | 275 for line in lines: |
266 if line.startswith("Total PASS:"): | 276 if line.startswith("Total PASS:"): |
267 # FORMAT: ^TOTAL PASS: num_passed/num_total (percent%)$ | 277 # FORMAT: ^TOTAL PASS: num_passed/num_total (percent%)$ |
268 percent_passed = line.split()[3].strip('()%') | 278 percent_passed = line.split()[3].strip('()%') |
269 cros_lib.Info('Percent of tests passed %s' % percent_passed) | 279 cros_lib.Info('Percent of tests passed %s' % percent_passed) |
270 break | 280 break |
271 | 281 |
272 return int(percent_passed) | 282 return int(percent_passed) |
OLD | NEW |