toll — poor man’s integration testing

toll = test offline locally lightweight

Run commands on multiple configured packages:

  • Commands can be set-up steps or a call to the test runner etc.
  • Each command is run on each package.
  • It stops if a command exits with a non-zero exit code (aka an error).

Schranke fast oben.svg
By MichaelFrey (talk) - Own work, CC BY 3.0,

This package is licensed under the MIT License.


  • The packages have to be checked out beforehand.
  • Currently the commands have to be identical across all packages. (The only option is to omit the command on a package when the precondition is not met.)



Install it as usual using pip:

$ pip install toll

Config file

You need an ini style config file. Its name should be toll.ini. Here are example contents of such a file.:


precondition = test -e bin/buildout
command = bin/buildout -n

command = bin/py.test

For the complete list of possible configuration options see the section Config file.

Run it

By default the command named test from the config file is run:

$ toll

If you specify multiple commands each one is run on each package before proceeding to the next command:

$ toll build test

For other options see:

$ toll --help