Viewing file: allmodules.py (1.68 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
"""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
|