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

Side by Side Diff: sky/tools/shelldb

Issue 1161843007: Don't run adb as part of shelldb boot (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 6 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 from skypy.skyserver import SkyServer 6 from skypy.skyserver import SkyServer
7 import argparse 7 import argparse
8 import hashlib 8 import hashlib
9 import json 9 import json
10 import logging 10 import logging
(...skipping 26 matching lines...) Expand all
37 PID_FILE_KEYS = frozenset([ 37 PID_FILE_KEYS = frozenset([
38 'remote_sky_server_port', 38 'remote_sky_server_port',
39 'sky_server_pid', 39 'sky_server_pid',
40 'sky_server_port', 40 'sky_server_port',
41 'sky_server_root', 41 'sky_server_root',
42 'build_dir', 42 'build_dir',
43 'sky_shell_pid', 43 'sky_shell_pid',
44 'remote_gdbserver_port', 44 'remote_gdbserver_port',
45 ]) 45 ])
46 46
47 # TODO(iansf): Fix undefined behavior when you have more than one device attache d. 47 SYSTEM_LIBS_ROOT_PATH = '/tmp/device_libs'
48 SYSTEM_LIBS_ROOT_PATH = '/tmp/device_libs/%s' % (subprocess.check_output(['adb', 'get-serialno']).strip())
49 48
50 _IGNORED_PATTERNS = [ 49 _IGNORED_PATTERNS = [
51 # Ignored because they're not indicative of specific errors. 50 # Ignored because they're not indicative of specific errors.
52 re.compile(r'^$'), 51 re.compile(r'^$'),
53 re.compile(r'^Analyzing \['), 52 re.compile(r'^Analyzing \['),
54 re.compile(r'^No issues found'), 53 re.compile(r'^No issues found'),
55 re.compile(r'^[0-9]+ errors? and [0-9]+ warnings? found.'), 54 re.compile(r'^[0-9]+ errors? and [0-9]+ warnings? found.'),
56 re.compile(r'^([0-9]+|No) (error|warning|issue)s? found.'), 55 re.compile(r'^([0-9]+|No) (error|warning|issue)s? found.'),
57 56
58 # TODO: Remove once sdk-extensions are in place 57 # TODO: Remove once sdk-extensions are in place
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 ] 335 ]
337 gdb_path = '/usr/bin/gdb' 336 gdb_path = '/usr/bin/gdb'
338 337
339 eval_commands = [ 338 eval_commands = [
340 'directory %s' % SRC_ROOT, 339 'directory %s' % SRC_ROOT,
341 # TODO(eseidel): What file do I point it at? The apk? 340 # TODO(eseidel): What file do I point it at? The apk?
342 #'file %s' % self.paths.mojo_shell_path, 341 #'file %s' % self.paths.mojo_shell_path,
343 'target remote localhost:%s' % GDB_PORT, 342 'target remote localhost:%s' % GDB_PORT,
344 ] 343 ]
345 344
346 system_lib_dirs = self._pull_system_libraries(pids, 345 # TODO(iansf): Fix undefined behavior when you have more than one device attached.
347 SYSTEM_LIBS_ROOT_PATH) 346 device_id = subprocess.check_output([ADB_PATH, 'get-serialno']).strip()
348 eval_commands.append( 347 device_libs_path = os.path.join(SYSTEM_LIBS_ROOT_PATH, device_id)
349 'set solib-absolute-prefix %s' % SYSTEM_LIBS_ROOT_PATH) 348
349 system_lib_dirs = self._pull_system_libraries(pids, device_libs_path)
350 eval_commands.append('set solib-absolute-prefix %s' % device_libs_path)
350 351
351 symbol_search_paths = system_lib_dirs + symbol_search_paths 352 symbol_search_paths = system_lib_dirs + symbol_search_paths
352 353
353 # TODO(eseidel): We need to look up the toolchain somehow? 354 # TODO(eseidel): We need to look up the toolchain somehow?
354 if platform.system() == 'Darwin': 355 if platform.system() == 'Darwin':
355 gdb_path = os.path.join(SRC_ROOT, 'third_party/android_tools/ndk/' 356 gdb_path = os.path.join(SRC_ROOT, 'third_party/android_tools/ndk/'
356 'toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/' 357 'toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/'
357 'bin/arm-linux-androideabi-gdb') 358 'bin/arm-linux-androideabi-gdb')
358 else: 359 else:
359 gdb_path = os.path.join(SRC_ROOT, 'third_party/android_tools/ndk/' 360 gdb_path = os.path.join(SRC_ROOT, 'third_party/android_tools/ndk/'
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 args = parser.parse_args() 533 args = parser.parse_args()
533 pids = Pids.read_from(PID_FILE_PATH, PID_FILE_KEYS) 534 pids = Pids.read_from(PID_FILE_PATH, PID_FILE_KEYS)
534 exit_code = args.func(args, pids) 535 exit_code = args.func(args, pids)
535 # We could do this with an at-exit handler instead? 536 # We could do this with an at-exit handler instead?
536 pids.write_to(PID_FILE_PATH) 537 pids.write_to(PID_FILE_PATH)
537 sys.exit(exit_code) 538 sys.exit(exit_code)
538 539
539 540
540 if __name__ == '__main__': 541 if __name__ == '__main__':
541 SkyShellRunner().main() 542 SkyShellRunner().main()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698