veyron/lib/modules: new API for running common services and components.
This CL provides a new API that is intended to replace testutil/blackbox
and testutil/modules. It will make it very easy to run subprocesses for
common services and a library for doing so will be provided in a subsequent
CL. It hides the differences between running services either in-process or
as subprocesses. It provides a 'Shell' abstraction for managing the
services, represented as 'commands', and creating a context for them that
includes the notion of environment variables. It is designed so that the
'Expect' family of routines in blackbox can be layered on top of this
and thus become more generally useful.
This CL is preliminary and contains only a simple example of a subprocess
and inprocess usage.
Change-Id: I91d829ba214c28982e58ade2caba514134d5db1b
4 files changed