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

Unified Diff: tools/telemetry/telemetry/core/backends/chrome/android_browser_finder_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/backends/chrome/android_browser_finder_unittest.py
diff --git a/tools/telemetry/telemetry/core/backends/chrome/android_browser_finder_unittest.py b/tools/telemetry/telemetry/core/backends/chrome/android_browser_finder_unittest.py
index 39d71201a0aaa0902e9739ccbc39372de4186b81..98b84da2124815dab7a037d0ea5a18dd61728f50 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/android_browser_finder_unittest.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/android_browser_finder_unittest.py
@@ -4,92 +4,38 @@
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_util import system_stub
+
+
+class FakeAndroidPlatform():
+ def __init__(self, can_launch):
+ self._platform_backend = None
+ self._unittest_can_launch = can_launch
+
+ def CanLaunchApplication(self, _):
+ return self._unittest_can_launch
class AndroidBrowserFinderTest(unittest.TestCase):
def setUp(self):
- self._stubs = system_stub.Override(android_browser_finder,
- ['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'])
- self._actual_ps_util = android_browser_finder.psutil
- android_browser_finder.psutil = None
-
- def tearDown(self):
- self._stubs.Restore()
- self._android_device_stub.Restore()
- self._apb_stub.Restore()
- android_browser_finder.psutil = self._actual_ps_util
-
- def test_no_adb(self):
- finder_options = browser_options.BrowserFinderOptions()
-
- def NoAdb(*args, **kargs): # pylint: disable=W0613
- raise OSError('not found')
- self._stubs.subprocess.Popen = NoAdb
- 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.assertEquals(0, len(browsers))
-
- def test_adb_permissions_error(self):
- finder_options = browser_options.BrowserFinderOptions()
-
- self._stubs.subprocess.Popen.communicate_result = (
- """List of devices attached
-????????????\tno permissions""",
- """* daemon not running. starting it now on port 5037 *
-* daemon started successfully *
-""")
- 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._android_device_stub.adb_commands.attached_devices = [
- '015d14fec128220c', '015d14fec128220d']
-
- 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._android_device_stub.adb_commands.attached_devices = (
- ['015d14fec128220c'])
-
- def OnPM(args):
- assert args[0] == 'pm'
- assert args[1] == 'list'
- assert args[2] == 'packages'
- return ['package:org.chromium.content_shell_apk',
- 'package.com.google.android.setupwizard']
-
- 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.assertEquals(1, len(browsers))
+ self.finder_options = browser_options.BrowserFinderOptions()
+
+ def testNoPlatformReturnsEmptyList(self):
+ fake_platform = None
+ possible_browsers = android_browser_finder._FindAllPossibleBrowsers(
+ self.finder_options, fake_platform)
+ self.assertEqual([], possible_browsers)
+
+ def testCanLaunchAlwaysTrueReturnsAll(self):
+ fake_platform = FakeAndroidPlatform(can_launch=True)
+ expected_types = set(
+ android_browser_finder.FindAllBrowserTypes(self.finder_options))
+ possible_browsers = android_browser_finder._FindAllPossibleBrowsers(
+ self.finder_options, fake_platform)
+ self.assertEqual(
+ expected_types,
+ set([b.browser_type for b in possible_browsers]))
class FakePossibleBrowser(object):
@@ -119,4 +65,3 @@ class SelectDefaultBrowserTest(unittest.TestCase):
self.assertIs(
possible_browsers[1],
android_browser_finder.SelectDefaultBrowser(possible_browsers))
-

Powered by Google App Engine
This is Rietveld 408576698