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/desktop_browser_finder.py

Issue 412553006: [telemetry] Add util.path module and util.path.FindInstalledWindowsApplication. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unit test. Created 6 years, 5 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/desktop_browser_finder.py
diff --git a/tools/telemetry/telemetry/core/backends/chrome/desktop_browser_finder.py b/tools/telemetry/telemetry/core/backends/chrome/desktop_browser_finder.py
index e26be6adb85c1eb4082650bcfb524d740c8d0a23..ecb534457fb8dba7af02631db37101ea3e739833 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/desktop_browser_finder.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/desktop_browser_finder.py
@@ -10,10 +10,10 @@ import sys
from telemetry.core import browser
from telemetry.core import possible_browser
-from telemetry.core import util
from telemetry.core.backends.chrome import cros_interface
from telemetry.core.backends.chrome import desktop_browser_backend
from telemetry.core.platform import factory
+from telemetry.util import path
ALL_BROWSER_TYPES = [
'exact',
@@ -108,7 +108,7 @@ def FindAllAvailableBrowsers(finder_options):
if finder_options.chrome_root:
chrome_root = finder_options.chrome_root
else:
- chrome_root = util.GetChromiumSrcDir()
+ chrome_root = path.GetChromiumSrcDir()
flash_bin_dir = os.path.join(
chrome_root, 'third_party', 'adobe', 'flash', 'binaries', 'ppapi')
@@ -136,14 +136,11 @@ def FindAllAvailableBrowsers(finder_options):
else:
raise Exception('Platform not recognized')
- def IsExecutable(path):
- return os.path.isfile(path) and os.access(path, os.X_OK)
-
# Add the explicit browser executable if given.
if finder_options.browser_executable:
normalized_executable = os.path.expanduser(
finder_options.browser_executable)
- if IsExecutable(normalized_executable):
+ if path.IsExecutable(normalized_executable):
browser_directory = os.path.dirname(finder_options.browser_executable)
browsers.append(PossibleDesktopBrowser('exact', finder_options,
normalized_executable, flash_path,
@@ -155,7 +152,7 @@ def FindAllAvailableBrowsers(finder_options):
def AddIfFound(browser_type, build_dir, type_dir, app_name, content_shell):
browser_directory = os.path.join(chrome_root, build_dir, type_dir)
app = os.path.join(browser_directory, app_name)
- if IsExecutable(app):
+ if path.IsExecutable(app):
is_64 = browser_type.endswith('_x64')
browsers.append(PossibleDesktopBrowser(
browser_type, finder_options, app,
@@ -165,7 +162,7 @@ def FindAllAvailableBrowsers(finder_options):
return False
# Add local builds
- for build_dir, build_type in util.GetBuildDirectories():
+ for build_dir, build_type in path.GetBuildDirectories():
for chromium_app_name in chromium_app_names:
AddIfFound(build_type.lower(), build_dir, build_type,
chromium_app_name, False)
@@ -178,12 +175,12 @@ def FindAllAvailableBrowsers(finder_options):
mac_canary = mac_canary_root + 'Contents/MacOS/Google Chrome Canary'
mac_system_root = '/Applications/Google Chrome.app'
mac_system = mac_system_root + '/Contents/MacOS/Google Chrome'
- if IsExecutable(mac_canary):
+ if path.IsExecutable(mac_canary):
browsers.append(PossibleDesktopBrowser('canary', finder_options,
mac_canary, None, False,
mac_canary_root))
- if IsExecutable(mac_system):
+ if path.IsExecutable(mac_system):
browsers.append(PossibleDesktopBrowser('system', finder_options,
mac_system, None, False,
mac_system_root))
@@ -205,35 +202,19 @@ def FindAllAvailableBrowsers(finder_options):
# Win32-specific options.
if sys.platform.startswith('win'):
- system_path = os.path.join('Google', 'Chrome', 'Application')
- canary_path = os.path.join('Google', 'Chrome SxS', 'Application')
-
- win_search_paths = [os.getenv('PROGRAMFILES(X86)'),
- os.getenv('PROGRAMFILES'),
- os.getenv('LOCALAPPDATA')]
+ app_paths = (
+ ('system', os.path.join('Google', 'Chrome', 'Application')),
+ ('canary', os.path.join('Google', 'Chrome SxS', 'Application')),
+ )
- def AddIfFoundWin(browser_name, search_path, app_path):
- browser_directory = os.path.join(search_path, app_path)
+ for browser_name, app_path in app_paths:
for chromium_app_name in chromium_app_names:
- app = os.path.join(browser_directory, chromium_app_name)
- if IsExecutable(app):
- browsers.append(PossibleDesktopBrowser(browser_name, finder_options,
- app, None, False,
- browser_directory))
- return True
- return False
-
- for path in win_search_paths:
- if not path:
- continue
- if AddIfFoundWin('canary', path, canary_path):
- break
-
- for path in win_search_paths:
- if not path:
- continue
- if AddIfFoundWin('system', path, system_path):
- break
+ app_path = os.path.join(app_path, chromium_app_name)
+ app_path = path.FindInstalledWindowsApplication(app_path)
+ if app_path:
+ browsers.append(PossibleDesktopBrowser(
+ browser_name, finder_options, app_path,
+ None, False, os.path.dirname(app_path)))
if len(browsers) and not has_display:
logging.warning(

Powered by Google App Engine
This is Rietveld 408576698