Your IP : 216.73.216.31


Current Path : /lib/python3.9/test/support/__pycache__/
Upload File :
Current File : //lib/python3.9/test/support/__pycache__/hashlib_helper.cpython-39.pyc

a

ؒds�@sJddlZddlZddlZzddlZWney:dZYn0ddd�ZdS)�NTcs����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
    cs|t�t�r\�j�d�}|dur@�fdd�}�jd|_�j|_n|j}t�|��}|�_�St	�
������fdd��}|S)N�
setUpClasscst�|���dS)N)�superr)�cls��
func_or_class��1/usr/lib/python3.9/test/support/hashlib_helper.pyrsz:requires_hashdigest.<locals>.decorator.<locals>.setUpClassz.setUpClasscsbz.�rtdurtj��d�ntj��d�Wn$tyRt�d��d���Yn0�|i|��S)N)�usedforsecurityz
hash digest 'z' is not available.)�_hashlib�new�hashlib�
ValueError�unittestZSkipTest)�args�kwargs)�
digestnamer�opensslr	rr�wrapper&s
�
z7requires_hashdigest.<locals>.decorator.<locals>.wrapper)�
isinstance�type�__dict__�get�__qualname__�
__module__�__func__�classmethodr�	functools�wraps)rrr��	decoratorrrr	rrrs

z&requires_hashdigest.<locals>.decoratorr)rrr	rrr�requires_hashdigests
r )NT)rrrr
�ImportErrorr rrrr�<module>s