Message400597
Here is the implementation of the second option:
def requires_hashdigest(digestname, openssl=None, usedforsecurity=True):
def decorator(func):
if isinstance(func, type):
setUpClass = func.__dict__.get('setUpClass')
if setUpClass is None:
def setUpClass(cls):
super(func, cls).setUpClass()
setUpClass.__qualname__ = func.__qualname__ + '.setUpClass'
setUpClass.__module__ = func.__module__
else:
setUpClass = setUpClass.__func__
setUpClass = classmethod(decorator(setUpClass))
func.setUpClass = setUpClass
return func
@functools.wraps(func)
def wrapper(*args, **kwargs):
try:
if openssl and _hashlib is not None:
_hashlib.new(digestname, usedforsecurity=usedforsecurity)
else:
hashlib.new(digestname, usedforsecurity=usedforsecurity)
except ValueError:
raise unittest.SkipTest(
f"hash digest '{digestname}' is not available."
)
return func(*args, **kwargs)
return wrapper
return decorator |
|
Date |
User |
Action |
Args |
2021-08-30 13:20:29 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, pitrou, vstinner, davin, sobolevn |
2021-08-30 13:20:29 | serhiy.storchaka | set | messageid: <1630329629.44.0.087918553813.issue45042@roundup.psfhosted.org> |
2021-08-30 13:20:29 | serhiy.storchaka | link | issue45042 messages |
2021-08-30 13:20:29 | serhiy.storchaka | create | |
|