summaryrefslogtreecommitdiffstats
path: root/scripts/external_libs/nose-1.3.4/python3/nose/plugins/skip.py
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2016-03-23 09:29:18 +0200
committerimarom <imarom@cisco.com>2016-03-23 13:01:09 +0200
commita380bf1055c6cb4432b1c928f73a3ca3ada52d9d (patch)
tree74a716acf164459351982e8ad07d2f17d182059e /scripts/external_libs/nose-1.3.4/python3/nose/plugins/skip.py
parent5e727474efe18b3800df6130c068e668fadd2e0b (diff)
nose for python 3
Diffstat (limited to 'scripts/external_libs/nose-1.3.4/python3/nose/plugins/skip.py')
-rw-r--r--scripts/external_libs/nose-1.3.4/python3/nose/plugins/skip.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/scripts/external_libs/nose-1.3.4/python3/nose/plugins/skip.py b/scripts/external_libs/nose-1.3.4/python3/nose/plugins/skip.py
new file mode 100644
index 00000000..9d1ac8f6
--- /dev/null
+++ b/scripts/external_libs/nose-1.3.4/python3/nose/plugins/skip.py
@@ -0,0 +1,63 @@
+"""
+This plugin installs a SKIP error class for the SkipTest exception.
+When SkipTest is raised, the exception will be logged in the skipped
+attribute of the result, 'S' or 'SKIP' (verbose) will be output, and
+the exception will not be counted as an error or failure. This plugin
+is enabled by default but may be disabled with the ``--no-skip`` option.
+"""
+
+from nose.plugins.errorclass import ErrorClass, ErrorClassPlugin
+
+
+# on SkipTest:
+# - unittest SkipTest is first preference, but it's only available
+# for >= 2.7
+# - unittest2 SkipTest is second preference for older pythons. This
+# mirrors logic for choosing SkipTest exception in testtools
+# - if none of the above, provide custom class
+try:
+ from unittest.case import SkipTest
+except ImportError:
+ try:
+ from unittest2.case import SkipTest
+ except ImportError:
+ class SkipTest(Exception):
+ """Raise this exception to mark a test as skipped.
+ """
+ pass
+
+
+class Skip(ErrorClassPlugin):
+ """
+ Plugin that installs a SKIP error class for the SkipTest
+ exception. When SkipTest is raised, the exception will be logged
+ in the skipped attribute of the result, 'S' or 'SKIP' (verbose)
+ will be output, and the exception will not be counted as an error
+ or failure.
+ """
+ enabled = True
+ skipped = ErrorClass(SkipTest,
+ label='SKIP',
+ isfailure=False)
+
+ def options(self, parser, env):
+ """
+ Add my options to command line.
+ """
+ env_opt = 'NOSE_WITHOUT_SKIP'
+ parser.add_option('--no-skip', action='store_true',
+ dest='noSkip', default=env.get(env_opt, False),
+ help="Disable special handling of SkipTest "
+ "exceptions.")
+
+ def configure(self, options, conf):
+ """
+ Configure plugin. Skip plugin is enabled by default.
+ """
+ if not self.can_configure:
+ return
+ self.conf = conf
+ disable = getattr(options, 'noSkip', False)
+ if disable:
+ self.enabled = False
+