Chromium Code Reviews| Index: tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
| diff --git a/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py b/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
| index a957358ae3c8ba9be061c58c8bf97dd89b158e82..085ef01b081cfcd942aca84eb2e66c9a5866fdcf 100644 |
| --- a/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
| +++ b/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
| @@ -17,6 +17,8 @@ from telemetry.core.backends import browser_backend |
| from telemetry.core.backends.chrome import chrome_browser_backend |
| from telemetry.core.forwarders import android_forwarder |
| +util.AddDirToPythonPath(util.GetChromiumSrcDir(), 'build', 'android') |
|
tonyg
2014/06/27 22:59:28
Why is this necessary? How did intent work without
|
| +from pylib.device import device_errors |
| from pylib.device import intent |
| @@ -76,7 +78,7 @@ class ChromeBackendSettings(AndroidBrowserBackendSettings): |
| def PushProfile(self, new_profile_dir): |
| # Pushing the profile is slow, so we don't want to do it every time. |
| - # Avoid this by pushing to a safe location using PushIfNeeded, and |
| + # Avoid this by pushing to a safe location using PushChangedFiles, and |
| # then copying into the correct location on each test run. |
| (profile_parent, profile_base) = os.path.split(new_profile_dir) |
| @@ -86,8 +88,7 @@ class ChromeBackendSettings(AndroidBrowserBackendSettings): |
| profile_base = os.path.basename(profile_parent) |
| saved_profile_location = '/sdcard/profile/%s' % profile_base |
| - self.adb.device().old_interface.PushIfNeeded( |
| - new_profile_dir, saved_profile_location) |
| + self.adb.device().PushChangedFiles(new_profile_dir, saved_profile_location) |
| self.adb.device().old_interface.EfficientDeviceDirectoryCopy( |
| saved_profile_location, self.profile_dir) |
| @@ -245,24 +246,19 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend): |
| else: |
| return True |
| - if IsProtectedFile(self._backend_settings.cmdline_file): |
| - if not self._adb.device().old_interface.CanAccessProtectedFileContents(): |
| - logging.critical('Cannot set Chrome command line. ' |
| - 'Fix this by flashing to a userdebug build.') |
| - sys.exit(1) |
| - self._saved_cmdline = ''.join( |
| - self._adb.device().old_interface.GetProtectedFileContents( |
| - self._backend_settings.cmdline_file) |
| - or []) |
| - self._adb.device().old_interface.SetProtectedFileContents( |
| - self._backend_settings.cmdline_file, file_contents) |
| - else: |
| + protected = IsProtectedFile(self._backend_settings.cmdline_file) |
| + try: |
| self._saved_cmdline = ''.join( |
| - self._adb.device().old_interface.GetFileContents( |
| - self._backend_settings.cmdline_file) |
| + self._adb.device().ReadFile( |
| + self._backend_settings.cmdline_file, as_root=protected) |
| or []) |
| - self._adb.device().old_interface.SetFileContents( |
| - self._backend_settings.cmdline_file, file_contents) |
| + self._adb.device().WriteFile( |
| + self._backend_settings.cmdline_file, file_contents, |
| + as_root=protected) |
| + except device_errors.CommandFailedError: |
| + logging.critical('Cannot set Chrome command line. ' |
| + 'Fix this by flashing to a userdebug build.') |
| + sys.exit(1) |
| def Start(self): |
| self._SetUpCommandLine() |