summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorperezju <perezju@chromium.org>2014-12-10 02:20:21 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-10 10:20:50 +0000
commit95ecc9d834a87672c3aca2e10671d021291621d2 (patch)
tree7e1d84ff154a9eac599ff9d3f9b1739351cda634 /build
parent932d110a37d97e5626199435f5f0b087fcd18dfe (diff)
downloadchromium_src-95ecc9d834a87672c3aca2e10671d021291621d2.zip
chromium_src-95ecc9d834a87672c3aca2e10671d021291621d2.tar.gz
chromium_src-95ecc9d834a87672c3aca2e10671d021291621d2.tar.bz2
Migrate DeviceUtils.parallel to adb_wrapper
The implementation uses AdbWrapper.GetDevices to get the list of attached devices when needed. BUG=267773 Review URL: https://codereview.chromium.org/784103005 Cr-Commit-Position: refs/heads/master@{#307670}
Diffstat (limited to 'build')
-rw-r--r--build/android/pylib/device/device_utils.py18
-rwxr-xr-xbuild/android/pylib/device/device_utils_test.py28
2 files changed, 33 insertions, 13 deletions
diff --git a/build/android/pylib/device/device_utils.py b/build/android/pylib/device/device_utils.py
index 553e960..743b1ce 100644
--- a/build/android/pylib/device/device_utils.py
+++ b/build/android/pylib/device/device_utils.py
@@ -1173,8 +1173,8 @@ class DeviceUtils(object):
"""Returns the device serial."""
return self.adb.GetDeviceSerial()
- @staticmethod
- def parallel(devices=None, async=False):
+ @classmethod
+ def parallel(cls, devices=None, async=False):
"""Creates a Parallelizer to operate over the provided list of devices.
If |devices| is either |None| or an empty list, the Parallelizer will
@@ -1190,10 +1190,10 @@ class DeviceUtils(object):
Returns:
A Parallelizer operating over |devices|.
"""
- if not devices or len(devices) == 0:
- devices = pylib.android_commands.GetAttachedDevices()
- parallelizer_type = (parallelizer.Parallelizer if async
- else parallelizer.SyncParallelizer)
- return parallelizer_type([
- d if isinstance(d, DeviceUtils) else DeviceUtils(d)
- for d in devices])
+ if not devices:
+ devices = adb_wrapper.AdbWrapper.GetDevices()
+ devices = [d if isinstance(d, cls) else cls(d) for d in devices]
+ if async:
+ return parallelizer.Parallelizer(devices)
+ else:
+ return parallelizer.SyncParallelizer(devices)
diff --git a/build/android/pylib/device/device_utils_test.py b/build/android/pylib/device/device_utils_test.py
index c451ef3..e396d6e 100755
--- a/build/android/pylib/device/device_utils_test.py
+++ b/build/android/pylib/device/device_utils_test.py
@@ -254,13 +254,18 @@ class DeviceUtilsOldImplTest(unittest.TestCase):
def tearDown(self):
self._get_adb_path_patch.stop()
+
+def _AdbWrapperMock(test_serial):
+ adb = mock.Mock(spec=adb_wrapper.AdbWrapper)
+ adb.__str__ = mock.Mock(return_value=test_serial)
+ adb.GetDeviceSerial.return_value = test_serial
+ return adb
+
+
class DeviceUtilsNewImplTest(mock_calls.TestCase):
def setUp(self):
- test_serial = '0123456789abcdef'
- self.adb = mock.Mock(spec=adb_wrapper.AdbWrapper)
- self.adb.__str__ = mock.Mock(return_value=test_serial)
- self.adb.GetDeviceSerial.return_value = test_serial
+ self.adb = _AdbWrapperMock('0123456789abcdef')
self.device = device_utils.DeviceUtils(
self.adb, default_timeout=10, default_retries=0)
self.watchMethodCalls(self.call.adb, ignore=['GetDeviceSerial'])
@@ -1518,6 +1523,21 @@ class DeviceUtilsStrTest(DeviceUtilsNewImplTest):
self.assertEqual('0123456789abcdef', str(self.device))
+class DeviceUtilsParallelTest(mock_calls.TestCase):
+
+ def testParallel_default(self):
+ test_serials = ['0123456789abcdef', 'fedcba9876543210']
+ with self.assertCall(
+ mock.call.pylib.device.adb_wrapper.AdbWrapper.GetDevices(),
+ [_AdbWrapperMock(serial) for serial in test_serials]):
+ parallel_devices = device_utils.DeviceUtils.parallel()
+ for serial, device in zip(test_serials, parallel_devices.pGet(None)):
+ self.assertTrue(
+ isinstance(device, device_utils.DeviceUtils)
+ and serial == str(device),
+ 'Expected a DeviceUtils object with serial %s' % serial)
+
+
if __name__ == '__main__':
logging.getLogger().setLevel(logging.DEBUG)
unittest.main(verbosity=2)