tox-run-command

tox plugin to run arbitrary commands in a virtualenv


License
Apache-2.0
Install
pip install tox-run-command==0.4

Documentation

tox-run-command

A tox plugin to run an arbitrary command in a tox managed virtualenv.

Example:
tox -e py27 --run-command "server --port 8080"

In the example tox will will run server --port 8080 inside of the py27 virualenv.

Notes:

  • Any env defined in your tox.ini will work
  • The env will be created if it doesn't exist (just like tox normally does)
  • The commands from your tox.ini will not be run and instead the command you wanted to run is run
  • tox substitutions will also work. (e.g. tox -e py27 --run-command "server --config={homedir}/server.conf")

Why?

Almost all of the projects I work on use tox for test automation. Many of those projects, one such example is Keystone, carry custom Python and/or shell scripts to create virtualenvs to run server processes for manual testing. Other projects advise the developer to create a tox virtualenv by running tox -e py27 --notest and then running the server from within that virtualenv like .tox/py27/bin/server --port 8080.

Both of those options suck. Since I couldn't find a tool that already existed to do this, I created one using the new tox plugin API.