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

Unified Diff: tools/telemetry/telemetry/core/backends/chrome/desktop_browser_finder.py

Issue 745733002: Add support in Telemetry for specifying exact Android APK (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Final nit Created 5 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/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 8cd0ed8e8c031eb35d380700e2736ab4c376193f..e396081365e097ad12fb7c4daf955cd47aea0be5 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/desktop_browser_finder.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/desktop_browser_finder.py
@@ -10,6 +10,7 @@ import sys
from telemetry.core import platform as platform_module
from telemetry.core import browser
+from telemetry.core import exceptions
from telemetry.core import possible_browser
from telemetry.core.backends.chrome import desktop_browser_backend
from telemetry.util import path
@@ -89,6 +90,14 @@ def SelectDefaultBrowser(possible_browsers):
def CanFindAvailableBrowsers():
return not platform_module.GetHostPlatform().GetOSName() == 'chromeos'
+def CanPossiblyHandlePath(target_path):
+ _, extension = os.path.splitext(target_path.lower())
+ if sys.platform == 'darwin' or sys.platform.startswith('linux'):
+ return not extension
+ elif sys.platform.startswith('win'):
+ return extension == '.exe'
+ return False
+
def FindAllBrowserTypes(_):
return [
'exact',
@@ -148,8 +157,9 @@ def FindAllAvailableBrowsers(finder_options):
else:
raise Exception('Platform not recognized')
- # Add the explicit browser executable if given.
- if finder_options.browser_executable:
+ # Add the explicit browser executable if given and we can handle it.
+ if (finder_options.browser_executable and
+ CanPossiblyHandlePath(finder_options.browser_executable)):
normalized_executable = os.path.expanduser(
finder_options.browser_executable)
if path.IsExecutable(normalized_executable):
@@ -158,8 +168,9 @@ def FindAllAvailableBrowsers(finder_options):
normalized_executable, flash_path,
False, browser_directory))
else:
- raise Exception('%s specified by --browser-executable does not exist',
- normalized_executable)
+ raise exceptions.PathMissingError(
+ '%s specified by --browser-executable does not exist',
+ normalized_executable)
def AddIfFound(browser_type, build_dir, type_dir, app_name, content_shell):
browser_directory = os.path.join(chrome_root, build_dir, type_dir)

Powered by Google App Engine
This is Rietveld 408576698