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 |