Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_context.cpython-312.pyc

�

'Μg{���ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZ	ddl
mZd�ZGd�dej"�ZGd�d	�ZGd
�de�ZGd�d
�ZGd�de�ZGd�de�Zej4edud�Gd�dej"��Zedk(rej:�yy#e$rdZY��wxYw)�N)�support)�threading_helper��hamtc�B��tj���fd��}|S)z*Needed to make reftracking test mode work.c�X��tj�}|j�g|��i|��S�N��contextvars�Context�run)�args�kwargs�ctx�funcs   ��./usr/local/lib/python3.12/test/test_context.py�wrapperz!isolated_context.<locals>.wrappers,����!�!�#���s�w�w�t�-�d�-�f�-�-�)�	functools�wraps)rrs` r�isolated_contextrs%����_�_�T��.��.��Nrc��eZdZd�Zed��Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zed
��Z
d�Zd�Zd
�Zed��Zed��Zed��Zed��Zed��Zd�Zeej0�d���Zy)�ContextTestc��|jtd�5tj�ddd�|jtd�5tjd�ddd�tjd�}|j	|j
d�|j
t�5d|_ddd�|jt|�td��y#1swY��xYw#1swY��xYw#1swY�FxYw)Nztakes exactly 1z
must be a str��aaa�bbb)
�assertRaisesRegex�	TypeErrorr�
ContextVar�assertEqual�name�assertRaises�AttributeError�assertNotEqual�hash)�self�cs  r�test_context_var_new_1z"ContextTest.test_context_var_new_1s���
�
#�
#�I�/@�
A��"�"�$�B��
#�
#�I��
?��"�"�1�%�@�
�"�"�5�)���������'�
�
�
�~�
.��A�F�/�	
���D��G�T�%�[�1�B�
A��@�
?��/�
.�s#�C#�
C/�.C;�#C,�/C8�;Dc��tjd�}|jdt|��tjdd��}|jdt|��g}tjd|��}|j	|�|jdt|��|jdt|��|jd�}|jt|�t|��|j
dt|��|j|�|jdt|��y)N�a�{��default�123z...rz used )rr �assertIn�repr�append�set�assertNotIn�reset)r'r(�lst�ts    r�test_context_var_repr_1z#ContextTest.test_context_var_repr_1+s����"�"�3�'���
�
�c�4��7�#��"�"�3��4���
�
�e�T�!�W�%����"�"�3��4���
�
�1�
��
�
�e�T�!�W�%��
�
�e�T�#�Y�'�
�E�E�!�H���
�
�d�1�g�t�A�w�'�����4��7�+�	����
��
�
�h��Q��(rc��|jtd�5Gd�dtj�}ddd�|jtd�5Gd�dtj�}ddd�|jtd�5Gd�dtj
�}ddd�y#1swY�zxYw#1swY�NxYw#1swYyxYw)Nznot an acceptable base typec��eZdZy)�<ContextTest.test_context_subclassing_1.<locals>.MyContextVarN��__name__�
__module__�__qualname__�rr�MyContextVarr;As��rrAc��eZdZy)�9ContextTest.test_context_subclassing_1.<locals>.MyContextNr<r@rr�	MyContextrCF���rrDc��eZdZy)�7ContextTest.test_context_subclassing_1.<locals>.MyTokenNr<r@rr�MyTokenrGJrErrH)rrrr r�Token)r'rArDrHs    r�test_context_subclassing_1z&ContextTest.test_context_subclassing_1?s���
�
#�
#�I�/L�
M�
�{�5�5�
�N�
�
#�
#�I�/L�
M�
�K�/�/�
�N��
#�
#�I�/L�
M�
�+�+�+�
�N�
M�N�
M��
N�
M��N�
M�s#�B*�B6�C�*B3�6B?�Cc��|jtd�5tjd�ddd�|jtd�5tjdd��ddd�|jtd�5tjd��ddd�tjdii��y#1swY��xYw#1swY�`xYw#1swY�7xYw)Nz
any argumentsr�r+r@)rrrr�r's r�test_context_new_1zContextTest.test_context_new_1Ms���
�
#�
#�I��
?�����"�@�
�
#�
#�I��
?�����Q�'�@�
�
#�
#�I��
?����!�$�@����!�b�!�
@�
?��
?�
?��
?�
?�s#�B6�C�C�6B?�C�Cc�b�tj�}|jtd�5|dddd�|jtd�5d|vddd�|jtd�5|j	d�ddd�y#1swY�]xYw#1swY�FxYw#1swYyxYw)NzContextVar key was expectedr)rrrr�get�r'rs  r�test_context_typerrors_1z$ContextTest.test_context_typerrors_1Vs����!�!�#��
�
#�
#�I�/L�
M���F�N�
�
#�
#�I�/L�
M�
��H�N�
�
#�
#�I�/L�
M��G�G�A�J�N�
M�	N�
M��
M�
M��
M�
M�s#�B
�B�2B%�
B�B"�%B.c�l�tj�}|j|tj�yr	)r�copy_context�assertIsInstancerrQs  r�test_context_get_context_1z&ContextTest.test_context_get_context_1`s&���&�&�(�����c�;�#6�#6�7rc��tj�}|jtd�5|j	�ddd�y#1swYyxYw)Nzmissing 1 required)rrrrr
rQs  r�test_context_run_1zContextTest.test_context_run_1ds7���!�!�#��
�
#�
#�I�/C�
D��G�G�I�E�
D�
D�s�A�Ac��tj�}d�}|tj|�fD]�}|j	|j|�dddif�|j	|j|d�dddif�|j	|j|d��dddd	�f�|j	|j|d
d��dddd	�f�i}|j	|j
|d
fi|��dddif�|j	|i���y)Nc��d|d<|dz
}||fS)N�foo�spam��barr@�rrs  rrz,ContextTest.test_context_run_2.<locals>.funcms��"�F�6�N��H��D���<�rr]r\r[r)rr^�rL)r+r\�)rar^)rrr�partialr!r
)r'rr�fr+s     r�test_context_run_2zContextTest.test_context_run_2js���!�!�#��	 �
�	�)�)�$�/�0�A�
���S�W�W�Q�Z�(�V�U�O�)D�E����S�W�W�Q��]�Z�&�%��,I�J��������Q�����E�2�3�
5�
�������2���#��A�u�5�6�
8��A���������2�#��#��v�u�o�.�
0�
���Q��#�%1rc��tj�}d�}|jt�5|j	|�ddd�|jt�5|j	|dd�ddd�|jt�5|j	|ddd��ddd�y#1swY�nxYw#1swY�IxYw#1swYyxYw)Nc��ddzy)Nrrr@r_s  rrz,ContextTest.test_context_run_3.<locals>.func�s	��
��Errr`r,rL)rrr#�ZeroDivisionErrorr
)r'rrs   r�test_context_run_3zContextTest.test_context_run_3�s����!�!�#��	��
�
�0�
1��G�G�D�M�2�
�
�
�0�
1��G�G�D�!�Q��2�
�
�
�0�
1��G�G�D�!�Q�#�G�&�2�
1�	2�
1��
1�
1��
1�
1�s#�B,�B8�
C�,B5�8C�C
c�6�����tj�}tj��tjd����fd������fd�}|j|�}�j	||��j	|�d��j�|�y)N�varc�F���j�jd��yr	)�assertIsNonerP�r'rjs��r�func2z-ContextTest.test_context_run_4.<locals>.func2�s������c�g�g�d�m�,rc�V���j�jd���jd��j���j	�jd�d�tj�}�j	t|�d��j	|�d�|S)Nr\r)rlrPr3r
r!rrT�len)�cur�ctx2rnr'rjs ����r�func1z-ContextTest.test_context_run_4.<locals>.func1�s�������c�g�g�d�m�,��G�G�F�O��H�H�U�O����S�W�W�T�]�F�3��*�*�,�C����S��X�q�)����S��X�v�.��Jrr\)rrr r
r!r0)r'�ctx1rs�returned_ctxrrrnrjs`   @@@r�test_context_run_4zContextTest.test_context_run_4�s{����"�"�$���"�"�$���$�$�U�+��	-�		��x�x��������|�,�����c�*�F�3��
�
�c�<�(rc����tj�}tjd����fd�}�jt�5|j|�ddd��j
�jd��y#1swY�*xYw)Nrjc�r���j�jd���jd�ddzy)Nr\rr)rlrPr3rms��rrz,ContextTest.test_context_run_5.<locals>.func�s+������c�g�g�d�m�,��G�G�F�O�
��Er)rrr r#rgr
rlrP)r'rrrjs`  @r�test_context_run_5zContextTest.test_context_run_5�sh����!�!�#���$�$�U�+��	�
�
�
�0�
1��G�G�D�M�2�	
���#�'�'�$�-�(�2�
1�s�B�Bc�����tj��tjdd������fd�}�j|�y)Nr+rr-c�*���j�j�d��j�j����jd��j�j�d��j�j��d�y)Nr�*)r!rPrlr3)r(rr's���r�funz+ContextTest.test_context_run_6.<locals>.fun�sh������Q�U�U�W�a�(����c�g�g�a�j�)�
�E�E�"�I����Q�U�U�W�b�)����S�W�W�Q�Z��,r�rrr r
�r'r}r(rs` @@r�test_context_run_6zContextTest.test_context_run_6�s5����!�!�#���"�"�3��2��	-�	����rc�b����tj�����fd���j��y)Nc�~���jtd�5�j��ddd�y#1swYyxYw)Nzis already entered)r�RuntimeErrorr
)rr}r's���rr}z+ContextTest.test_context_run_7.<locals>.fun�s,����'�'��6J�K������L�K�K�s�3�<r
)r'rr}s`@@r�test_context_run_7zContextTest.test_context_run_7�s#����!�!�#��	�	����rc�R	�tjd�}|jt�5|j	�ddd�|j|j	d��|j
d�}|j|j	�d�|j|j	d�d�|j|j|j�|j|jtjj�|j|j|�|j
d�}|j|j	�d�|j|j	d�d�|j|jd�|j|�|j|j	�d�|j|j	d�d�|j
d�|jtd�5|j|�ddd�|j|j	�d�tj �}|j#||�|j|�|jtd�5|j|�ddd�|j|j	d��|j#||�|j||d�|j|j	|d�d�|jt%|�d�|jt'|j)��|dfg�|jt'|j+��dg�|jt'|j-��|g�|jt'|�|g�tj �}|j/||�|jt0�5||ddd�|j|j	|d�d�|jt%|�d�|jt'|�g�y#1swY��<xYw#1swY��`xYw#1swY���xYw#1swY��xYw)	Nr(r|r\�spam2zhas already been used�aarr)rr r#�LookupErrorrPrlr3r!�assertIs�	old_value�MISSINGrIrjr5rr�rTr0rp�list�items�values�keysr4�KeyError)r'r(�t0r7rtrrs      r�test_context_getset_1z!ContextTest.test_context_getset_1�sU���"�"�3�'��
�
�
�{�
+�
�E�E�G�,�	
���!�%�%��+�&�
�U�U�2�Y���������"�%�������t��b�)��
�
�b�l�l�B�J�J�/��
�
�b�l�l�K�$5�$5�$=�$=�>��
�
�b�f�f�a� �
�E�E�&�M���������&�)�������t��f�-�������b�)�	����
��������"�%�������t��b�)�	���g��
�
#�
#�L�2I�
J�
�G�G�A�J�K��������'�*��'�'�)���
�
�a���	�����
�
#�
#�L�2I�
J�
�G�G�B�K�K����!�%�%��+�&��
�
�a�������a��'�*�������!�T�*�G�4�����T��A�&�����d�j�j�l�+�q�'�l�^�<�����d�k�k�m�,�w�i�8�����d�i�i�k�*�Q�C�0�����d��a�S�)��'�'�)������D�!�
�
�
�x�
(���G�)�������!�T�*�D�1�����T��A�&�����d��R�(�c,�
+��,K�
J��K�
J��)�
(�s/�Q6�R�R�R�6R�R
�R�R&c���tjd�}tjd�}|jd�}|jtd�5|j|�ddd�y#1swYyxYw)N�v1�v2r|zby a different)rr r3r�
ValueErrorr5)r'r�r��t1s    r�test_context_getset_2z!ContextTest.test_context_getset_2sX��
�
#�
#�D�
)��
�
#�
#�D�
)��
�V�V�B�Z��
�
#�
#�J�0@�
A��H�H�R�L�B�
A�
A�s�A-�-A6c�����tjdd���tj�����fd�}�j|�y)Nr(r|r-c����j�j�d��jt�5��ddd��j	�j����j�j�d�d��j����jt
�j��g��jd�}�jt
�j���g��j��d��j|��jt
�j��g��jt�5��ddd�y#1swY��5xYw#1swYyxYw)Nr|r\r)
r!rPr#r�rlr4r�r�r3r5)r7r(rr's ���rr}z.ContextTest.test_context_getset_3.<locals>.funs"������Q�U�U�W�b�)��"�"�8�,��A��-����c�g�g�a�j�)����S�W�W�Q��/��8����Q��$����T�#�(�(�*�-�r�2����a��A����T�#�(�(�*�-��s�3����S��V�Q�'�
�G�G�A�J����T�#�(�(�*�-�r�2��"�"�8�,��A��-�,�-�,��-�,�s�E0�!E=�0E:�=F)rr rr
rs` @@r�test_context_getset_3z!ContextTest.test_context_getset_3s5����"�"�3��3���!�!�#��	�$	����rc�
�tjdd��}tj�}|j|jd�}|jtd�5|j|�ddd�y#1swYyxYw)Nr(r|r-rzdifferent Context)rr rr
r3rr�r5)r'r(r�toks    r�test_context_getset_4z!ContextTest.test_context_getset_4)s_���"�"�3��3���!�!�#���g�g�a�e�e�Q���
�
#�
#�J�0C�
D�
�G�G�C�L�E�
D�
D�s�A9�9Bc�����tjdd����jg���fd�}tj�j	|��j�j
�g�y)Nr(r|r-c����jg��j�jd��j�j�dg�y)Nr|)r3rPr2r!�r(r's��rr}z.ContextTest.test_context_getset_5.<locals>.fun8s8���
�E�E�"�I�
�E�E�G�N�N�2�����Q�U�U�W�r�d�+r)rr r3rTr
r!rP)r'r}r(s` @r�test_context_getset_5z!ContextTest.test_context_getset_53sT����"�"�3��3��	���b�	�	,�
	� � �"�&�&�s�+��������"�%rc������tj��tjdd�������fd�}��fd���j|�y)Nr(r|r-c�^���jd��j�}�j|�d��jd��j��d��j|�d�|j���j��d��j|�d�y)N�
