Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(178)

Unified Diff: tools/telemetry/telemetry/core/platform/android_device_unittest.py

Issue 776883004: Basic android app implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More review comments. Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/core/platform/android_device_unittest.py
diff --git a/tools/telemetry/telemetry/core/platform/android_device_unittest.py b/tools/telemetry/telemetry/core/platform/android_device_unittest.py
index 5bba83d2a207b6d9e6db5a8a699862e8812de3a0..ed7707a9a93d2eb459c06d85459c2db5718ad3cc 100644
--- a/tools/telemetry/telemetry/core/platform/android_device_unittest.py
+++ b/tools/telemetry/telemetry/core/platform/android_device_unittest.py
@@ -4,7 +4,10 @@
import unittest
+from telemetry import benchmark
+from telemetry.core import browser_options
from telemetry.core.platform import android_device
+from telemetry.core.platform import android_platform_backend
from telemetry.unittest_util import system_stub
@@ -24,3 +27,73 @@ class AndroidDeviceTest(unittest.TestCase):
def tearDown(self):
self._android_device_stub.Restore()
+
+
+class GetDeviceTest(unittest.TestCase):
+ def setUp(self):
+ self._android_device_stub = system_stub.Override(
+ android_device, ['adb_commands', 'os', 'subprocess', 'logging'])
+ self._apb_stub = system_stub.Override(
+ android_platform_backend, ['adb_commands'])
+
+ def tearDown(self):
+ self._android_device_stub.Restore()
+ self._apb_stub.Restore()
+
+ def testNoAdbReturnsNone(self):
+ finder_options = browser_options.BrowserFinderOptions()
+
+ def NoAdb(*_, **__):
+ raise OSError('not found')
+ self._android_device_stub.subprocess.Popen = NoAdb
+
+ self.assertEquals([], self._android_device_stub.logging.warnings)
+ self.assertIsNone(android_device.GetDevice(finder_options))
+
+ def testAdbNoDevicesReturnsNone(self):
+ finder_options = browser_options.BrowserFinderOptions()
+ self.assertEquals([], self._android_device_stub.logging.warnings)
+ self.assertIsNone(android_device.GetDevice(finder_options))
+
+ def testAdbPermissionsErrorReturnsNone(self):
+ finder_options = browser_options.BrowserFinderOptions()
+ self._android_device_stub.subprocess.Popen.communicate_result = (
+ 'List of devices attached\n????????????\tno permissions\n',
+ '* daemon not running. starting it now on port 5037 *\n'
+ '* daemon started successfully *\n')
+ device = android_device.GetDevice(finder_options)
+ self.assertEquals([
+ 'adb devices gave a permissions error. Consider running adb as root:',
+ ' adb kill-server',
+ ' sudo `which adb` devices\n\n'],
+ self._android_device_stub.logging.warnings)
+ self.assertIsNone(device)
+
+ def testAdbTwoDevicesReturnsNone(self):
+ finder_options = browser_options.BrowserFinderOptions()
+ self._android_device_stub.adb_commands.attached_devices = [
+ '015d14fec128220c', '015d14fec128220d']
+ device = android_device.GetDevice(finder_options)
+ self.assertEquals([
+ 'Multiple devices attached. Please specify one of the following:\n'
+ ' --device=015d14fec128220c\n'
+ ' --device=015d14fec128220d'],
+ self._android_device_stub.logging.warnings)
+ self.assertIsNone(device)
+
+ def testAdbPickOneDeviceReturnsDeviceInstance(self):
+ finder_options = browser_options.BrowserFinderOptions()
+ finder_options.android_device = '555d14fecddddddd' # pick one
+ self._android_device_stub.adb_commands.attached_devices = [
+ '015d14fec128220c', '555d14fecddddddd']
+ device = android_device.GetDevice(finder_options)
+ self.assertEquals([], self._android_device_stub.logging.warnings)
+ self.assertEquals('555d14fecddddddd', device.device_id)
+
+ def testAdbOneDeviceReturnsDeviceInstance(self):
+ finder_options = browser_options.BrowserFinderOptions()
+ self._android_device_stub.adb_commands.attached_devices = (
+ ['015d14fec128220c'])
+ device = android_device.GetDevice(finder_options)
+ self.assertEquals([], self._android_device_stub.logging.warnings)
+ self.assertEquals('015d14fec128220c', device.device_id)

Powered by Google App Engine
This is Rietveld 408576698