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

Unified Diff: tools/telemetry/telemetry/internal/browser/browser_finder.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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/internal/browser/browser_finder.py
diff --git a/tools/telemetry/telemetry/internal/browser/browser_finder.py b/tools/telemetry/telemetry/internal/browser/browser_finder.py
deleted file mode 100644
index 853f6f7c6d198278dace648b07005722a06184db..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/browser/browser_finder.py
+++ /dev/null
@@ -1,182 +0,0 @@
-# Copyright 2012 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 browsers that can be controlled by telemetry."""
-
-import logging
-import operator
-
-from telemetry import decorators
-from telemetry.internal.backends.chrome import android_browser_finder
-from telemetry.internal.backends.chrome import cros_browser_finder
-from telemetry.internal.backends.chrome import desktop_browser_finder
-from telemetry.internal.backends.chrome import ios_browser_finder
-from telemetry.internal.backends.mandoline import android_mandoline_finder
-from telemetry.internal.backends.mandoline import desktop_mandoline_finder
-from telemetry.internal.browser import browser_finder_exceptions
-from telemetry.internal.platform import device_finder
-
-BROWSER_FINDERS = [
- desktop_browser_finder,
- android_browser_finder,
- cros_browser_finder,
- ios_browser_finder,
- desktop_mandoline_finder,
- android_mandoline_finder,
- ]
-
-
-def FindAllBrowserTypes(options):
- return reduce(operator.add,
- [bf.FindAllBrowserTypes(options) for bf in BROWSER_FINDERS])
-
-
-@decorators.Cache
-def FindBrowser(options):
- """Finds the best PossibleBrowser object given a BrowserOptions object.
-
- Args:
- A BrowserOptions object.
-
- Returns:
- A PossibleBrowser object.
-
- Raises:
- BrowserFinderException: Options improperly set, or an error occurred.
- """
- if options.__class__.__name__ == '_FakeBrowserFinderOptions':
- return options.fake_possible_browser
- if options.browser_type == 'exact' and options.browser_executable == None:
- raise browser_finder_exceptions.BrowserFinderException(
- '--browser=exact requires --browser-executable to be set.')
- if options.browser_type != 'exact' and options.browser_executable != None:
- raise browser_finder_exceptions.BrowserFinderException(
- '--browser-executable requires --browser=exact.')
-
- if options.browser_type == 'cros-chrome' and options.cros_remote == None:
- raise browser_finder_exceptions.BrowserFinderException(
- 'browser_type=cros-chrome requires cros_remote be set.')
- if (options.browser_type != 'cros-chrome' and
- options.browser_type != 'cros-chrome-guest' and
- options.cros_remote != None):
- raise browser_finder_exceptions.BrowserFinderException(
- '--remote requires --browser=cros-chrome or cros-chrome-guest.')
-
- devices = device_finder.GetDevicesMatchingOptions(options)
- browsers = []
- default_browsers = []
- for device in devices:
- for finder in BROWSER_FINDERS:
- if(options.browser_type and options.browser_type != 'any' and
- options.browser_type not in finder.FindAllBrowserTypes(options)):
- continue
- curr_browsers = finder.FindAllAvailableBrowsers(options, device)
- new_default_browser = finder.SelectDefaultBrowser(curr_browsers)
- if new_default_browser:
- default_browsers.append(new_default_browser)
- browsers.extend(curr_browsers)
-
- if options.browser_type == None:
- if default_browsers:
- default_browser = sorted(default_browsers,
- key=lambda b: b.last_modification_time())[-1]
-
- logging.warning('--browser omitted. Using most recent local build: %s' %
- default_browser.browser_type)
- default_browser.UpdateExecutableIfNeeded()
- return default_browser
-
- if len(browsers) == 1:
- logging.warning('--browser omitted. Using only available browser: %s' %
- browsers[0].browser_type)
- browsers[0].UpdateExecutableIfNeeded()
- return browsers[0]
-
- raise browser_finder_exceptions.BrowserTypeRequiredException(
- '--browser must be specified. Available browsers:\n%s' %
- '\n'.join(sorted(set([b.browser_type for b in browsers]))))
-
- if options.browser_type == 'any':
- types = FindAllBrowserTypes(options)
- def CompareBrowsersOnTypePriority(x, y):
- x_idx = types.index(x.browser_type)
- y_idx = types.index(y.browser_type)
- return x_idx - y_idx
- browsers.sort(CompareBrowsersOnTypePriority)
- if len(browsers) >= 1:
- browsers[0].UpdateExecutableIfNeeded()
- return browsers[0]
- else:
- return None
-
- matching_browsers = [b for b in browsers
- if b.browser_type == options.browser_type and b.SupportsOptions(options)]
-
- chosen_browser = None
- if len(matching_browsers) == 1:
- chosen_browser = matching_browsers[0]
- elif len(matching_browsers) > 1:
- logging.warning('Multiple browsers of the same type found: %s' % (
- repr(matching_browsers)))
- chosen_browser = sorted(matching_browsers,
- key=lambda b: b.last_modification_time())[-1]
-
- if chosen_browser:
- logging.info('Chose browser: %s' % (repr(chosen_browser)))
- chosen_browser.UpdateExecutableIfNeeded()
-
- return chosen_browser
-
-
-@decorators.Cache
-def GetAllAvailableBrowsers(options, device):
- """Returns a list of available browsers on the device.
-
- Args:
- options: A BrowserOptions object.
- device: The target device, which can be None.
-
- Returns:
- A list of browser instances.
-
- Raises:
- BrowserFinderException: Options are improperly set, or an error occurred.
- """
- if not device:
- return []
- possible_browsers = []
- for browser_finder in BROWSER_FINDERS:
- possible_browsers.extend(
- browser_finder.FindAllAvailableBrowsers(options, device))
- return possible_browsers
-
-
-@decorators.Cache
-def GetAllAvailableBrowserTypes(options):
- """Returns a list of available browser types.
-
- Args:
- options: A BrowserOptions object.
-
- Returns:
- A list of browser type strings.
-
- Raises:
- BrowserFinderException: Options are improperly set, or an error occurred.
- """
- devices = device_finder.GetDevicesMatchingOptions(options)
- possible_browsers = []
- for device in devices:
- possible_browsers.extend(GetAllAvailableBrowsers(options, device))
- type_list = set([browser.browser_type for browser in possible_browsers])
- # The reference build should be available for mac, linux and win, but the
- # desktop browser finder won't return it in the list of browsers.
- for browser in possible_browsers:
- if (browser.target_os == 'darwin' or browser.target_os.startswith('linux')
- or browser.target_os.startswith('win')):
- type_list.add('reference')
- break
- type_list = list(type_list)
- type_list.sort()
- return type_list

Powered by Google App Engine
This is Rietveld 408576698