From 45881b9f0d27be40d9f69bfba64aa07621fcea36 Mon Sep 17 00:00:00 2001 From: Marc Bonnici Date: Tue, 12 May 2020 10:04:14 +0100 Subject: [PATCH] utils/android: Expose `connection_attempts` argument to `AdbConnection` Allow for configuring the number of connection attempts that will be made to the device before failing to connect. This allows for waiting longer periods of time for the device to come online. --- devlib/utils/android.py | 4 ++-- doc/connection.rst | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/devlib/utils/android.py b/devlib/utils/android.py index bee4ed1..2ed49d9 100755 --- a/devlib/utils/android.py +++ b/devlib/utils/android.py @@ -264,7 +264,7 @@ class AdbConnection(ConnectionBase): # pylint: disable=unused-argument def __init__(self, device=None, timeout=None, platform=None, adb_server=None, - adb_as_root=False): + adb_as_root=False, connection_attempts=MAX_ATTEMPTS): super().__init__() self.timeout = timeout if timeout is not None else self.default_timeout if device is None: @@ -274,7 +274,7 @@ class AdbConnection(ConnectionBase): self.adb_as_root = adb_as_root if self.adb_as_root: self.adb_root(enable=True) - adb_connect(self.device, adb_server=self.adb_server) + adb_connect(self.device, adb_server=self.adb_server, attempts=connection_attempts) AdbConnection.active_connections[self.device] += 1 self._setup_ls() self._setup_su() diff --git a/doc/connection.rst b/doc/connection.rst index a43161d..9cec2a9 100644 --- a/doc/connection.rst +++ b/doc/connection.rst @@ -104,7 +104,7 @@ Connection Types .. module:: devlib.utils.android -.. class:: AdbConnection(device=None, timeout=None, adb_server=None, adb_as_root=False) +.. class:: AdbConnection(device=None, timeout=None, adb_server=None, adb_as_root=False, connection_attempts=MAX_ATTEMPTS) A connection to an android device via ``adb`` (Android Debug Bridge). ``adb`` is part of the Android SDK (though stand-alone versions are also @@ -119,6 +119,9 @@ Connection Types is raised. :param adb_server: Allows specifying the address of the adb server to use. :param adb_as_root: Specify whether the adb server should be restarted in root mode. + :param connection_attempts: Specify how many connection attempts, 10 seconds + apart, should be attempted to connect to the device. + Defaults to 5. .. module:: devlib.utils.ssh