Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / core / backends / chrome / android_browser_finder_unittest.py
index de9e72a..926ad1f 100644 (file)
@@ -6,45 +6,40 @@ 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.core.backends.chrome import android_browser_finder
 from telemetry.unittest import system_stub
 
 
-class LoggingStub(object):
-  def __init__(self):
-    self.warnings = []
-
-  def info(self, msg, *args):
-    pass
-
-  def warn(self, msg, *args):
-    self.warnings.append(msg % args)
-
-
 class AndroidBrowserFinderTest(unittest.TestCase):
   def setUp(self):
     self._stubs = system_stub.Override(android_browser_finder,
-                                       ['adb_commands', 'os', 'subprocess'])
-    self._log_stub = LoggingStub()
+                                       ['adb_commands', 'os', 'subprocess',
+                                        'logging'])
+    self._android_device_stub = system_stub.Override(
+        android_device, ['adb_commands'])
+    self._apb_stub = system_stub.Override(
+        android_platform_backend, ['adb_commands'])
 
   def tearDown(self):
     self._stubs.Restore()
+    self._android_device_stub.Restore()
+    self._apb_stub.Restore()
 
   def test_no_adb(self):
     finder_options = browser_options.BrowserFinderOptions()
 
-    def NoAdb(*args, **kargs): # pylint: disable=W0613
+    def NoAdb(*args, **kargs):  # pylint: disable=W0613
       raise OSError('not found')
     self._stubs.subprocess.Popen = NoAdb
-    browsers = android_browser_finder.FindAllAvailableBrowsers(
-        finder_options, self._log_stub)
+    browsers = android_browser_finder.FindAllAvailableBrowsers(finder_options)
     self.assertEquals(0, len(browsers))
 
   def test_adb_no_devices(self):
     finder_options = browser_options.BrowserFinderOptions()
 
-    browsers = android_browser_finder.FindAllAvailableBrowsers(
-        finder_options, self._log_stub)
+    browsers = android_browser_finder.FindAllAvailableBrowsers(finder_options)
     self.assertEquals(0, len(browsers))
 
   def test_adb_permissions_error(self):
@@ -56,28 +51,26 @@ class AndroidBrowserFinderTest(unittest.TestCase):
         """* daemon not running. starting it now on port 5037 *
 * daemon started successfully *
 """)
-
-    browsers = android_browser_finder.FindAllAvailableBrowsers(
-        finder_options, self._log_stub)
-    self.assertEquals(3, len(self._log_stub.warnings))
+    browsers = android_browser_finder.FindAllAvailableBrowsers(finder_options)
+    self.assertEquals(3, len(self._stubs.logging.warnings))
     self.assertEquals(0, len(browsers))
 
   def test_adb_two_devices(self):
     finder_options = browser_options.BrowserFinderOptions()
 
-    self._stubs.adb_commands.attached_devices = ['015d14fec128220c',
-                                                 '015d14fec128220d']
+    self._android_device_stub.adb_commands.attached_devices = [
+        '015d14fec128220c', '015d14fec128220d']
 
-    browsers = android_browser_finder.FindAllAvailableBrowsers(
-        finder_options, self._log_stub)
-    self.assertEquals(1, len(self._log_stub.warnings))
+    browsers = android_browser_finder.FindAllAvailableBrowsers(finder_options)
+    self.assertEquals(1, len(self._stubs.logging.warnings))
     self.assertEquals(0, len(browsers))
 
   @benchmark.Disabled('chromeos')
   def test_adb_one_device(self):
     finder_options = browser_options.BrowserFinderOptions()
 
-    self._stubs.adb_commands.attached_devices = ['015d14fec128220c']
+    self._android_device_stub.adb_commands.attached_devices = (
+        ['015d14fec128220c'])
 
     def OnPM(args):
       assert args[0] == 'pm'
@@ -86,8 +79,11 @@ class AndroidBrowserFinderTest(unittest.TestCase):
       return ['package:org.chromium.content_shell_apk',
               'package.com.google.android.setupwizard']
 
-    self._stubs.adb_commands.shell_command_handlers['pm'] = OnPM
+    def OnLs(_):
+      return ['/sys/devices/system/cpu/cpu0']
+
+    self._apb_stub.adb_commands.adb_device.shell_command_handlers['pm'] = OnPM
+    self._apb_stub.adb_commands.adb_device.shell_command_handlers['ls'] = OnLs
 
-    browsers = android_browser_finder.FindAllAvailableBrowsers(
-        finder_options, self._log_stub)
+    browsers = android_browser_finder.FindAllAvailableBrowsers(finder_options)
     self.assertEquals(1, len(browsers))