File: //usr/lib/python3.9/test/support/__pycache__/hashlib_helper.cpython-39.pyc
a
kx�g� � @ sJ d dl Z d dlZd dlZzd dlZW n ey: dZY n0 ddd�ZdS )� NTc s � ��fdd�}|S )a� Decorator raising SkipTest if a hashing algorithm is not available
The hashing algorithm could be missing or blocked by a strict crypto
policy.
If 'openssl' is True, then the decorator checks that OpenSSL provides
the algorithm. Otherwise the check falls back to built-in
implementations. The usedforsecurity flag is passed to the constructor.
ValueError: [digital envelope routines: EVP_DigestInit_ex] disabled for FIPS
ValueError: unsupported hash type md4
c s t �� ��� ��fdd��}|S )Nc sb z.�rt d urt j� �d� ntj� �d� W n$ tyR t�d� � d���Y n0 �| i |��S )N)�usedforsecurityz
hash digest 'z' is not available.)�_hashlib�new�hashlib�
ValueError�unittestZSkipTest)�args�kwargs)�
digestname�func�opensslr � �1/usr/lib/python3.9/test/support/hashlib_helper.py�wrapper s
�
z7requires_hashdigest.<locals>.decorator.<locals>.wrapper)� functools�wraps)r r �r
r r )r r � decorator s z&requires_hashdigest.<locals>.decoratorr
)r
r r r r
r r �requires_hashdigest s
r )NT)r r r r �ImportErrorr r
r
r
r �<module> s