diff options
author | jbudorick <jbudorick@chromium.org> | 2015-12-14 13:35:46 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-14 21:36:40 +0000 |
commit | d2faab80fa1d4e178254e4e3e3366423acc6ba15 (patch) | |
tree | 86ca457f7462d14ecf5866709288c2f76d4c2729 | |
parent | 1eb49fb9a056c509efb809f4547c4a1c072b48d9 (diff) | |
download | chromium_src-d2faab80fa1d4e178254e4e3e3366423acc6ba15.zip chromium_src-d2faab80fa1d4e178254e4e3e3366423acc6ba15.tar.gz chromium_src-d2faab80fa1d4e178254e4e3e3366423acc6ba15.tar.bz2 |
[telemetry] Catch NoAdbError when killing the adb server.
BUG=567797,568151
Review URL: https://codereview.chromium.org/1526633003
Cr-Commit-Position: refs/heads/master@{#365102}
-rw-r--r-- | build/android/devil/android/device_errors.py | 4 | ||||
-rw-r--r-- | build/android/devil/android/sdk/adb_wrapper.py | 2 | ||||
-rw-r--r-- | tools/telemetry/telemetry/internal/platform/android_device.py | 12 |
3 files changed, 13 insertions, 5 deletions
diff --git a/build/android/devil/android/device_errors.py b/build/android/devil/android/device_errors.py index 2fe5a80..ea14bf9 100644 --- a/build/android/devil/android/device_errors.py +++ b/build/android/devil/android/device_errors.py @@ -112,6 +112,6 @@ class NoDevicesError(base_error.BaseError): class NoAdbError(base_error.BaseError): """Exception for being unable to find ADB.""" - def __init__(self): + def __init__(self, msg=None): super(NoAdbError, self).__init__( - 'Unable to find adb.', is_infra_error=True) + msg or 'Unable to find adb.', is_infra_error=True) diff --git a/build/android/devil/android/sdk/adb_wrapper.py b/build/android/devil/android/sdk/adb_wrapper.py index 38db0e1..17288c2 100644 --- a/build/android/devil/android/sdk/adb_wrapper.py +++ b/build/android/devil/android/sdk/adb_wrapper.py @@ -115,7 +115,7 @@ class AdbWrapper(object): timeout_retry.CurrentTimeoutThreadGroup().GetRemainingTime()) except OSError as e: if e.errno in (errno.ENOENT, errno.ENOEXEC): - raise device_errors.NoAdbError() + raise device_errors.NoAdbError(msg=str(e)) else: raise diff --git a/tools/telemetry/telemetry/internal/platform/android_device.py b/tools/telemetry/telemetry/internal/platform/android_device.py index b3448b69..bcddb60 100644 --- a/tools/telemetry/telemetry/internal/platform/android_device.py +++ b/tools/telemetry/telemetry/internal/platform/android_device.py @@ -129,7 +129,11 @@ def GetDevice(finder_options): def _HasValidAdb(): - """Returns true if adb is present.""" + """Returns true if adb is present. + + Note that this currently will return True even if the adb that's present + cannot run on this system. + """ if os.name != 'posix' or cros_device.IsRunningOnCrOS(): return False @@ -186,6 +190,10 @@ def FindAllAvailableDevices(options): devices = AndroidDevice.GetAllConnectedDevices(blacklist) finally: if not devices and _HasValidAdb(): - adb_wrapper.AdbWrapper.KillServer() + try: + adb_wrapper.AdbWrapper.KillServer() + except device_errors.NoAdbError as e: + logging.warning( + 'adb reported as present, but NoAdbError thrown: %s', str(e)) return devices |