123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- """Use the AllModules plugin by passing ``--all-modules`` or setting the
- NOSE_ALL_MODULES environment variable to enable collection and execution of
- tests in all python modules. Normal nose behavior is to look for tests only in
- modules that match testMatch.
- More information: :doc:`../doc_tests/test_allmodules/test_allmodules`
- .. warning ::
- This plugin can have surprising interactions with plugins that load tests
- from what nose normally considers non-test modules, such as
- the :doc:`doctest plugin <doctests>`. This is because any given
- object in a module can't be loaded both by a plugin and the normal nose
- :class:`test loader <nose.loader.TestLoader>`. Also, if you have functions
- or classes in non-test modules that look like tests but aren't, you will
- likely see errors as nose attempts to run them as tests.
- """
- import os
- from nose.plugins.base import Plugin
- class AllModules(Plugin):
- """Collect tests from all python modules.
- """
- def options(self, parser, env):
- """Register commandline options.
- """
- env_opt = 'NOSE_ALL_MODULES'
- parser.add_option('--all-modules',
- action="store_true",
- dest=self.enableOpt,
- default=env.get(env_opt),
- help="Enable plugin %s: %s [%s]" %
- (self.__class__.__name__, self.help(), env_opt))
- def wantFile(self, file):
- """Override to return True for all files ending with .py"""
- # always want .py files
- if file.endswith('.py'):
- return True
- def wantModule(self, module):
- """Override return True for all modules"""
- return True
|