Metadata-Version: 2.1
Name: eggtestinfo
Version: 0.3
Summary: Add test information to .egg-info
Home-page: http://pypi.python.org/pypi/eggtestinfo
Author: Tres Seaver
Author-email: tseaver@palladion.com
License: PSF or ZPL
Keywords: setuptools eggs testing
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Setuptools Plugin
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Python Software Foundation License
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Archiving :: Packaging



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.


