Add test information to .egg-info
Project description
eggtestinfo README
Overview
This package is a setuptools plugin: it adds a file to the generated .egg-info directory, capturing the information used by the setup.py test command when running tests.
In particular, the generated file contains the following information:
- test_module
The dotted name of a module holding a test_suite function which can be called to compute a unittest.TestSuite for the package.
This option conflicts with test_suite.
This option can be overridden on the command line, e.g.:
$ python setup.py test --test_module=my_package.tests
- test_suite
The dotted name of a function which can be called to compute a unittest.TestSuite for the package.
This option conflicts with test_module.
Note that this name does not use the same conventions use by other setuptools callables: the function name is appended to the dotted name of the module with a dot, rather than a colon.
This option can be overridden on the command line, e.g.:
$ python setup.py test --test_suite=my_package.utils.find_tests
- test_loader
A setuptools entry point which, when called, returns an instalance of a loader class, suitable for passing as thet testLoader argument to unittest.main().
This option cannot be overridden on the command line; it can only be specified as an argument to setup().
- tests_require
A list of setuptools requirement specifications for packages which must be importable when running the tests.
This option cannot be overridden on the command line.
Using the Extension
The package registers a entrypoint for setuptools’ egg_info.writers group: it will therefore be used when building egg info in any environment where it is present on the PYTHONPATH.
To ensure that your packages get the test information recorded, even when used from an environment where this package is not already installed, add the following to your call to setup():
from setuptools import setup setup(name='my_package', # ... setup_requires=['eggtestinfo'], #... )
Examples
The following examples show the generated test_info.txt file for various sample packages.
For a package whose tests are finadable by setuptools’ default loader, but whose tests depend on another package which is not part of the “normal” dependencies of the package:
test_module = None test_suite = None test_loader = None tests_require = another_package
For a package which has a module, ‘tests’, which contains a ‘test_suite’ function that returns the test suite for the whole package:
test_module = my_package.tests test_suite = None test_loader = None tests_require = None
For a package which has a function, ‘find_tests’, in its ‘utils’ module, that returns the test suite for the package:
test_module = None test_suite = my_package.utils.find_tests test_loader = None tests_require = None
For a package which uses the “skip layers” loader from zope.testing:
test_module = None test_suite = None test_loader = zope.testing.testrunner.eggsupport:SkipLayers tests_require = zope.testing>=3.7dev
eggtestinfo Changelog
0.3 (2011-03-10)
Verified / added assertion of Python3 compatibility.
Added tests.
0.2.2 (2008-09-19)
Packaging update: added more extensive docs.
0.2.1 (2008-03-09)
Packaging update: add new Trove classifier, ‘Framework :: Setuptools Plugin’.
0.2 (2007-11-16)
Added ‘test_loader’ and ‘test_module’ information to generated file.
0.1 (2007-11-15)
Initial release.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.