| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 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 import logging | 5 import logging |
| 6 import os |
| 6 import re | 7 import re |
| 7 import time | 8 import time |
| 8 | 9 |
| 9 from devil.android import device_errors | 10 from devil.android import device_errors |
| 10 from devil.android import flag_changer | 11 from devil.android import flag_changer |
| 11 from devil.utils import reraiser_thread | 12 from devil.utils import reraiser_thread |
| 12 from pylib import valgrind_tools | 13 from pylib import valgrind_tools |
| 13 from pylib.base import base_test_result | 14 from pylib.base import base_test_result |
| 14 from pylib.local.device import local_device_test_run | 15 from pylib.local.device import local_device_test_run |
| 15 | 16 |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 if r.GetName() == test_name: | 257 if r.GetName() == test_name: |
| 257 r.SetName(test_display_name) | 258 r.SetName(test_display_name) |
| 258 if DidPackageCrashOnDevice(self._test_instance.test_package, device): | 259 if DidPackageCrashOnDevice(self._test_instance.test_package, device): |
| 259 for r in results: | 260 for r in results: |
| 260 if r.GetType() == base_test_result.ResultType.UNKNOWN: | 261 if r.GetType() == base_test_result.ResultType.UNKNOWN: |
| 261 r.SetType(base_test_result.ResultType.CRASH) | 262 r.SetType(base_test_result.ResultType.CRASH) |
| 262 | 263 |
| 263 if any(r.GetType() not in (base_test_result.ResultType.PASS, | 264 if any(r.GetType() not in (base_test_result.ResultType.PASS, |
| 264 base_test_result.ResultType.SKIP) | 265 base_test_result.ResultType.SKIP) |
| 265 for r in results): | 266 for r in results): |
| 267 if self._test_instance.screenshot_dir: |
| 268 file_name = '%s-%s.png' % ( |
| 269 test_display_name, |
| 270 time.strftime('%Y%m%dT%H%M%S', time.localtime())) |
| 271 saved_dir = device.TakeScreenshot( |
| 272 os.path.join(self._test_instance.screenshot_dir, file_name)) |
| 273 logging.info( |
| 274 'Saved screenshot for %s to %s.', |
| 275 test_display_name, saved_dir) |
| 266 logging.info('detected failure in %s. raw output:', test_display_name) | 276 logging.info('detected failure in %s. raw output:', test_display_name) |
| 267 for l in output: | 277 for l in output: |
| 268 logging.info(' %s', l) | 278 logging.info(' %s', l) |
| 269 if (not self._env.skip_clear_data | 279 if (not self._env.skip_clear_data |
| 270 and self._test_instance.package_info): | 280 and self._test_instance.package_info): |
| 271 permissions = ( | 281 permissions = ( |
| 272 self._test_instance.apk_under_test.GetPermissions() | 282 self._test_instance.apk_under_test.GetPermissions() |
| 273 if self._test_instance.apk_under_test | 283 if self._test_instance.apk_under_test |
| 274 else None) | 284 else None) |
| 275 device.ClearApplicationState(self._test_instance.package_info.package, | 285 device.ClearApplicationState(self._test_instance.package_info.package, |
| (...skipping 25 matching lines...) Expand all Loading... |
| 301 timeout = v | 311 timeout = v |
| 302 break | 312 break |
| 303 else: | 313 else: |
| 304 logging.warning('Using default 1 minute timeout for %s', test_name) | 314 logging.warning('Using default 1 minute timeout for %s', test_name) |
| 305 timeout = 60 | 315 timeout = 60 |
| 306 | 316 |
| 307 timeout *= cls._GetTimeoutScaleFromAnnotations(annotations) | 317 timeout *= cls._GetTimeoutScaleFromAnnotations(annotations) |
| 308 | 318 |
| 309 return timeout | 319 return timeout |
| 310 | 320 |
| OLD | NEW |