��)r3�copyr!r
)rrr(rt�ctx2_funr's ����r�ctx1_funz1ContextTest.test_context_copy_1.<locals>.ctx1_funDs����
�E�E�"�I��9�9�;�D����T�!�W�b�)�
�E�E�"�I����T�!�W�b�)����T�!�W�b�)��H�H�X�����T�!�W�b�)����T�!�W�b�)rc����j�j�d��jd��j�j�d�y)Nr�r�)r!rPr3r�s��rr�z1ContextTest.test_context_copy_1.<locals>.ctx2_funRs:������Q�U�U�W�b�)�
�E�E�"�I����Q�U�U�W�b�)rr~)r'r�r(rtr�s` @@@r�test_context_copy_1zContextTest.test_context_copy_1@s;����"�"�$���"�"�3��3��	*�	*�
	
����rc�Z���tjd����fd�}tjj	d��}	t|j
|td���}|j��j|ttd���y#|j�wxYw)N�cvarc����td�D]b}�j||z�tjt	j
dd���j
�j�||z��d|S)Nr�g����MbP?g�������?)�ranger3�time�sleep�random�uniformr!rP)�num�ir�r's  ��r�subz/ContextTest.test_context_threads_1.<locals>.sub^sY����2�Y������q��!��
�
�6�>�>�%��6�7�� � �����S�1�W�5���Jrr�)�max_workers)
rr �
concurrent�futures�ThreadPoolExecutorr��mapr��shutdownr!)r'r��tp�resultsr�s`   @r�test_context_threads_1z"ContextTest.test_context_threads_1Ys�����%�%�f�-��	��
�
�
2�
2�r�
2�
B��	��2�6�6�#�u�R�y�1�2�G��K�K�M�����$�u�R�y�/�2��
�K�K�M�s�$B�B*N)r=r>r?r)rr8rJrNrRrVrXrdrhrvryr�r�r�r�r�r�r�r�r�requires_working_threadingr�r@rrrrs���
2��)��)�&�"��8��$�8'��)��)�0)����3)��3)�j��������0�����
&��
&��2�0��0�0�2�3�3��3rrc�.�eZdZdZdd�d�Zd�Zd�Zd�Zy)�HashKeyN��error_on_eq_toc�<�|dk7sJ�||_||_||_y)N���)r"r&r�)r'r&r"r�s    r�__init__zHashKey.__init__ss$���r�z��z���	���	�,��rc�<�d|j�d|j�d�S)Nz
<Key name:z hash:�>)r"r&rMs r�__repr__zHashKey.__repr__ys���D�I�I�;�f�T�Y�Y�K�q�9�9rc�j�|j�|jjrt�|jSr	)�_crasher�
error_on_hash�HashingErrorr&rMs r�__hash__zHashKey.__hash__|s(���=�=�$����)D�)D����y�y�rc��t|t�stS|j�|jjrt
�|j�|j|urtd|�d|����|j�|j|urtd|�d|����|j|jf|j|jfk(S)Nzcannot compare z to )
�
isinstancer��NotImplementedr��error_on_eq�EqErrorr�r�r"r&)r'�others  r�__eq__zHashKey.__eq__�s����%��)�!�!��=�=�$����)B�)B��M����*�t�/B�/B�e�/K���t�h�d�5�)�D�E�E����+��0D�0D��0L���u�i�t�D�8�D�E�E��	�	�4�9�9�%�%�*�*�e�j�j�)A�A�Ar)r=r>r?r�r�r�r�r�r@rrr�r�ps���H�59�-�:��Brr�c�(��eZdZ�fd�Z�fd�Z�xZS)�KeyStrc���tj� tjjrt�t�|��Sr	)r�r�r�r��superr�)r'�	__class__s �rr�zKeyStr.__hash__�s1������'�G�,<�,<�,J�,J����w��!�!rc���tj� tjjrt�t�|�|�Sr	)r�r�r�r�r�r�)r'r�r�s  �rr�z
KeyStr.__eq__�s1������'�G�,<�,<�,H�,H��M��w�~�e�$�$r)r=r>r?r�r��
__classcell__)r�s@rr�r��s���"�
%�%rr�c�&�eZdZddd�d�Zd�Zd�Zy)�HaskKeyCrasherF�r�r�c� �||_||_yr	r�)r'r�r�s   rr�zHaskKeyCrasher.__init__�s��*���&��rc�P�tj�td��|t_y)Nzcannot nest crashers)r�r�r�rMs r�	__enter__zHaskKeyCrasher.__enter__�s"�����'��5�6�6���rc��dt_yr	)r�r�)r'�excs  r�__exit__zHaskKeyCrasher.__exit__�s
����rN)r=r>r?r�r�r�r@rrr�r��s��(-�5�'� �
 rr�c��eZdZy)r�Nr<r@rrr�r�����rr�c��eZdZy)r�Nr<r@rrr�r��r�rr�z!_testcapi lacks "hamt()" functionc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
