Current File : //snap/core22/2115/usr/lib/python3.10/test/support/__pycache__/hashlib_helper.cpython-310.pyc |
o
}�5hs � @ sJ d dl Z d dlZd dlZzd dlZW n ey dZY nw 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 � t�r.� j�d�}|d u r � fdd�}� jd |_� j|_n|j}t�|��}|� _� S t �
� ��� ��fdd��}|S )N�
setUpClassc s t � | ��� d S )N)�superr )�cls��
func_or_class� �2/usr/lib/python3.10/test/support/hashlib_helper.pyr s z:requires_hashdigest.<locals>.decorator.<locals>.setUpClassz.setUpClassc s^ z�rt d urt j� �d� ntj� �d� W n ty' t�d� � d���w �| i |��S )N)�usedforsecurityz
hash digest 'z' is not available.)�_hashlib�new�hashlib�
ValueError�unittest�SkipTest)�args�kwargs)�
digestnamer �opensslr r r �wrapper&