Extract the shell runner into devtools.

In this patch, mojo/tools/mojo_shell.py is moved to devtools. Default
output paths corresponding to a regular Mojo checkout are inferred, so
that it continues to work out-of-the-box there.

In the next step we will make it easier (in particular, possible) to use
the runner outside of the regular Mojo checkout too (allow to indicate
some paths by hand, allow to run against already installed device Mojo
Shell, etc.)

R=qsr@chromium.org

Review URL: https://codereview.chromium.org/1242453003 .

Cr-Mirrored-From: https://github.com/domokit/mojo
Cr-Mirrored-Commit: 524585020ad434dc3b11004f3baa178a310cbf43
3 files changed
tree: 1b8d45f2cde6bbca317325831d7f3740310ddc08
  1. android_gdb/
  2. android_stack_parser/
  3. devtoolslib/
  4. debugger
  5. mojo_shell
  6. README.md
  7. remote_adb_setup
README.md

Devtools

Unopinionated tools for running, debugging and testing Mojo apps.

Repo contents

Devtools offer the following tools:

  • mojo_shell - universall shell runner
  • debugger - supports interactive tracing and debugging of a running mojo shell
  • remote_adb_setup - configures adb on a remote machine to communicate with a device attached to the local machine

and a Python scripting library designed for being embedded (devtoolslib).

Devtoolslib

devtoolslib is a Python module containing the core scripting functionality for running Mojo apps: shell abstraction with implementations for Android and Linux and support for apptest frameworks. The executable scripts in devtools are based on this module.

As devtools carry no assumptions about build system or file layout being used, one can choose to embed the functionality provided by devtoolslib in their own wrapper, instead of relying on the provided scripts. For examples, one can refer to mojo's apptest runner.

Install

git clone https://github.com/domokit/devtools.git

Development

The library is canonically developed in the mojo repository, https://github.com/domokit/devtools is a mirror allowing to consume it separately.