jd�d	��Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�HamtTestc��tdd�}tdd�}|j||�|jt|�t|��t	�}d||<d||<|j||d�|j||d�y)Nr�rrr+�b)r�r%r!r&�dict)r'�k1�k2�ds    r�test_hashkey_helper_1zHamtTest.test_hashkey_helper_1�s���
�R��
��
�R��
�����B��#�����b��4��8�,��F����"����"������2���$�����2���$rc��t�}d}yr	r�r'�hs  r�test_hamt_basics_1zHamtTest.test_hamt_basics_1�s���F���rc�D�t�}|jt|�d�|jdd�}|j	||�|jt|�d�|jt|�d�|j|j
d��|j|j
dd�d�|j|j
d�d�|jdd�}|j	||�|jt|�d�|jt|�d�|jt|�d�|j|j
d�d�|j|j
d�d�|j|j
d��|j|j
d��|j|j
d��|j|j
d�d�dx}x}}y)Nrr+r�rr|r�r`)rr!rpr3�assertIsNotrlrP)r'r��h2�h3s    r�test_hamt_basics_2zHamtTest.test_hamt_basics_2�s����F������Q���#�
�U�U�3��_������B������Q���#�����R��!�$����!�%�%��*�%�������s�B���,���������c�*�
�V�V�C��_������R� �����Q���#�����R��!�$�����R��!�$���������c�*���������b�)����!�%�%��*�%����"�&�&��+�&����!�%�%��*�%���������c�*�����B�rc��t�}t�}|jd|�}|jd|�}|j||�y)N�1)r�objectr3r�)r'r��o�h1r�s     r�test_hamt_basics_3zHamtTest.test_hamt_basics_3�s<���F���H��
�U�U�3��]��
�V�V�C��^���
�
�b�"�rc�P�t�}|jdg�}|jdg�}|j||�|jt	|�d�|jt	|�d�|j|jd�|jd��y)N�keyr)rr3r�r!rprP)r'r�rr�s    r�test_hamt_basics_4zHamtTest.test_hamt_basics_4�s����F��
�U�U�5�"�
��
�V�V�E�2�
������R� �����R��!�$�����R��!�$������������u�
�6rc���tdd�}tdd�}tdd�}t�}|j|d�}|j|d�}|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|d�}|j|d�}|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|j|j	|�d�|jt|�d	�|jt|�d
�|jt|�d�|jt|�d�|jt|�d�y)
Nr�rr�cccr+r��ccr�rrr`�)r�rr3r!rPrp)	r'r�r��k3r�r�r��h4�h5s	         r�test_hamt_collision_1zHamtTest.test_hamt_collision_1�s7��
�R��
��
�R��
��
�R��
���F��
�U�U�2�s�^��
�V�V�B��_��������r��D�)�������r��D�)���������S�)���������T�*���������S�)���������S�)�
�V�V�B��
��
�V�V�B��
����������S�)���������S�)���������S�)���������T�*���������T�*���������S�)���������T�*���������T�*���������T�*�����Q���#�����R��!�$�����R��!�$�����R��!�$�����R��!�$rc�J�tdd�}tdd�}tdd�}t�}|j|d�}|j|d�}|j|d�}|j|j	�D�chc]}|j
��c}hd��ycc}w)Nl�C�Dr�E>rrr)r�rr3r!r�r")r'rrrr��ks      r�test_hamt_collision_3zHamtTest.test_hamt_collision_3s���
�9�3�?���9�3�?���9�3�?���F��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��*	
���!�&�&�(�3�(�Q�!�&�&�(�3�_�E��3s�B �cpuc	��d}d}d}d}d}t|�D�]�}t�}t�}t|�D�]k}	t|	�}
|	|zsEt	d��5|jt�5|j|
|	�ddd�ddd�|j|
|	�}|	|zsMt	d��5|jt�5|jt|	��ddd�ddd�|	||
<|jt|�t|��|	|zr��|jt|j��t|j���|jt|j��t|j�����n|jt|�|�t|�D]-}
|j|jt|
�d	�|
��/tt|��}tj|�t!|�D�]�\}}	t|	�}
||zsDt	d��5|jt�5|j#|
�ddd�ddd�||zsMt	d��5|jt�5|j#t|	��ddd�ddd�|j#|
�}|j|j|
d	�d	�||
=|jt|�t|��||d
zk(r|}
|j%�}||zr��(|jt|j'��t|j'���|jt|j'��t|j'������|jt|�d�|jt|�d�D]/}
|j
jt)|
��||
��1|jt|�t
��t!|�D�]\}	}
|
j#t)|
��}
|j|
jt)|
�d	�d	�|j+t)|
�d�|jt|�t|��|	|zr��|jt|j-��t|j-���|jt|j-��t|j-�����|jt|�d�|jt|�d�|jt|j��g����y#1swY��mxYw#1swY��rxYw#1swY��#xYw#1swY��(xYw#1swY���xYw#1swY���xYw#1swY��nxYw#1swY��sxYw)NiXi��arar	T�r��r�z	not foundr`r)r�rr�r�r�r#r�r3r�rPr!rpr�r�r��shuffle�	enumerate�deleter�r��str�popr�)r'�COLLECTION_SIZE�TEST_ITERS_EVERY�CRASH_HASH_EVERY�CRASH_EQ_EVERY�
RUN_XTIMES�_r�r�r�r�keys_to_delete�iter_i�hm�dms               r�test_hamt_stresszHamtTest.test_hamt_stress>s������������
��z�"�A���A���A��?�+���Q�i���,�,�'�d�;�!�.�.�|�<��E�E�#�q�M�=�<��E�E�#�q�M���N�*�'�D�9�!�.�.�w�7��E�E�&��)�,�8�:���#��� � ��Q���Q��0��,�,��$�$�S�����^�S�����^�D��$�$�S�����^�S�����^�D�),�,
���S��V�_�5��_�-��� � ����v�c�{�K�!@�#�F�.�"�%��"8�9�N��N�N�>�*�&�~�6�	����Q�i���!1�1�'�d�;�!�.�.�|�<��H�H�S�M�=�<���/�'�D�9�!�.�.�w�7��H�H�V�A�Y�/�8�:��H�H�S�M��� � ����s�K�!8�+�F��c�F�� � ��Q���Q��0��_��1�1��B�����B��!1�1��$�$�S�����]�C�����M�B��$�$�S�����]�C�����M�B�17�4
���S��V�Q�'����S��V�Q�'���� � �����C��!1�2�c�7�;�����S��W�c�"�g�.�#�N�3���3��Y�Y�s�3�x�(��� � �����C��+�!>��L����s�3�x��&�� � ��Q���Q��0��,�,��$�$�S�����_�c�!�(�(�*�o�F��$�$�S�����_�c�!�(�(�*�o�F�4�
���S��V�Q�'����S��V�Q�'����T�!�'�'�)�_�b�1�a#�=�<��<�;��8�7��:�9��.=�<��<�;��8�7��:�9�s��W:�/W-	�W:�5X�X	�&X�X.�+X!	�=X.�Y�4X;	�Y�-W7
�2W:�:X�X
�X�X�!X+
�&X.�.X8�;Y
�Y�Yc�.�tdd�}tdd�}tdd�}tdd�}td	d
�}tdd�}tdd
|��}t�}|j|d�}|j|d�}|j|d�}|j|d�}|j|d�}t|�}	|j	|�}|jt|�|	dz
�|j
td�5|j	|�ddd�|j	|�}|jt|�|	dz
�|j	|�}
|j|
|�|j	|�}|jt|�|	dz
�|j|j|d�d�|j|j|�d�|j|j|�d�y#1swY��xYw)N�d�A�e�B�fr�gr�hr����Z�Err�r+r�r(r��er�cannot comparer`r	r|)
r�rr3rprr!rr�r�rP)r'r+r-rrrr2r3r��orig_lenr�s           r�test_hamt_delete_1zHamtTest.test_hamt_delete_1�s����C�����C�����C�����C�����C�����D�#���
�S�$�q�
1���F��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M���q�6��
�H�H�Q�K������Q���A��.�
�
#�
#�J�0@�
A�
�H�H�R�L�B�
�H�H�Q�K������Q���A��.�
�X�X�a�[���
�
�b�!��
�H�H�Q�K������Q���A��.�������q�"��r�*�������q��3�'�������q��3�'�B�
A�s�H�Hc��tdd�}tdd�}tdd�}tdd�}td	d
�}tdd�}tdd
|��}t�}|j|d�}|j|d�}|j|d�}|j|d�}|j|d�}t|�}	|j	t
d�5|j
|�ddd�|j
|�}|jt|�|	�|j
|�}|jt|�|	dz
�|j
|�}|jt|�|	dz
�|j
|�}|jt|�|	dz
�|j|j|�d�|j|j|�d�|j
|�}|j
|�}|j
|�}|j
|�}|jt|�d�y#1swY��exYw)Nr*r+�)r-鉊rr/rr0rr1r2r3r�r+r�r(r�r4r5rr`r	r)	r�rr3rprr�rr!rP)
r'r+r-rrrr2r3r�r6s
          r�test_hamt_delete_2zHamtTest.test_hamt_delete_2�s����C�����F�C� ���F�C� ���C�����C�����D�#���
