OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 """Finds android browsers that can be controlled by telemetry.""" | 4 """Finds android browsers that can be controlled by telemetry.""" |
5 | 5 |
6 import os | 6 import os |
7 import logging as real_logging | 7 import logging as real_logging |
8 import re | 8 import re |
9 import subprocess | 9 import subprocess |
10 import sys | 10 import sys |
11 | 11 |
12 from telemetry.core import browser | 12 from telemetry.core import browser |
13 from telemetry.core import possible_browser | 13 from telemetry.core import possible_browser |
14 from telemetry.core import profile_types | 14 from telemetry.core import profile_types |
| 15 from telemetry.core import util |
15 from telemetry.core.chrome import adb_commands | 16 from telemetry.core.chrome import adb_commands |
16 from telemetry.core.chrome import android_browser_backend | 17 from telemetry.core.chrome import android_browser_backend |
17 from telemetry.core.platform import android_platform_backend | 18 from telemetry.core.platform import android_platform_backend |
18 | 19 |
19 CHROME_PACKAGE_NAMES = { | 20 CHROME_PACKAGE_NAMES = { |
20 'android-chrome': 'com.google.android.apps.chrome', | 21 'android-chrome': 'com.google.android.apps.chrome', |
21 'android-chrome-beta': 'com.chrome.beta', | 22 'android-chrome-beta': 'com.chrome.beta', |
22 'android-chrome-dev': 'com.google.android.apps.chrome_dev', | 23 'android-chrome-dev': 'com.google.android.apps.chrome_dev', |
23 'android-jb-system-chrome': 'com.android.chrome' | 24 'android-jb-system-chrome': 'com.android.chrome' |
24 } | 25 } |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 stdin=devnull) | 85 stdin=devnull) |
85 stdout, _ = proc.communicate() | 86 stdout, _ = proc.communicate() |
86 if re.search(re.escape('????????????\tno permissions'), stdout) != None: | 87 if re.search(re.escape('????????????\tno permissions'), stdout) != None: |
87 logging.warn( | 88 logging.warn( |
88 ('adb devices reported a permissions error. Consider ' | 89 ('adb devices reported a permissions error. Consider ' |
89 'restarting adb as root:')) | 90 'restarting adb as root:')) |
90 logging.warn(' adb kill-server') | 91 logging.warn(' adb kill-server') |
91 logging.warn(' sudo `which adb` devices\n\n') | 92 logging.warn(' sudo `which adb` devices\n\n') |
92 adb_works = True | 93 adb_works = True |
93 except OSError: | 94 except OSError: |
94 platform_tools_path = os.path.join( | 95 platform_tools_path = os.path.join(util.GetChromiumSrcDir(), |
95 os.path.dirname(__file__), '..', '..', '..', '..', '..' | |
96 'third_party', 'android_tools', 'sdk', 'platform-tools') | 96 'third_party', 'android_tools', 'sdk', 'platform-tools') |
97 if (sys.platform.startswith('linux') and | 97 if (sys.platform.startswith('linux') and |
98 os.path.exists(os.path.join(platform_tools_path, 'adb'))): | 98 os.path.exists(os.path.join(platform_tools_path, 'adb'))): |
99 os.environ['PATH'] = os.pathsep.join([platform_tools_path, | 99 os.environ['PATH'] = os.pathsep.join([platform_tools_path, |
100 os.environ['PATH']]) | 100 os.environ['PATH']]) |
101 adb_works = True | 101 adb_works = True |
102 else: | 102 else: |
103 adb_works = False | 103 adb_works = False |
104 if adb_works and sys.platform.startswith('linux'): | 104 if adb_works and sys.platform.startswith('linux'): |
105 # Workaround for crbug.com/268450 | 105 # Workaround for crbug.com/268450 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 # but make it accessible to the device. | 178 # but make it accessible to the device. |
179 if len(possible_browsers) and not adb_commands.HasForwarder(): | 179 if len(possible_browsers) and not adb_commands.HasForwarder(): |
180 logging.warn('telemetry detected an android device. However,') | 180 logging.warn('telemetry detected an android device. However,') |
181 logging.warn('Chrome\'s port-forwarder app is not available.') | 181 logging.warn('Chrome\'s port-forwarder app is not available.') |
182 logging.warn('To build:') | 182 logging.warn('To build:') |
183 logging.warn(' ninja -C out/Release forwarder2 md5sum') | 183 logging.warn(' ninja -C out/Release forwarder2 md5sum') |
184 logging.warn('') | 184 logging.warn('') |
185 logging.warn('') | 185 logging.warn('') |
186 return [] | 186 return [] |
187 return possible_browsers | 187 return possible_browsers |
OLD | NEW |