summaryrefslogtreecommitdiff
path: root/lib/spack/external/nose/plugins/allmodules.py
diff options
context:
space:
mode:
authorPeter Scheibel <scheibel1@llnl.gov>2015-12-04 17:55:20 -0800
committerPeter Scheibel <scheibel1@llnl.gov>2015-12-04 17:55:20 -0800
commit530e049d4a3f50481e7d55e8b61a9e840f48ad76 (patch)
tree126bd7d1521b0637e0bc15b47f23fb35adc820a1 /lib/spack/external/nose/plugins/allmodules.py
parentb98b6122044a40e195c4d868ae33890d59b2f0ea (diff)
downloadspack-530e049d4a3f50481e7d55e8b61a9e840f48ad76.tar.gz
spack-530e049d4a3f50481e7d55e8b61a9e840f48ad76.tar.bz2
spack-530e049d4a3f50481e7d55e8b61a9e840f48ad76.tar.xz
spack-530e049d4a3f50481e7d55e8b61a9e840f48ad76.zip
Added nose 1.3.7 source along with with the lgpl license (renamed from lgpl.txt
to LICENSE)
Diffstat (limited to 'lib/spack/external/nose/plugins/allmodules.py')
-rw-r--r--lib/spack/external/nose/plugins/allmodules.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/spack/external/nose/plugins/allmodules.py b/lib/spack/external/nose/plugins/allmodules.py
new file mode 100644
index 0000000000..1ccd7773a7
--- /dev/null
+++ b/lib/spack/external/nose/plugins/allmodules.py
@@ -0,0 +1,45 @@
+"""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