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, https://commons.wikimedia.org/w/index.php?curid=7932305

This package is licensed under the MIT License.

Requirements

  • 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.)

Usage

Installation

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.:

[packages]
my.package.one
my.package.two

[build]
precondition = test -e bin/buildout
command = bin/buildout -n

[test]
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