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

Unified Diff: build/android/tombstones.py

Issue 2201833002: Added tombstones in instrumentation tests results. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: minor fixes Created 4 years, 4 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: build/android/tombstones.py
diff --git a/build/android/tombstones.py b/build/android/tombstones.py
index 712f90fac81dd3f51d2e6906f684388c1b2bd896..8a4e1a45c36f4873298513d4ce98a193711405e0 100755
--- a/build/android/tombstones.py
+++ b/build/android/tombstones.py
@@ -170,12 +170,15 @@ def _ResolveTombstones(jobs, tombstones):
logging.info(line)
-def _GetTombstonesForDevice(device, args):
+def _GetTombstonesForDevice(device, resolve_all_tombstone, stack,
+ wipe_tombstones):
"""Returns a list of tombstones on a given device.
Args:
device: An instance of DeviceUtils.
- args: command line arguments
+ resolve_all_tombstone: Whether to resolve every tombstone.
mikecase (-- gone --) 2016/08/02 17:27:29 nit: s/resolve_all_tombstone/resolve_all_tombsto
BigBossZhiling 2016/08/02 21:01:56 Done.
+ stack: Whether to include symbols for stack data..
mikecase (-- gone --) 2016/08/02 17:27:29 nit: remove double period.. Probably s/stack/incl
BigBossZhiling 2016/08/02 21:01:56 Done.
+ wipe_tombstones: Whether to wipe tombstones.
"""
ret = []
all_tombstones = list(_ListTombstones(device))
@@ -187,7 +190,7 @@ def _GetTombstonesForDevice(device, args):
all_tombstones.sort(cmp=lambda a, b: cmp(b[1], a[1]))
# Only resolve the most recent unless --all-tombstones given.
- tombstones = all_tombstones if args.all_tombstones else [all_tombstones[0]]
+ tombstones = all_tombstones if resolve_all_tombstone else [all_tombstones[0]]
device_now = _GetDeviceDateTime(device)
try:
@@ -197,7 +200,7 @@ def _GetTombstonesForDevice(device, args):
'device_now': device_now,
'time': tombstone_time,
'file': tombstone_file,
- 'stack': args.stack,
+ 'stack': stack,
'data': _GetTombstoneData(device, tombstone_file)}]
except device_errors.CommandFailedError:
for entry in device.StatDirectory(
@@ -206,12 +209,31 @@ def _GetTombstonesForDevice(device, args):
raise
# Erase all the tombstones if desired.
- if args.wipe_tombstones:
+ if wipe_tombstones:
for tombstone_file, _ in all_tombstones:
_EraseTombstone(device, tombstone_file)
return ret
+def ClearAllTombstones(device):
+ """Clear all tombstones in the device.
+
+ Args:
+ device: An instance of DeviceUtils.
+ """
+ all_tombstones = list(_ListTombstones(device))
+ if not all_tombstones:
+ logging.warning('No tombstones to clear.')
+
+ for tombstone_file, _ in all_tombstones:
+ _EraseTombstone(device, tombstone_file)
+
+def ResolveAllTombstones(device, all_tombstones, stack, wipe_tombstones,
+ jobs=4):
mikecase (-- gone --) 2016/08/02 17:27:29 Add documentation. For example, I dont have any id
BigBossZhiling 2016/08/02 21:01:56 Done.
+ return _ResolveTombstones(jobs,
+ _GetTombstonesForDevice(device,
+ all_tombstones,
+ stack, wipe_tombstones))
def main():
custom_handler = logging.StreamHandler(sys.stdout)
@@ -260,12 +282,9 @@ def main():
# This must be done serially because strptime can hit a race condition if
# used for the first time in a multithreaded environment.
# http://bugs.python.org/issue7980
- tombstones = []
for device in devices:
- tombstones += _GetTombstonesForDevice(device, args)
-
- _ResolveTombstones(args.jobs, tombstones)
-
+ ResolveAllTombstones(device, args.all_tombstones,
+ args.stack, args.wipe_tombstones, args.jobs)
if __name__ == '__main__':
sys.exit(main())

Powered by Google App Engine
This is Rietveld 408576698