Your IP : 216.73.216.213
�
f f� � @ s� d Z d d l Z d d l Z d d l m Z m Z m Z m Z m Z m Z d d l
m Z Gd d � d e j � Z
d d � Z e d k r� e � n d S)
zV
Test suite to check compilance with PEP 247, the standard API
for hashing algorithms
� N)�md5�sha1�sha224�sha256�sha384�sha512)�supportc @ sR e Z d Z d d d � Z d d d � Z d d � Z d d � Z d
d � Z d S)�
Pep247TestNc C sX | j t | d � � | j | j d k p7 | j d k � | j | j | j | � d S)N�digest_sizer )�
assertTrue�hasattrr
�check_object�new)�self�module�key� r �5/opt/alt/python34/lib64/python3.4/test/test_pep247.py�check_module
s %zPep247Test.check_modulec C s� | d k r� | d k r! t } n | | d | �} | | d d | �} | | d d | �j � } | | d | �} | j d � | j � } nI | � } | d � } | d � j � } | � } | j d � | j � } | j | | � | j t | d � � | d k r"| j | j | � n | j | j t | � � | j d � | j � }
| j | j � |
j � � | j | j � |
j � � | j � | j � } } d }
x | D] } |
d | 7}
q�W| j |
| � d S)N� digestmods stringr
� z%02x)
r �digest�updateZassertEqualr r r
�len�copy� hexdigest)r �clsr
r r Zobj1Zobj2Zh1Zobj3Zh2Zobj_copyr r Zhd2Zbyter r r r
s:
zPep247Test.check_objectc C s | j t d d � d S)N)r
r )r r r r �test_md55 s zPep247Test.test_md5c C sc | j t d d � | j t d d � | j t d d � | j t d d � | j t d d � d S)N)r
r r r r r )r r r r �test_sha8 s
zPep247Test.test_shac C s | j t d d �d S)Nr s abc)r �hmac)r r r r � test_hmac? s zPep247Test.test_hmac)�__name__�
__module__�__qualname__r r
r r r r r r r r s
#r c C s t j t � d S)N)r Zrun_unittestr r r r r � test_mainB s r$ �__main__)�__doc__r ZunittestZhashlibr r r r r r Ztestr ZTestCaser r$ r! r r r r �<module> s .7