Metadata-Version: 2.1
Name: plone.recipe.alltests
Version: 1.5.1
Summary: Buildout recipe for running tests isolated at package boundaries
Home-page: https://pypi.python.org/pypi/plone.recipe.alltests
Author: Hanno Schlichting
Author-email: hanno@hannosch.eu
License: ZPL 2.1
Keywords: zope2 buildout
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Framework :: Buildout
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 4.3
Classifier: Framework :: Plone :: 5.0
Classifier: Framework :: Plone :: 5.1
Classifier: Framework :: Plone :: 5.2
Classifier: Framework :: Zope2
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: zc.buildout
Requires-Dist: setuptools
Requires-Dist: zc.recipe.egg

plone.recipe.alltests
=====================

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.


Options
-------

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

eggs
  A list of packages that should be installed in the test environment.
  Defaults to the eggs of the [test] part, if available.
  By default, tests of these packages and all their dependencies will be run,
  unless you change the ``default-policy``.

test-script
  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``.

groups
  A buildout section containing a mapping of group names to package names.

default-policy
  Determines whether packages should be included in the test run or excluded,
  by default. Set to 'include' (the default) to include all packages in the
  Python environment, or 'exclude' to skip all packages except those
  explicity included with ``include`` or ``include-groups``.

exclude
  A list of packages which should be excluded from the test runs, if
  ``default-policy`` is include. The values are interpreted as Python
  regular expressions.

exclude-groups
  A list of groups which should be excluded from the test runs, if
  ``default-policy`` is include.

include
  A list of packages which should be included in the test runs, if
  ``default-policy`` is exclude.

include-groups
  A list of groups which should be included in the test runs, if
  ``default-policy`` is exclude.

package-map
  An buildout section containing a mapping of distribution names to package
  names.


Scripts
-------

This recipe create one script named after the recipe section.

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

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

Please report issues and questions at:
https://github.com/plone/plone.recipe.alltests/issues

Changelog
=========

1.5.1 (2018-09-27)
------------------

Fixes:

- Fix imports when buildout was installed using pip.
  [davisagli]


1.5 (2015-03-21)
----------------

- Do not fail if path for a package can not be found.
  [timo]


1.4 (2014-03-02)
----------------

- Flush stdout after printing status before and after running tests.

- Added ``exclude-groups`` and ``include-groups`` so entire package groups
  can be easily included or excluded from the test run.

- Added the ``default-policy`` setting which makes it possible to exclude
  packages by default, unless explicitly listed in ``include``.


1.3 - 2013-10-08
----------------

- Make it possible to run a single test group by specifying the --group= option.
  This can aid with debugging test isolation problems.
  [davisagli]


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]


