Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_crypt.cpython-311.opt-1.pyc
�

�Ke���$�ddlZddlZddlmZmZ	edd���rejd���ejd��ZdZnC#e	$r;Z
ejdkrejee
�����dZee
��ZYdZ
[
ndZ
[
wwxYwej
ejdkd��ejed	��Gd
�dej������Zej
ed��Gd
�dej����Zedkrej��dSdS)�N)�check_sanitizer�warnings_helperT)�address�memoryz.The crypt module SEGFAULTs on ASAN/MSAN builds�crypt�win32zThis should only run on windowszimport succeededc��eZdZd�ZdS)�TestWhyCryptDidNotImportc�<�|�dt��dS)Nz
not supported)�assertIn�IMPORT_ERROR��selfs �9/usr/local/apps/python3/lib/python3.11/test/test_crypt.py�test_import_failure_messagez4TestWhyCryptDidNotImport.test_import_failure_messages���
�
�o�|�4�4�4�4�4�N)�__name__�
__module__�__qualname__r�rrr
r
s#������5�5�5�5�5rr
zcrypt module is requiredc���eZdZd�Zd�Zd�Zd�Zeje	oe	j
e	jvp
e	je	jvd��d���Z
eje	o
e	je	jvd��d���Zd	�Zd
S)�
CryptTestCasec�<�t�d��}t�d|��}|�||��t�dd��}|�3t�d|��}|�||��dSdS)N�
mypassword�ab)r�assertEqual)r�cr�cr2s   r�
test_cryptzCryptTestCase.test_crypts���
�[�[��
&�
&���k�k�,��+�+������b�!�!�!�
�[�[��t�
,�
,��
�>��+�+�l�B�/�/�C����S�"�%�%�%�%�%��>rc	��|�ttj��d��tjD]�}t�|��}|�t|��|jz
hd���|jr8|�|j|dt|��|jz
�����dS)N�@>r�����)	r�lenr�
_saltchars�methods�mksaltr�
salt_chars�ident)r�method�salts   r�	test_saltzCryptTestCase.test_salt&s�������U�-�.�.��3�3�3��m�	P�	P�F��<�<��'�'�D��M�M�#�d�)�)�f�&7�7�9K�9K�9K�L�L�L��|�
P��
�
�f�l�D�1M�#�d�)�)�F�<M�2M�1M�,N�O�O�O��		P�	Prc���tjD]�}t�d|��}|�t|��|j��t�d|��}|�||��t�dt�|����}|�t|��|j����dS)N�assword)rr)rr'�
total_sizer*)rr-rrs    r�test_saltedcryptzCryptTestCase.test_saltedcrypt.s����m�	9�	9�F����Y��/�/�B����S��W�W�f�&7�8�8�8��+�+�i��,�,�C����S�"�%�%�%����Y����V�(<�(<�=�=�B����S��W�W�f�&7�8�8�8�8�
	9�	9rc�^�|�ttj��dk��tj�d��r-|�tjtjg��dS|�tjdtj	��dS)Nr"�openbsd���)
�
assertTruer'rr)�sys�platform�
startswithr�METHOD_BLOWFISH�METHOD_CRYPTrs r�test_methodszCryptTestCase.test_methods7s�������E�M�*�*�a�/�0�0�0��<�"�"�9�-�-�	D����U�]�U�-B�,C�D�D�D�D�D����U�]�2�.��0B�C�C�C�C�Crzrequires support of SHA-2c��tjtjfD]�}dD]�}t�||���}|�d|z|��|�t
|��|jz
dt
t|����z��t�d|��}|�	|��t�d|��}|�||�����dS)N)��i'i����roundsz$rounds=%d$�r)
r�
METHOD_SHA256�
METHOD_SHA512r*rrr'r+�strr7)rr-rAr.rrs      r�test_sha2_roundszCryptTestCase.test_sha2_rounds>s����*�E�,?�@�		*�		*�F�/�
*�
*���|�|�F�6�|�:�:���
�
�m�f�4�d�;�;�;�� � ��T���V�->�!>�!#�c�#�f�+�+�&6�&6�!6�8�8�8��[�[��t�4�4������#�#�#��k�k�,��3�3��� � ��b�)�)�)�)�
*�		*�		*rzrequires support of Blowfishc���tdd��D]�}t�tjd|z���}|�d|z|��|�t|��tjjz
ddh��t�d|��}|�|��t�d|��}|�||����dS)	Nr$rBr"r@z$%02d$r%r&r)	�rangerr*r;rr'r+r7r)r�
log_roundsr.rrs     r�test_blowfish_roundsz"CryptTestCase.test_blowfish_roundsQs��� ��2�,�,�	&�	&�J��<�<�� 5�a�:�o�<�N�N�D��M�M�(�Z�/��6�6�6��M�M�#�d�)�)�e�&;�&F�F��A��O�O�O����\�4�0�0�B��O�O�B�����+�+�l�B�/�/�C����S�"�%�%�%�%�	&�	&rc���tjtjtjfD]�}|�t
��5t�|d���ddd��n#1swxYwY|�t
��5t�|d���ddd��n#1swxYwYdddddzfD]P}|�t��5t�||���ddd��n#1swxYwY�Q��|�t��5t�tjd���ddd��n#1swxYwYtjtj	fD]Q}|�
td	��5t�|d
���ddd��n#1swxYwY�RdS)N�4096r@g�@rr"r6i�r?�supporti)rrCrDr;�assertRaises�	TypeErrorr*�
ValueErrorr<�
METHOD_MD5�assertRaisesRegex)rr-rAs   r�test_invalid_roundsz!CryptTestCase.test_invalid_rounds^s����*�E�,?��,�.�	8�	8�F��"�"�9�-�-�
4�
4����V�F��3�3�3�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4����
4�
4�
4�
4��"�"�9�-�-�
4�
4����V�F��3�3�3�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4����
4�
4�
4�
4��a��Q��V�,�
8�
8���&�&�z�2�2�8�8��L�L���L�7�7�7�8�8�8�8�8�8�8�8�8�8�8����8�8�8�8��
8��
�
�z�
*�
*�	=�	=��L�L��.�t�L�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=��)�5�+;�<�	2�	2�F��'�'�
�I�>�>�
2�
2����V�D��1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2��	2�	2sZ�A)�)A-	�0A-	�B7�7B;	�>B;	�'D�D�D�7'E*�*E.�1E.�*G�G	�G	N)rrrrr/r3r=�unittest�
skipUnlessrrCr)rDrFr;rJrSrrrrrs�������&�&�&�P�P�P�9�9�9�D�D�D��X��
�	
���5�=�0�X�E�4G�5�=�4X�#���
*�
*���
*��X��
�8�%�'�5�=�8�:X���&�&���&�2�2�2�2�2rr�__main__)r8rT�test.supportrr�SkipTest�import_deprecatedrr
�ImportError�exr9rErU�skipIf�TestCaser
rr�mainrrr�<module>r_s���
�
�
�
�����9�9�9�9�9�9�9�9�	���t�D�1�1�1�R��h�� P�Q�Q�Q�-�O�-�g�6�6�E��L�L������
�|�w����h����B���(�(�(��E��3�r�7�7�L�L�L�L�L�L�����	�������S�\�W�,�.O�P�P�����*�+�+�5�5�5�5�5�x�0�5�5�,�+�Q�P�5����U�6�7�7�Q2�Q2�Q2�Q2�Q2�H�%�Q2�Q2�8�7�Q2�h�z����H�M�O�O�O�O�O��s�/A�B�1A=�=B