summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Collins <elic@assurancetechnologies.com>2011-06-30 22:18:52 -0400
committerEli Collins <elic@assurancetechnologies.com>2011-06-30 22:18:52 -0400
commit4475fba1e1f6b5fc22283fcf4011c17dcd2f85f8 (patch)
treea706b82c57ff314dd95799e0d252bb0d526e8147
parente36d4e8b3e5a58f4274dc2b25a291f03379fba1c (diff)
downloadpasslib-4475fba1e1f6b5fc22283fcf4011c17dcd2f85f8.tar.gz
made disabled backends skipTest msg be more informative
-rw-r--r--passlib/tests/test_registry.py2
-rw-r--r--passlib/tests/utils.py18
2 files changed, 12 insertions, 8 deletions
diff --git a/passlib/tests/test_registry.py b/passlib/tests/test_registry.py
index 0b66988..c73b474 100644
--- a/passlib/tests/test_registry.py
+++ b/passlib/tests/test_registry.py
@@ -126,7 +126,7 @@ class RegistryTest(TestCase):
self.assertIs(get_crypt_handler("dummy_1"), dummy_1)
with catch_warnings():
- warnings.filterwarnings("ignore", "handler names be lower-case, and use underscores instead of hyphens:.*", UserWarning)
+ warnings.filterwarnings("ignore", "handler names should be lower-case, and use underscores instead of hyphens:.*", UserWarning)
self.assertIs(get_crypt_handler("DUMMY-1"), dummy_1)
#=========================================================
diff --git a/passlib/tests/utils.py b/passlib/tests/utils.py
index 0126d94..6add6f0 100644
--- a/passlib/tests/utils.py
+++ b/passlib/tests/utils.py
@@ -829,13 +829,16 @@ def _enable_backend_case(handler, name):
assert hasattr(handler, "backends"), "handler must support uh.HasManyBackends protocol"
assert name in handler.backends, "unknown backend: %r" % (name,)
if not handler.has_backend(name):
- return False
+ return False, "backend not available"
if enable_option("all-backends"):
- return True
+ return True, None
#otherwise only enable if backend is default
orig = handler.get_backend()
try:
- return handler.set_backend("default") == name
+ if handler.set_backend("default") == name:
+ return True, None
+ else:
+ return False, "only default backend being tested"
finally:
handler.set_backend(orig)
@@ -845,14 +848,15 @@ def create_backend_case(base, name):
# then we return None under UT1,
# but return class w/ skip flag set under UT2.
handler = base.handler
- enable = _enable_backend_case(handler, name)
+ enable, reason = _enable_backend_case(handler, name)
#UT1 doesn't support skipping whole test cases,
#so we just return None.
if not enable and ut_version < 2:
return None
- dummy = type(
+ #create subclass of 'base' which uses correct backend
+ subcase = type(
"%s_%s" % (name.title(), base.__name__),
(base,),
dict(
@@ -862,9 +866,9 @@ def create_backend_case(base, name):
)
if not enable:
- dummy = unittest.skip("backend not available")(dummy)
+ subcase = unittest.skip(reason)(subcase)
- return dummy
+ return subcase
#=========================================================
#misc helpers