| Index: build/android/tombstones.py
|
| diff --git a/build/android/tombstones.py b/build/android/tombstones.py
|
| index e1192d77df8a4fbba0b97ea0de7448540fdfac61..cb1d700ee099de110e4ac730c73d6a36c79d8441 100755
|
| --- a/build/android/tombstones.py
|
| +++ b/build/android/tombstones.py
|
| @@ -17,18 +17,20 @@ import sys
|
| import optparse
|
|
|
| from pylib import android_commands
|
| +from pylib.device import device_utils
|
|
|
|
|
| -def _ListTombstones(adb):
|
| +def _ListTombstones(device):
|
| """List the tombstone files on the device.
|
|
|
| Args:
|
| - adb: An instance of AndroidCommands.
|
| + device: An instance of DeviceUtils.
|
|
|
| Yields:
|
| Tuples of (tombstone filename, date time of file on device).
|
| """
|
| - lines = adb.RunShellCommand('TZ=UTC su -c ls -a -l /data/tombstones')
|
| + lines = device.old_interface.RunShellCommand(
|
| + 'TZ=UTC su -c ls -a -l /data/tombstones')
|
| for line in lines:
|
| if 'tombstone' in line and not 'No such file or directory' in line:
|
| details = line.split()
|
| @@ -37,39 +39,43 @@ def _ListTombstones(adb):
|
| yield details[-1], t
|
|
|
|
|
| -def _GetDeviceDateTime(adb):
|
| +def _GetDeviceDateTime(device):
|
| """Determine the date time on the device.
|
|
|
| Args:
|
| - adb: An instance of AndroidCommands.
|
| + device: An instance of DeviceUtils.
|
|
|
| Returns:
|
| A datetime instance.
|
| """
|
| - device_now_string = adb.RunShellCommand('TZ=UTC date')
|
| + device_now_string = device.old_interface.RunShellCommand('TZ=UTC date')
|
| return datetime.datetime.strptime(
|
| device_now_string[0], '%a %b %d %H:%M:%S %Z %Y')
|
|
|
|
|
| -def _GetTombstoneData(adb, tombstone_file):
|
| +def _GetTombstoneData(device, tombstone_file):
|
| """Retrieve the tombstone data from the device
|
|
|
| Args:
|
| + device: An instance of DeviceUtils.
|
| tombstone_file: the tombstone to retrieve
|
|
|
| Returns:
|
| A list of lines
|
| """
|
| - return adb.GetProtectedFileContents('/data/tombstones/' + tombstone_file)
|
| + return device.old_interface.GetProtectedFileContents(
|
| + '/data/tombstones/' + tombstone_file)
|
|
|
|
|
| -def _EraseTombstone(adb, tombstone_file):
|
| +def _EraseTombstone(device, tombstone_file):
|
| """Deletes a tombstone from the device.
|
|
|
| Args:
|
| + device: An instance of DeviceUtils.
|
| tombstone_file: the tombstone to delete.
|
| """
|
| - return adb.RunShellCommandWithSU('rm /data/tombstones/' + tombstone_file)
|
| + return device.old_interface.RunShellCommandWithSU(
|
| + 'rm /data/tombstones/' + tombstone_file)
|
|
|
|
|
| def _ResolveSymbols(tombstone_data, include_stack):
|
| @@ -125,15 +131,15 @@ def _ResolveTombstones(jobs, tombstones):
|
| print '\n'.join(data)
|
|
|
|
|
| -def _GetTombstonesForDevice(adb, options):
|
| - """Returns a list of tombstones on a given adb connection.
|
| +def _GetTombstonesForDevice(device, options):
|
| + """Returns a list of tombstones on a given device.
|
|
|
| Args:
|
| - adb: An instance of Androidcommands.
|
| + device: An instance of DeviceUtils.
|
| options: command line arguments from OptParse
|
| """
|
| ret = []
|
| - all_tombstones = list(_ListTombstones(adb))
|
| + all_tombstones = list(_ListTombstones(device))
|
| if not all_tombstones:
|
| print 'No device attached? Or no tombstones?'
|
| return ret
|
| @@ -144,19 +150,19 @@ def _GetTombstonesForDevice(adb, options):
|
| # Only resolve the most recent unless --all-tombstones given.
|
| tombstones = all_tombstones if options.all_tombstones else [all_tombstones[0]]
|
|
|
| - device_now = _GetDeviceDateTime(adb)
|
| + device_now = _GetDeviceDateTime(device)
|
| for tombstone_file, tombstone_time in tombstones:
|
| - ret += [{'serial': adb.Adb().GetSerialNumber(),
|
| + ret += [{'serial': device.old_interface.Adb().GetSerialNumber(),
|
| 'device_now': device_now,
|
| 'time': tombstone_time,
|
| 'file': tombstone_file,
|
| 'stack': options.stack,
|
| - 'data': _GetTombstoneData(adb, tombstone_file)}]
|
| + 'data': _GetTombstoneData(device, tombstone_file)}]
|
|
|
| # Erase all the tombstones if desired.
|
| if options.wipe_tombstones:
|
| for tombstone_file, _ in all_tombstones:
|
| - _EraseTombstone(adb, tombstone_file)
|
| + _EraseTombstone(device, tombstone_file)
|
|
|
| return ret
|
|
|
| @@ -184,9 +190,9 @@ def main():
|
| devices = android_commands.GetAttachedDevices()
|
|
|
| tombstones = []
|
| - for device in devices:
|
| - adb = android_commands.AndroidCommands(device)
|
| - tombstones += _GetTombstonesForDevice(adb, options)
|
| + for device_serial in devices:
|
| + device = device_utils.DeviceUtils(device_serial)
|
| + tombstones += _GetTombstonesForDevice(device, options)
|
|
|
| _ResolveTombstones(options.jobs, tombstones)
|
|
|
|
|