| Index: build/android/pylib/device/decorators.py
|
| diff --git a/build/android/pylib/device/decorators.py b/build/android/pylib/device/decorators.py
|
| index 29e46ff18b9fadc2e96a398c9e7c0a3e108678fe..09803dd253526072a0cac1919fdefa25dbe3fb5a 100644
|
| --- a/build/android/pylib/device/decorators.py
|
| +++ b/build/android/pylib/device/decorators.py
|
| @@ -7,11 +7,20 @@ Function/method decorators that provide timeout and retry logic.
|
| """
|
|
|
| import functools
|
| +import os
|
| +import sys
|
|
|
| +from pylib import constants
|
| from pylib.device import device_errors
|
| from pylib.utils import reraiser_thread
|
| from pylib.utils import timeout_retry
|
|
|
| +# TODO(jbudorick) Remove once the DeviceUtils implementations are no longer
|
| +# backed by AndroidCommands / android_testrunner.
|
| +sys.path.append(os.path.join(constants.DIR_SOURCE_ROOT, 'third_party',
|
| + 'android_testrunner'))
|
| +import errors as old_errors
|
| +
|
|
|
| def _TimeoutRetryWrapper(f, timeout_func, retries_func):
|
| @functools.wraps(f)
|
| @@ -22,6 +31,10 @@ def _TimeoutRetryWrapper(f, timeout_func, retries_func):
|
| return f(*args, **kwargs)
|
| try:
|
| return timeout_retry.Run(impl, timeout, retries)
|
| + except old_errors.WaitForResponseTimedOutError as e:
|
| + raise device_errors.CommandTimeoutError(str(e))
|
| + except old_errors.DeviceUnresponsiveError as e:
|
| + raise device_errors.DeviceUnreachableError(str(e))
|
| except reraiser_thread.TimeoutError as e:
|
| raise device_errors.CommandTimeoutError(str(e))
|
| return TimeoutRetryWrapper
|
|
|