OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium 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 """Runs perf tests. | 5 """Runs perf tests. |
6 | 6 |
7 Our buildbot infrastructure requires each slave to run steps serially. | 7 Our buildbot infrastructure requires each slave to run steps serially. |
8 This is sub-optimal for android, where these steps can run independently on | 8 This is sub-optimal for android, where these steps can run independently on |
9 multiple connected devices. | 9 multiple connected devices. |
10 | 10 |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 if self._options.single_step: | 233 if self._options.single_step: |
234 # Just print a heart-beat so that the outer buildbot scripts won't timeout | 234 # Just print a heart-beat so that the outer buildbot scripts won't timeout |
235 # without response. | 235 # without response. |
236 logfile = _HeartBeatLogger() | 236 logfile = _HeartBeatLogger() |
237 cwd = os.path.abspath(constants.DIR_SOURCE_ROOT) | 237 cwd = os.path.abspath(constants.DIR_SOURCE_ROOT) |
238 if full_cmd.startswith('src/'): | 238 if full_cmd.startswith('src/'): |
239 cwd = os.path.abspath(os.path.join(constants.DIR_SOURCE_ROOT, os.pardir)) | 239 cwd = os.path.abspath(os.path.join(constants.DIR_SOURCE_ROOT, os.pardir)) |
240 try: | 240 try: |
241 exit_code, output = cmd_helper.GetCmdStatusAndOutputWithTimeout( | 241 exit_code, output = cmd_helper.GetCmdStatusAndOutputWithTimeout( |
242 full_cmd, timeout, cwd=cwd, shell=True, logfile=logfile) | 242 full_cmd, timeout, cwd=cwd, shell=True, logfile=logfile) |
| 243 except cmd_helper.TimeoutError as e: |
| 244 exit_code = -1 |
| 245 output = str(e) |
243 finally: | 246 finally: |
244 if self._options.single_step: | 247 if self._options.single_step: |
245 logfile.stop() | 248 logfile.stop() |
246 end_time = datetime.datetime.now() | 249 end_time = datetime.datetime.now() |
247 if exit_code is None: | 250 if exit_code is None: |
248 exit_code = -1 | 251 exit_code = -1 |
249 logging.info('%s : exit_code=%d in %d secs at %s', | 252 logging.info('%s : exit_code=%d in %d secs at %s', |
250 test_name, exit_code, (end_time - start_time).seconds, | 253 test_name, exit_code, (end_time - start_time).seconds, |
251 self.device_serial) | 254 self.device_serial) |
252 result_type = base_test_result.ResultType.FAIL | 255 result_type = base_test_result.ResultType.FAIL |
(...skipping 30 matching lines...) Expand all Loading... |
283 Returns: | 286 Returns: |
284 A tuple of (TestRunResults, retry). | 287 A tuple of (TestRunResults, retry). |
285 """ | 288 """ |
286 _, result_type = self._LaunchPerfTest(test_name) | 289 _, result_type = self._LaunchPerfTest(test_name) |
287 results = base_test_result.TestRunResults() | 290 results = base_test_result.TestRunResults() |
288 results.AddResult(base_test_result.BaseTestResult(test_name, result_type)) | 291 results.AddResult(base_test_result.BaseTestResult(test_name, result_type)) |
289 retry = None | 292 retry = None |
290 if not results.DidRunPass(): | 293 if not results.DidRunPass(): |
291 retry = test_name | 294 retry = test_name |
292 return results, retry | 295 return results, retry |
OLD | NEW |