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

Unified Diff: sky/tools/skydb

Issue 852483002: Add skydb logcat command and make relative build_dir work (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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 | « no previous file | sky/tools/skypy/paths.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/tools/skydb
diff --git a/sky/tools/skydb b/sky/tools/skydb
index ff906784fa7b2396051e73ed64664dafc4d62012..ad4ceed1be8ea01783139381461be3df935693cb 100755
--- a/sky/tools/skydb
+++ b/sky/tools/skydb
@@ -3,7 +3,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-from skypy.paths import Paths
+import skypy.paths
from skypy.skyserver import SkyServer
import argparse
import json
@@ -17,7 +17,8 @@ import sys
import time
import urlparse
-sys.path.insert(0, os.path.join(Paths('ignored').src_root, 'build', 'android'))
+SRC_ROOT = skypy.paths.Paths('ignored').src_root
+sys.path.insert(0, os.path.join(SRC_ROOT, 'build', 'android'))
from pylib import android_commands
from pylib import constants
from pylib import forwarder
@@ -52,13 +53,13 @@ def gn_args_from_build_dir(build_dir):
class SkyDebugger(object):
def __init__(self):
- self.paths = None
self.pids = {}
+ self.paths = None
def _server_root_for_url(self, url_or_path):
path = os.path.abspath(url_or_path)
- if os.path.commonprefix([path, self.paths.src_root]) == self.paths.src_root:
- server_root = self.paths.src_root
+ if os.path.commonprefix([path, SRC_ROOT]) == SRC_ROOT:
+ server_root = SRC_ROOT
else:
server_root = os.path.dirname(path)
logging.warn(
@@ -116,7 +117,7 @@ class SkyDebugger(object):
# FIXME: This doesn't work for android
if args.gdb:
- shell_command = ['gdb', '--args'] + shell_command
+ shell_command = ['gdb'] + shell_command
return shell_command
@@ -136,8 +137,11 @@ class SkyDebugger(object):
return sky_server
def start_command(self, args):
+ # skypy.paths.Paths takes a root-relative build_dir argument. :(
+ build_dir = os.path.abspath(args.build_dir)
+ root_relative_build_dir = os.path.relpath(build_dir, SRC_ROOT)
# FIXME: Lame that we use self for a command-specific variable.
- self.paths = Paths(args.build_dir)
+ self.paths = skypy.paths.Paths(root_relative_build_dir)
self.stop_command(None) # Quit any existing process.
self.pids = {} # Clear out our pid file.
@@ -195,11 +199,8 @@ class SkyDebugger(object):
logging.info('%s (%s) already gone.' % (name, pid))
def stop_command(self, args):
- try:
- self._send_command_to_sky('/quit')
- except:
- pass
- # Kill the mojo process for good measure. :)
+ # TODO(eseidel): mojo_shell crashes when attempting graceful shutdown.
+ # self._send_command_to_sky('/quit')
self._kill_if_exists('mojo_shell_pid', 'mojo_shell')
self._kill_if_exists('sky_server_pid', 'sky_server')
@@ -274,6 +275,16 @@ class SkyDebugger(object):
return False
time.sleep(1)
+ def logcat_command(self, args):
+ TAGS = [
+ 'AndroidHandler',
+ 'MojoMain',
+ 'MojoShellActivity',
+ 'MojoShellApplication',
+ 'chromium',
+ ]
+ subprocess.call(['adb', 'logcat', '-s'] + TAGS)
+
def main(self):
logging.basicConfig(level=logging.INFO)
logging.getLogger("requests").setLevel(logging.WARNING)
@@ -301,6 +312,10 @@ class SkyDebugger(object):
help=('stop sky (as listed in %s)' % PID_FILE_PATH))
stop_parser.set_defaults(func=self.stop_command)
+ logcat_parser = subparsers.add_parser('logcat',
+ help=('dump sky-related logs from device'))
+ logcat_parser.set_defaults(func=self.logcat_command)
+
self._add_basic_command(subparsers, 'trace', '/trace',
'toggle tracing')
self._add_basic_command(subparsers, 'reload', '/reload',
« no previous file with comments | « no previous file | sky/tools/skypy/paths.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698