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

Unified Diff: tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py

Issue 541693004: Move remote platform creation logic from cros_browser_finders to platform. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address achuith's comments Created 6 years, 3 months 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/cros_browser_finder.py
diff --git a/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py b/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py
index 9f57240fb1fdea5b8956265c82f82e6bc98ab782..5cbdd529dd4683e076e5e337931416aee8f7c01e 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/cros_browser_finder.py
@@ -9,43 +9,43 @@ import logging
from telemetry.core import platform as platform_module
from telemetry.core import browser
from telemetry.core import possible_browser
+from telemetry.core.platform import cros_device
+from telemetry.core.platform import cros_interface
from telemetry.core.backends.chrome import cros_browser_backend
from telemetry.core.backends.chrome import cros_browser_with_oobe
-from telemetry.core.backends.chrome import cros_interface
-from telemetry.core.platform import cros_platform_backend
+
+
+def _IsRunningOnCrOS():
+ return platform_module.GetHostPlatform().GetOSName() == 'chromeos'
class PossibleCrOSBrowser(possible_browser.PossibleBrowser):
"""A launchable CrOS browser instance."""
- def __init__(self, browser_type, finder_options, cri, is_guest):
+ def __init__(self, browser_type, finder_options, cros_platform, is_guest):
super(PossibleCrOSBrowser, self).__init__(browser_type, 'cros',
finder_options, True)
assert browser_type in FindAllBrowserTypes(finder_options), \
('Please add %s to cros_browser_finder.FindAllBrowserTypes()' %
browser_type)
- self._cri = cri
+ self._platform = cros_platform
+ self._platform_backend = (
+ cros_platform._platform_backend) # pylint: disable=W0212
self._is_guest = is_guest
def __repr__(self):
return 'PossibleCrOSBrowser(browser_type=%s)' % self.browser_type
def _InitPlatformIfNeeded(self):
- if self._platform:
- return
- self._platform_backend = cros_platform_backend.CrosPlatformBackend(
- self._cri)
- self._platform = platform_module.Platform(self._platform_backend)
+ pass
def Create(self):
if self.finder_options.output_profile_path:
raise NotImplementedError(
'Profile generation is not yet supported on CrOS.')
- self._InitPlatformIfNeeded()
-
browser_options = self.finder_options.browser_options
backend = cros_browser_backend.CrOSBrowserBackend(
- browser_options, self._cri, self._is_guest,
+ browser_options, self._platform_backend.cri, self._is_guest,
extensions_to_load=self.finder_options.extensions_to_load)
if browser_options.create_browser_with_oobe:
return cros_browser_with_oobe.CrOSBrowserWithOOBE(
@@ -61,14 +61,14 @@ class PossibleCrOSBrowser(possible_browser.PossibleBrowser):
pass
def SelectDefaultBrowser(possible_browsers):
- if cros_interface.IsRunningOnCrosDevice():
+ if _IsRunningOnCrOS():
for b in possible_browsers:
if b.browser_type == 'system':
return b
return None
def CanFindAvailableBrowsers(finder_options):
- return (cros_interface.IsRunningOnCrosDevice() or
+ return (_IsRunningOnCrOS() or
finder_options.cros_remote or
cros_interface.HasSSH())
@@ -82,12 +82,12 @@ def FindAllBrowserTypes(_):
def FindAllAvailableBrowsers(finder_options):
"""Finds all available CrOS browsers, locally and remotely."""
- if cros_interface.IsRunningOnCrosDevice():
+ if _IsRunningOnCrOS():
return [PossibleCrOSBrowser('system', finder_options,
- cros_interface.CrOSInterface(),
+ platform_module.GetHostPlatform(),
is_guest=False),
PossibleCrOSBrowser('system-guest', finder_options,
- cros_interface.CrOSInterface(),
+ platform_module.GetHostPlatform(),
is_guest=True)]
if finder_options.cros_remote == None:
@@ -97,12 +97,11 @@ def FindAllAvailableBrowsers(finder_options):
if not cros_interface.HasSSH():
logging.debug('ssh not found. Cannot talk to CrOS devices.')
return []
- cri = cros_interface.CrOSInterface(finder_options.cros_remote,
- finder_options.cros_ssh_identity)
-
+ device = cros_device.CrOSDevice(
+ finder_options.cros_remote, finder_options.cros_ssh_identity)
# Check ssh
try:
- cri.TryLogin()
+ platform = platform_module.GetPlatformForDevice(device)
except cros_interface.LoginException, ex:
if isinstance(ex, cros_interface.KeylessLoginRequiredException):
logging.warn('Could not ssh into %s. Your device must be configured',
@@ -124,14 +123,10 @@ def FindAllAvailableBrowsers(finder_options):
logging.warn('There, that was easy!')
logging.warn('')
logging.warn('P.S. Please, tell your manager how INANE this is.')
-
from telemetry.core import browser_finder
raise browser_finder.BrowserFinderException(str(ex))
- if not cri.FileExistsOnDevice('/opt/google/chrome/chrome'):
- logging.warn('Could not find a chrome on ' % cri.hostname)
-
- return [PossibleCrOSBrowser('cros-chrome', finder_options, cri,
+ return [PossibleCrOSBrowser('cros-chrome', finder_options, platform,
is_guest=False),
- PossibleCrOSBrowser('cros-chrome-guest', finder_options, cri,
+ PossibleCrOSBrowser('cros-chrome-guest', finder_options, platform,
is_guest=True)]

Powered by Google App Engine
This is Rietveld 408576698