Skip to main content

Buildout recipe for running tests isolated at package boundaries

Project description


This recipe creates a testrunner script which is suitable for running all tests in a buildout environment at once.

At least in Zope2 there are frequently test isolation problems caused by too much global state being used. Instead of fighting against these test isolation problems, this recipe provides a convenient way to run all tests on a package by package basis, provides an overall summary and exits with a combined status code for all tests runs. The latter makes it possible to use this in a buildbot environment.


The options you can set in the recipes section in your buildout.cfg.

A list of packages that should be tested. Defaults to the eggs of the [test] part, if available. Tests of these packages and all their dependencies will be run.
The file system location of a zc.recipe.testrunner test runner, which needs to be configured correctly to run all tests for all specified eggs. Defaults to bin/test.
A list of eggs which should be excluded from the test runs. The values are interpreted as Python regular expressions.
A buildout section containing a mapping of group names to package names.
An buildout section containing a mapping of distribution names to package names.


This recipe create one script named after the recipe section.

All options are optional, so a minimal part looks like this:

recipe = plone.recipe.alltests

This creates a bin/test-all script that runs bin/test for all eggs (and their dependencies) specified in the [test] part.

Reporting bugs or asking questions

We have a shared bugtracker and help desk on Launchpad:


1.2 - 2009-11-06

  • Refactor test summary somewhat to make it easier to parse. [hannosch]
  • Exclude distribute by default from the test runs. Clarify that we always run tests for all dependencies of the packages listed in the eggs option. [hannosch]

1.1 - 2009-08-19

  • Added bin/test as default for test-script option. And [test]’s eggs (if the part is available) are used if the eggs option isn’t specified explicitly. [reinout]

1.0 - 2009-08-02

  • Added support for grouping multiple packages into one test group, avoiding some of the shared test setup cost. [hannosch]
  • Added total test time to the output. [hannosch]
  • Automatically extend the test path with the package location. [hannosch]
  • Allow the use of regular expressions in the exclude list. [hannosch]
  • Initial implementation. [hannosch]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for plone.recipe.alltests, version 1.2
Filename, size File type Python version Upload date Hashes
Filename, size (10.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page