def _enable_backend_case(cls, backend):
"helper for create_backend_cases(); returns reason to skip backend, or None"
handler = cls.handler
if not is_default_backend(handler, backend) and not TEST_MODE("full"):
return "only default backend is being tested"
if handler.has_backend(backend):
return None
if handler.name == "bcrypt" and backend == "builtin" and TEST_MODE("full"):
# this will be auto-enabled under TEST_MODE 'full'.
return None
from passlib.utils import has_crypt
if backend == "os_crypt" and has_crypt:
if TEST_MODE("full") and cls.find_crypt_replacement():
# in this case, HandlerCase will monkeypatch os_crypt
# to use another backend, just so we can test os_crypt fully.
return None
else:
return "hash not supported by os crypt()"
return "backend not available"
评论列表
文章目录