�V�T�!�
4���F��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M���q�6���
#�
#�J�0@�
A�
�H�H�R�L�B�
�H�H�Q�K������Q���*�
�H�H�Q�K������Q���A��.�
�H�H�Q�K������Q���A��.�
�H�H�Q�K������Q���A��.�������q��3�'�������q��3�'�
�H�H�Q�K��
�H�H�Q�K��
�H�H�Q�K��
�H�H�Q�K������Q���#�-B�
A�s�I�Ic��tdd�}tdd�}tdd�}tdd�}tdd	�}t�}|j|d
�}|j|d�}|j|d�}|j|d
�}|j|d�}t|�}|j	|�}|jt|�|dz
�|j	|�}|jt|�|dz
�|j|j
|�d�|j|j
|�d�y)Nr*r+r,r-��rrr0rr+r�r(r�r4rr`)r�rr3rprr!rP�r'r+r-rrrr�r6s        r�test_hamt_delete_3zHamtTest.test_hamt_delete_3�s���C�����C�����F�C� ���F�C� ���C�����F��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M���q�6��
�H�H�Q�K������Q���A��.�
�H�H�Q�K������Q���A��.�������q��3�'�������q��3�'rc�*�tdd�}tdd�}tdd�}tdd�}tdd�}t�}|j|d	�}|j|d
�}|j|d�}|j|d�}|j|d
�}t|�}|j	|�}|jt|�|dz
�|j	|�}|jt|�|dz
�|j	|�}|jt|�|dz
�|j	|�}|jt|�|dz
�|j	|�}|jt|�d�y)Nr*r+r,r-r=rrrr+r�r(r�r4rr`r	�r)r�rr3rprr!r>s        r�test_hamt_delete_4zHamtTest.test_hamt_delete_4sP���C�����C�����F�C� ���F�C� ���F�C� ���F��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M���q�6��
�H�H�Q�K������Q���A��.�
�H�H�Q�K������Q���A��.�
�H�H�Q�K������Q���A��.�
�H�H�Q�K������Q���A��.�
�H�H�Q�K������Q���#rc�Z�t�}g}td�D]=}t|t|��}|j	|�|j|d|���}�?tdd�}|j|d�}|j
t|�d�|j|d�}|j
t|�d�|j|�}|j
t|�d�|j|d�}|j
t|�d�|j|d	�}|j
t|�d
�|j|d	�}|j
t|�d
�|D]}|j|�}�|j
t|�d�y)N�zval-��18�	collision�r`�r�r)	rr�r�rr2r3r!rpr)r'r�r�r�r�collision_key16s      r�test_hamt_delete_5zHamtTest.test_hamt_delete_5Gsg���F�����r��A��!�S��V�$�C��K�K������c�T�!��:�&�A��
"�"�d�+��
�E�E�/�;�/��(	
����Q���$�
�H�H�T�!�W�������Q���$�
�H�H�_�%������Q���$�
�H�H�T�"�X�������Q���$�
�H�H�T�!�W�������Q���$�
�H�H�T�!�W�������Q���$��C�����
�A������Q���#rc
��tdd�}tdd�}tdd�}tdd�}td	d
�}tdd�}t�}|j|d
�}|j|d�}|j|d�}|j|d�}|j|d�}|j|d�}|j�}|j	tt|��|d
f|df|df|df|df|dfh�y)Nr*r+r9r-r:rr/rr0r�n�Fr+r�r(r�r4rc�r�rr3r�r!r��	r'r+r-rrrrOr��its	         r�test_hamt_items_1zHamtTest.test_hamt_items_1xs����C�����F�C� ���F�C� ���C�����C�����C�����F��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�W�W�Y�������R��M���X��3�x�!�S��A�s�8�a��X��3�x�H�	Jrc
��tdd�}tdd�}tdd�}tdd�}tdd�}td	d
�}t�}|j|d�}|j|d�}|j|d
�}|j|d�}|j|d�}|j|d�}|j�}|j	tt|��|df|df|d
f|df|df|dfh�y�Nr*r+r,r-r=rrrrNrOr+r�r(r�r4rcrPrQs	         r�test_hamt_items_2zHamtTest.test_hamt_items_2�s����C�����C�����F�C� ���F�C� ���F�C� ���C�����F��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�W�W�Y�������R��M���X��3�x�!�S��A�s�8�a��X��3�x�H�	Jrc	�D�tdd�}tdd�}tdd�}tdd�}tdd�}td	d
�}t�}|j|d�}|j|d�}|j|d
�}|j|d�}|j|d�}|j|d�}|jtt	|j���||||||h�|jtt	|��||||||h�yrU)r�rr3r!r�r�)r'r+r-rrrrOr�s        r�test_hamt_keys_1zHamtTest.test_hamt_keys_1�s����C�����C�����F�C� ���F�C� ���F�C� ���C�����F��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M��
�E�E�!�S�M������T�!�&�&�(�^�,�q�!�Q��1�a�.@�A�����T�!�W���1�a��A�q�'9�:rc��t�}|jt|j��d�|jt	|j��g�y)Nr)rr!rpr�r�r�s  r�test_hamt_items_3zHamtTest.test_hamt_items_3�s=���F������Q�W�W�Y���+�����a�g�g�i��"�-rc���tdd�}tdd�}tdd�}tdd�}tdd	�}t�}|j|d
�}|j|d�}|j|d�}|j|d
�}t�}|j|d
�}|j||k(�|j	||k7�|j|d�}|j||k(�|j	||k7�|j|d�}|j||k(�|j	||k7�|j|d�}|j||k(�|j	||k7�|j|d
�}|j	||k(�|j||k7�|j|d�}|j||k(�|j	||k7�|j|�}|j||k(�|j	||k7�|j|d
�}|j||k(�|j	||k7�y)Nr*r+r,r-r=rr�xrr+r�r(r��d2r4)r�rr3�assertFalse�
assertTruer)r'r+r-rrrrr�s        r�test_hamt_eq_1zHamtTest.test_hamt_eq_1�s���C�����C�����F�C� ���F�C� ���C����
�V��
�V�V�A�s�^��
�V�V�A�s�^��
�V�V�A�s�^��
�V�V�A�s�^��
�V��
�V�V�A�s�^������r��"�����b��!�
�V�V�A�s�^������r��"�����b��!�
�V�V�A�s�^������r��"�����b��!�
�V�V�A�t�_������r��"�����b��!�
�V�V�A�s�^������b��!�����r��"�
�V�V�A�s�^������r��"�����b��!�
�Y�Y�q�\������r��"�����b��!�
�V�V�A�s�^������r��"�����b��!rc�h�tdd�}tdd|��}t�}|j|d�}t�}|j|d�}|jtd�5||k(ddd�|jtd�5||k7ddd�y#1swY�.xYw#1swYyxYw)Nr*r+r3r�r+r5)r�rr3rr�)r'r+r3rr�s     r�test_hamt_eq_2zHamtTest.test_hamt_eq_2�s����C����
�S�$�q�
1��
�V��
�V�V�A�s�^��
�V��
�V�V�B��_��
�
#�
#�J�0@�
A��"�H�B��
#�
#�J�0@�
A��"�H�B�
A�B�
A��B�
A�s�)B�
B(�B%�(B1c���tdd�}t�}|jdd�}tj|�}g}|j|�|j|�g}|j|�|j|�|j||�}~~~t
j�t
j�t
j�|j|��y)Nr*r+r)	r�rr3�weakref�refr2�gc�collectrl)r'r+r�rer+r�s      r�test_hamt_gc_1zHamtTest.test_hamt_gc_1�s����C�����F��
�E�E�!�Q�K���k�k�!�n����	�����	�������	�����	�����
�E�E�!�Q�K��
�q�!�
�
�
��
�
�
��
�
�
�����#�%� rc��tdd�}tdd�}t�}|j|d�}|j||�}tj|�}|j�}t
|�~~tj�tj�tj�|j|��y)Nr*r+r,r-r+)
r�rr3rdrer��nextrfrgrl)r'r+r-r�re�his      r�test_hamt_gc_2zHamtTest.test_hamt_gc_2s����C�����C�����F��
�E�E�!�S�M��
�E�E�!�Q�K���k�k�!�n��
�W�W�Y���R��
�r�
�
�
��
�
�
��
�
�
�����#�%� rc��tdd�}tdd�}tdd�}t�}|j|d�}|j||v�|j	||v�|jt�5td��5||vddd�ddd�|jt�5td��5||vddd�ddd�y#1swY�IxYw#1swY�MxYw#1swY�*xYw#1swYyxYw�	Nr*r+r,r-rTrr)	r�rr3r_r^r#r�r�r��r'r+�AAr-r�s     r�test_hamt_in_1zHamtTest.test_hamt_in_1$s����C����
�S�#�
���C�����F��
�E�E�!�Q�K������Q�������a�� �
�
�
�w�
'��D�1��a��2�(��
�
�|�
,��d�3��a��4�-�
,�2�1��(�
'��
4�3��-�
,�sH�<
C"�	C�C"�3
C:�C.�C:�C	�C"�"C+�.C7	�3C:�:Dc�v�tdd�}tdd�}tdd�}t�}|j|d�}|j||d�|j||d�|j	t
�5||ddd�|j	t�5td��5||ddd�ddd�|j	t�5td��5||ddd�ddd�y#1swY�zxYw#1swY�VxYw#1swY�ZxYw#1swY�6xYw#1swYyxYwrn)	r�rr3r!r#r�r�r�r�ros     r�test_hamt_getitem_1zHamtTest.test_hamt_getitem_18s���C����
�S�#�
���C�����F��
�E�E�!�Q�K������1��q�!�����2���"�
�
�
�x�
(�
�a�D�)��
�
�w�
'��D�1��"��2�(��
�
�|�
,��d�3��"��4�-�
,�)�
(��2�1��(�
'��
4�3��-�
,�sT�C?�#
D�0D�6D�
D/�(D#�.D/�?D�D	�D�D �#D,	�(D/�/D8N)r=r>r?r�r�r�rrr
rr�requires_resourcer(r7r;r?rBrLrSrVrXrZr`rbrhrlrqrsr@rrr�r��s���%���<�7�#%�J!F�F�W���u�%�W2�&�W2�r+(�Z2$�h"(�H($�T/$�bJ�*J�*;�&.�
-"�^� !�.!�(�(rr��__main__)�concurrent.futuresr�rrrfr�r��unittestrd�testr�test.supportr�	_testcapir�ImportErrorr�TestCaserr�rr�r��	Exceptionr�r��skipIfr�r=�mainr@rr�<module>r�s������	�
�����)���
�O3�(�#�#�O3�j
B�B�B	%�S�	%� � �	�9�	�	�i�	��������B�C�Y
�x� � �Y
�D�Y
�x�z���H�M�M�O���E"���D��s�C�C�C

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists