Index: tools/cygprofile/profile_android_startup.py |
diff --git a/tools/cygprofile/profile_android_startup.py b/tools/cygprofile/profile_android_startup.py |
index 9e49bef0a899887f7e5ab1413366999d472c8e0a..29fad7484afd274c4af3baf15d397df12a1daa5d 100644 |
--- a/tools/cygprofile/profile_android_startup.py |
+++ b/tools/cygprofile/profile_android_startup.py |
@@ -218,12 +218,15 @@ class AndroidProfileTool(object): |
The exit code for the tests. |
""" |
device_path = '/data/local/tmp/cygprofile_unittests' |
- self._device.old_interface.PushIfNeeded( |
- self._cygprofile_tests, device_path) |
- (exit_code, _) = ( |
- self._device.old_interface.GetShellCommandStatusAndOutput( |
- command=device_path, log_result=True)) |
- return exit_code |
+ self._device.PushChangedFiles([(self._cygprofile_tests, device_path)]) |
+ try: |
+ self._device.RunShellCommand(device_path, check_return=True) |
+ except device_errors.CommandFailedError: |
+ # TODO(jbudorick): Let the exception propagate up once clients can |
+ # handle it. |
+ logging.exception('Failure while running cygprofile_unittests:') |
+ return 1 |
+ return 0 |
def CollectProfile(self, apk, package_info): |
"""Run a profile and collect the log files. |
@@ -237,8 +240,7 @@ class AndroidProfileTool(object): |
Raises: |
NoCyglogDataError: No data was found on the device. |
""" |
- self._Install(apk, package_info) |
- |
+ self._Install(apk) |
try: |
changer = self._SetChromeFlags(package_info) |
self._SetUpDeviceFolders() |
@@ -266,7 +268,7 @@ class AndroidProfileTool(object): |
self._DeleteDeviceData() |
self._DeleteHostData() |
- def _Install(self, apk, package_info): |
+ def _Install(self, apk): |
"""Installs Chrome.apk on the device. |
Args: |
apk: The location of the chrome apk to profile. |
@@ -274,7 +276,7 @@ class AndroidProfileTool(object): |
as from pylib/constants. |
""" |
print 'Installing apk...' |
- self._device.old_interface.ManagedInstall(apk, package_info.package) |
+ self._device.Install(apk) |
def _SetUpDevice(self): |
"""When profiling, files are output to the disk by every process. This |
@@ -287,7 +289,7 @@ class AndroidProfileTool(object): |
# SELinux need to be in permissive mode, otherwise the process cannot |
# write the log files. |
print 'Putting SELinux in permissive mode...' |
- self._device.old_interface.RunShellCommand('setenforce 0') |
+ self._device.RunShellCommand(['setenforce' '0'], check_return=True) |
except device_errors.CommandFailedError as e: |
# TODO(jbudorick) Handle this exception appropriately once interface |
# conversions are finished. |
@@ -309,13 +311,15 @@ class AndroidProfileTool(object): |
"""Creates folders on the device to store cyglog data. """ |
print 'Setting up device folders...' |
self._DeleteDeviceData() |
- self._device.old_interface.RunShellCommand( |
- 'mkdir -p %s' % self._DEVICE_CYGLOG_DIR) |
+ self._device.RunShellCommand( |
+ ['mkdir', '-p', str(self._DEVICE_CYGLOG_DIR)], |
+ check_return=True) |
def _DeleteDeviceData(self): |
"""Clears out cyglog storage locations on the device. """ |
- self._device.old_interface.RunShellCommand( |
- 'rm -rf %s' % self._DEVICE_CYGLOG_DIR) |
+ self._device.RunShellCommand( |
+ ['rm', '-rf', str(self._DEVICE_CYGLOG_DIR)], |
+ check_return=True) |
def _StartChrome(self, package_info, url): |
print 'Launching chrome...' |
@@ -347,7 +351,7 @@ class AndroidProfileTool(object): |
""" |
print 'Pulling cyglog data...' |
self._SetUpHostFolders() |
- self._device.old_interface.Adb().Pull( |
+ self._device.PullFile( |
self._DEVICE_CYGLOG_DIR, self._host_cyglog_dir) |
files = os.listdir(self._host_cyglog_dir) |