Index: tools/telemetry/telemetry/internal/backends/mandoline/desktop_mandoline_finder.py |
diff --git a/tools/telemetry/telemetry/internal/backends/mandoline/desktop_mandoline_finder.py b/tools/telemetry/telemetry/internal/backends/mandoline/desktop_mandoline_finder.py |
deleted file mode 100644 |
index 0a7daa9352aad3b7cbc778bfd42869b3b7dda6db..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/internal/backends/mandoline/desktop_mandoline_finder.py |
+++ /dev/null |
@@ -1,152 +0,0 @@ |
-# Copyright 2015 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 desktop mandoline browsers that can be controlled by telemetry.""" |
- |
-import os |
-import logging |
-import sys |
- |
-from telemetry.core import exceptions |
-from telemetry.core import platform as platform_module |
-from telemetry.internal.backends.mandoline import desktop_mandoline_backend |
-from telemetry.internal.browser import browser |
-from telemetry.internal.browser import possible_browser |
-from telemetry.internal.platform import desktop_device |
-from telemetry.internal.util import path |
- |
- |
-class PossibleDesktopMandolineBrowser(possible_browser.PossibleBrowser): |
- """A desktop mandoline browser that can be controlled.""" |
- |
- def __init__(self, browser_type, finder_options, executable, |
- browser_directory): |
- target_os = sys.platform.lower() |
- super(PossibleDesktopMandolineBrowser, self).__init__( |
- browser_type, target_os, supports_tab_control=False) |
- assert browser_type in FindAllBrowserTypes(finder_options), ( |
- 'Please add %s to desktop_mandoline_finder.FindAllBrowserTypes' % |
- browser_type) |
- self._local_executable = executable |
- self._browser_directory = browser_directory |
- |
- def __repr__(self): |
- return 'PossibleDesktopMandolineBrowser(type=%s, executable=%s)' % ( |
- self.browser_type, self._local_executable) |
- |
- def _InitPlatformIfNeeded(self): |
- if self._platform: |
- return |
- |
- self._platform = platform_module.GetHostPlatform() |
- |
- # pylint: disable=protected-access |
- self._platform_backend = self._platform._platform_backend |
- |
- def Create(self, finder_options): |
- self._InitPlatformIfNeeded() |
- |
- mandoline_backend = desktop_mandoline_backend.DesktopMandolineBackend( |
- self._platform_backend, finder_options.browser_options, |
- self._local_executable, self._browser_directory) |
- return browser.Browser( |
- mandoline_backend, self._platform_backend, self._credentials_path) |
- |
- def SupportsOptions(self, finder_options): |
- if len(finder_options.extensions_to_load) != 0: |
- return False |
- return True |
- |
- def UpdateExecutableIfNeeded(self): |
- pass |
- |
- def last_modification_time(self): |
- if os.path.exists(self._local_executable): |
- return os.path.getmtime(self._local_executable) |
- return -1 |
- |
-def SelectDefaultBrowser(possible_browsers): |
- if not possible_browsers: |
- return None |
- return max(possible_browsers, key=lambda b: b.last_modification_time()) |
- |
-def CanFindAvailableBrowsers(): |
- os_name = platform_module.GetHostPlatform().GetOSName() |
- return os_name == 'win' or os_name == 'linux' |
- |
-def CanPossiblyHandlePath(target_path): |
- _, extension = os.path.splitext(target_path.lower()) |
- if sys.platform.startswith('linux'): |
- return not extension |
- elif sys.platform.startswith('win'): |
- return extension == '.exe' |
- return False |
- |
-def FindAllBrowserTypes(_): |
- return [ |
- 'exact', |
- 'mandoline-debug', |
- 'mandoline-debug_x64', |
- 'mandoline-default', |
- 'mandoline-release', |
- 'mandoline-release_x64',] |
- |
-def FindAllAvailableBrowsers(finder_options, device): |
- """Finds all the desktop mandoline browsers available on this machine.""" |
- if not isinstance(device, desktop_device.DesktopDevice): |
- return [] |
- |
- browsers = [] |
- |
- if not CanFindAvailableBrowsers(): |
- return [] |
- |
- if sys.platform.startswith('linux'): |
- mandoline_app_name = 'mandoline' |
- elif sys.platform.startswith('win'): |
- mandoline_app_name = 'mandoline.exe' |
- else: |
- raise Exception('Platform not recognized') |
- |
- # Add the explicit browser executable if given and we can handle it. |
- if (finder_options.browser_executable and |
- CanPossiblyHandlePath(finder_options.browser_executable)): |
- app_name = os.path.basename(finder_options.browser_executable) |
- |
- # It is okay if the executable name doesn't match any of known chrome |
- # browser executables, since it may be of a different browser (say, |
- # chrome). |
- if app_name == mandoline_app_name: |
- normalized_executable = os.path.expanduser( |
- finder_options.browser_executable) |
- if path.IsExecutable(normalized_executable): |
- browser_directory = os.path.dirname(finder_options.browser_executable) |
- browsers.append(PossibleDesktopMandolineBrowser('exact', finder_options, |
- normalized_executable, |
- browser_directory)) |
- else: |
- raise exceptions.PathMissingError( |
- '%s specified by --browser-executable does not exist', |
- normalized_executable) |
- |
- if not finder_options.chrome_root: |
- logging.warning('Chrome build directory is not specified. Skip looking for' |
- 'for madonline build in the chrome build directories.') |
- return browsers |
- |
- def AddIfFound(browser_type, build_dir, type_dir, app_name): |
- browser_directory = os.path.join( |
- finder_options.chrome_root, build_dir, type_dir) |
- app = os.path.join(browser_directory, app_name) |
- if path.IsExecutable(app): |
- browsers.append(PossibleDesktopMandolineBrowser( |
- browser_type, finder_options, app, browser_directory)) |
- return True |
- return False |
- |
- # Add local builds. |
- for build_dir, build_type in path.GetBuildDirectories(): |
- AddIfFound('mandoline-' + build_type.lower(), build_dir, build_type, |
- mandoline_app_name) |
- |
- return browsers |