Chromium Code Reviews| Index: build/android/pylib/device/decorators.py |
| diff --git a/build/android/pylib/device/decorators.py b/build/android/pylib/device/decorators.py |
| index 09803dd253526072a0cac1919fdefa25dbe3fb5a..3cf174211a281088abdd21ae134ec0a845fb6d98 100644 |
| --- a/build/android/pylib/device/decorators.py |
| +++ b/build/android/pylib/device/decorators.py |
| @@ -22,11 +22,14 @@ sys.path.append(os.path.join(constants.DIR_SOURCE_ROOT, 'third_party', |
| import errors as old_errors |
| -def _TimeoutRetryWrapper(f, timeout_func, retries_func): |
| +def _TimeoutRetryWrapper(f, timeout_func, retries_func, pass_values=False): |
|
craigdh
2014/05/21 22:25:00
docstring with description of parameters
jbudorick
2014/05/22 04:49:58
Done.
|
| @functools.wraps(f) |
| def TimeoutRetryWrapper(*args, **kwargs): |
| timeout = timeout_func(*args, **kwargs) |
| retries = retries_func(*args, **kwargs) |
| + if pass_values: |
| + kwargs['timeout'] = timeout |
| + kwargs['retries'] = retries |
| def impl(): |
| return f(*args, **kwargs) |
| try: |
| @@ -65,7 +68,7 @@ def WithTimeoutAndRetriesDefaults(default_timeout, default_retries): |
| def decorator(f): |
| get_timeout = lambda *a, **kw: kw.get('timeout', default_timeout) |
| get_retries = lambda *a, **kw: kw.get('retries', default_retries) |
| - return _TimeoutRetryWrapper(f, get_timeout, get_retries) |
| + return _TimeoutRetryWrapper(f, get_timeout, get_retries, pass_values=True) |
| return decorator |
| @@ -79,6 +82,6 @@ def WithTimeoutAndRetriesFromInstance( |
| return kwargs.get('timeout', getattr(inst, default_timeout_name)) |
| def get_retries(inst, *_args, **kwargs): |
| return kwargs.get('retries', getattr(inst, default_retries_name)) |
| - return _TimeoutRetryWrapper(f, get_timeout, get_retries) |
| + return _TimeoutRetryWrapper(f, get_timeout, get_retries, pass_values=True) |
| return decorator |