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

Unified Diff: build/android/tombstones.py

Issue 2022533002: [Android] Add --adb-path option for tombstones.py. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: argparse for tombstones.py and type=os.path.abspath Created 4 years, 7 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
« no previous file with comments | « build/android/test_runner.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/tombstones.py
diff --git a/build/android/tombstones.py b/build/android/tombstones.py
index d3af2a6b439620bc0370a73af2271c6f360a84fb..dc0a1cd389cf07a9d4b127f852ff8c8584a92e6f 100755
--- a/build/android/tombstones.py
+++ b/build/android/tombstones.py
@@ -9,6 +9,7 @@
#
# Assumes tombstone file was created with current symbols.
+import argparse
import datetime
import logging
import multiprocessing
@@ -16,7 +17,6 @@ import os
import re
import subprocess
import sys
-import optparse
import devil_chromium
@@ -173,12 +173,12 @@ def _ResolveTombstones(jobs, tombstones):
logging.info(line)
-def _GetTombstonesForDevice(device, options):
+def _GetTombstonesForDevice(device, args):
"""Returns a list of tombstones on a given device.
Args:
device: An instance of DeviceUtils.
- options: command line arguments from OptParse
+ args: command line arguments
"""
ret = []
all_tombstones = list(_ListTombstones(device))
@@ -190,7 +190,7 @@ def _GetTombstonesForDevice(device, options):
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 options.all_tombstones else [all_tombstones[0]]
+ tombstones = all_tombstones if args.all_tombstones else [all_tombstones[0]]
device_now = _GetDeviceDateTime(device)
try:
@@ -200,7 +200,7 @@ def _GetTombstonesForDevice(device, options):
'device_now': device_now,
'time': tombstone_time,
'file': tombstone_file,
- 'stack': options.stack,
+ 'stack': args.stack,
'data': _GetTombstoneData(device, tombstone_file)}]
except device_errors.CommandFailedError:
for line in device.RunShellCommand(
@@ -210,7 +210,7 @@ def _GetTombstonesForDevice(device, options):
raise
# Erase all the tombstones if desired.
- if options.wipe_tombstones:
+ if args.wipe_tombstones:
for tombstone_file, _ in all_tombstones:
_EraseTombstone(device, tombstone_file)
@@ -223,39 +223,41 @@ def main():
logging.getLogger().addHandler(custom_handler)
logging.getLogger().setLevel(logging.INFO)
- parser = optparse.OptionParser()
- parser.add_option('--device',
- help='The serial number of the device. If not specified '
- 'will use all devices.')
- parser.add_option('--blacklist-file', help='Device blacklist JSON file.')
- parser.add_option('-a', '--all-tombstones', action='store_true',
- help="""Resolve symbols for all tombstones, rather than just
- the most recent""")
- parser.add_option('-s', '--stack', action='store_true',
- help='Also include symbols for stack data')
- parser.add_option('-w', '--wipe-tombstones', action='store_true',
- help='Erase all tombstones from device after processing')
- parser.add_option('-j', '--jobs', type='int',
- default=4,
- help='Number of jobs to use when processing multiple '
- 'crash stacks.')
- parser.add_option('--output-directory',
- help='Path to the root build directory.')
- options, _ = parser.parse_args()
-
- devil_chromium.Initialize()
-
- blacklist = (device_blacklist.Blacklist(options.blacklist_file)
- if options.blacklist_file
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--device',
+ help='The serial number of the device. If not specified '
+ 'will use all devices.')
+ parser.add_argument('--blacklist-file', help='Device blacklist JSON file.')
+ parser.add_argument('-a', '--all-tombstones', action='store_true',
+ help='Resolve symbols for all tombstones, rather than '
+ 'just the most recent.')
+ parser.add_argument('-s', '--stack', action='store_true',
+ help='Also include symbols for stack data')
+ parser.add_argument('-w', '--wipe-tombstones', action='store_true',
+ help='Erase all tombstones from device after processing')
+ parser.add_argument('-j', '--jobs', type=int,
+ default=4,
+ help='Number of jobs to use when processing multiple '
+ 'crash stacks.')
+ parser.add_argument('--output-directory',
+ help='Path to the root build directory.')
+ parser.add_argument('--adb-path', type=os.path.abspath,
+ help='Path to the adb binary.')
+ args = parser.parse_args()
+
+ devil_chromium.Initialize(adb_path=args.adb_path)
+
+ blacklist = (device_blacklist.Blacklist(args.blacklist_file)
+ if args.blacklist_file
else None)
- if options.output_directory:
- constants.SetOutputDirectory(options.output_directory)
+ if args.output_directory:
+ constants.SetOutputDirectory(args.output_directory)
# Do an up-front test that the output directory is known.
constants.CheckOutputDirectory()
- if options.device:
- devices = [device_utils.DeviceUtils(options.device)]
+ if args.device:
+ devices = [device_utils.DeviceUtils(args.device)]
else:
devices = device_utils.DeviceUtils.HealthyDevices(blacklist)
@@ -264,9 +266,9 @@ def main():
# http://bugs.python.org/issue7980
tombstones = []
for device in devices:
- tombstones += _GetTombstonesForDevice(device, options)
+ tombstones += _GetTombstonesForDevice(device, args)
- _ResolveTombstones(options.jobs, tombstones)
+ _ResolveTombstones(args.jobs, tombstones)
if __name__ == '__main__':
« no previous file with comments | « build/android/test_runner.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698