| Index: tools/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
|
| diff --git a/tools/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py b/tools/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
|
| deleted file mode 100644
|
| index 1e241773b4ead6e57078d917ba385cb24efd719a..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
|
| +++ /dev/null
|
| @@ -1,136 +0,0 @@
|
| -# Copyright 2013 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -"""Finds CrOS browsers that can be controlled by telemetry."""
|
| -
|
| -import logging
|
| -
|
| -from telemetry.core import cros_interface
|
| -from telemetry.core import platform as platform_module
|
| -from telemetry.internal.backends.chrome import cros_browser_backend
|
| -from telemetry.internal.backends.chrome import cros_browser_with_oobe
|
| -from telemetry.internal.browser import browser
|
| -from telemetry.internal.browser import browser_finder_exceptions
|
| -from telemetry.internal.browser import possible_browser
|
| -from telemetry.internal.platform import cros_device
|
| -
|
| -
|
| -class PossibleCrOSBrowser(possible_browser.PossibleBrowser):
|
| - """A launchable CrOS browser instance."""
|
| - def __init__(self, browser_type, finder_options, cros_platform, is_guest):
|
| - super(PossibleCrOSBrowser, self).__init__(browser_type, 'cros', True)
|
| - assert browser_type in FindAllBrowserTypes(finder_options), (
|
| - 'Please add %s to cros_browser_finder.FindAllBrowserTypes()' %
|
| - browser_type)
|
| - self._platform = cros_platform
|
| - self._platform_backend = (
|
| - cros_platform._platform_backend) # pylint: disable=protected-access
|
| - self._is_guest = is_guest
|
| -
|
| - def __repr__(self):
|
| - return 'PossibleCrOSBrowser(browser_type=%s)' % self.browser_type
|
| -
|
| - def _InitPlatformIfNeeded(self):
|
| - pass
|
| -
|
| - def Create(self, finder_options):
|
| - if finder_options.output_profile_path:
|
| - raise NotImplementedError(
|
| - 'Profile generation is not yet supported on CrOS.')
|
| -
|
| - browser_options = finder_options.browser_options
|
| - browser_backend = cros_browser_backend.CrOSBrowserBackend(
|
| - self._platform_backend,
|
| - browser_options, self._platform_backend.cri, self._is_guest,
|
| - extensions_to_load=finder_options.extensions_to_load)
|
| - if browser_options.create_browser_with_oobe:
|
| - return cros_browser_with_oobe.CrOSBrowserWithOOBE(
|
| - browser_backend,
|
| - self._platform_backend,
|
| - self._credentials_path)
|
| - return browser.Browser(
|
| - browser_backend, self._platform_backend, self._credentials_path)
|
| -
|
| - def SupportsOptions(self, finder_options):
|
| - if (len(finder_options.extensions_to_load) != 0) and self._is_guest:
|
| - return False
|
| - return True
|
| -
|
| - def UpdateExecutableIfNeeded(self):
|
| - pass
|
| -
|
| -def SelectDefaultBrowser(possible_browsers):
|
| - if cros_device.IsRunningOnCrOS():
|
| - for b in possible_browsers:
|
| - if b.browser_type == 'system':
|
| - return b
|
| - return None
|
| -
|
| -def CanFindAvailableBrowsers(finder_options):
|
| - return (cros_device.IsRunningOnCrOS() or
|
| - finder_options.cros_remote or
|
| - cros_interface.HasSSH())
|
| -
|
| -def FindAllBrowserTypes(_):
|
| - return [
|
| - 'cros-chrome',
|
| - 'cros-chrome-guest',
|
| - 'system',
|
| - 'system-guest',
|
| - ]
|
| -
|
| -def FindAllAvailableBrowsers(finder_options, device):
|
| - """Finds all available CrOS browsers, locally and remotely."""
|
| - browsers = []
|
| - if not isinstance(device, cros_device.CrOSDevice):
|
| - return browsers
|
| -
|
| - if cros_device.IsRunningOnCrOS():
|
| - browsers = [PossibleCrOSBrowser('system', finder_options,
|
| - platform_module.GetHostPlatform(),
|
| - is_guest=False),
|
| - PossibleCrOSBrowser('system-guest', finder_options,
|
| - platform_module.GetHostPlatform(),
|
| - is_guest=True)]
|
| -
|
| - # Check ssh
|
| - try:
|
| - # Retries required because of DNS issue in the lab documented in
|
| - # http://crbug/484726
|
| - retries = 0
|
| - while True:
|
| - try:
|
| - platform = platform_module.GetPlatformForDevice(device, finder_options)
|
| - break
|
| - except cros_interface.DNSFailureException, ex:
|
| - logging.warn('DNS Failure: %s', str(ex))
|
| - retries += 1
|
| - if retries > 1:
|
| - raise ex
|
| - except cros_interface.LoginException, ex:
|
| - if isinstance(ex, cros_interface.KeylessLoginRequiredException):
|
| - logging.warn('Could not ssh into %s. Your device must be configured',
|
| - finder_options.cros_remote)
|
| - logging.warn('to allow passwordless login as root.')
|
| - logging.warn('For a test-build device, pass this to your script:')
|
| - logging.warn(' --identity $(CHROMITE)/ssh_keys/testing_rsa')
|
| - logging.warn('')
|
| - logging.warn('For a developer-mode device, the steps are:')
|
| - logging.warn(' - Ensure you have an id_rsa.pub (etc) on this computer')
|
| - logging.warn(' - On the chromebook:')
|
| - logging.warn(' - Control-Alt-T; shell; sudo -s')
|
| - logging.warn(' - openssh-server start')
|
| - logging.warn(' - scp <this machine>:.ssh/id_rsa.pub /tmp/')
|
| - logging.warn(' - mkdir /root/.ssh')
|
| - logging.warn(' - chown go-rx /root/.ssh')
|
| - logging.warn(' - cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys')
|
| - logging.warn(' - chown 0600 /root/.ssh/authorized_keys')
|
| - raise browser_finder_exceptions.BrowserFinderException(str(ex))
|
| -
|
| - browsers.extend([PossibleCrOSBrowser('cros-chrome', finder_options,
|
| - platform, is_guest=False),
|
| - PossibleCrOSBrowser('cros-chrome-guest',
|
| - finder_options, platform,
|
| - is_guest=True)])
|
| - return browsers
|
|
|