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

�Keu���dZddlZddlZddlZddlmZGd�dej��Zedkrej	��dSdS)zL
Tests run by test_atexit in a subprocess since it clears atexit callbacks.
�N)�supportc�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�GeneralTestc�,�tj��dS�N��atexit�_clear��selfs �;/usr/local/apps/python3/lib/python3.11/test/_test_atexit.py�setUpzGeneralTest.setUp����
������c�,�tj��dSrrrs r
�tearDownzGeneralTest.tearDownrrc��tj��5}tj|g|�R�tj��|�|jj|��|�|jj|��|�t|jj
��|��ddd��dS#1swxYwYdSr)r�catch_unraisable_exceptionr	�register�_run_exitfuncs�assertEqual�
unraisable�object�exc_type�type�	exc_value)rr�func�args�cms     r
�assert_raises_unraisablez$GeneralTest.assert_raises_unraisables��
�
/�
1�
1�	F�R��O�D�(�4�(�(�(�(��!�#�#�#����R�]�1�4�8�8�8����R�]�3�X�>�>�>����T�"�-�"9�:�:�H�E�E�E�
	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�	F�	Fs�BB4�4B8�;B8c���g��fd�}�fd�}tj|dd��tj|��tj|dd���tj��|��dd	d
difddifdd
ifg��dS)Nc�8����d||f��dS)N�func1��append�r�kwargs�callss  �r
r#z%GeneralTest.test_order.<locals>.func1�"����L�L�'�4��0�1�1�1�1�1rc�8����d||f��dS)N�func2r$r&s  �r
r+z%GeneralTest.test_order.<locals>.func2"r)r����value)�keyr+)r.r0�r#)r,r-)r	rrr)rr#r+r(s   @r
�
test_orderzGeneralTest.test_orders������	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	���q�!�$�$�$����������q�g�.�.�.�.����������"�D�5�'�*:�;�"�B��+�"�F�B�/�1�	2�	2�	2�	2�	2rc�F�d�}|�t|dd��dS)Nc��dSrr1r1rr
rz&GeneralTest.test_badargs.<locals>.func1s���Drr,r-�r �	TypeError)rrs  r
�test_badargszGeneralTest.test_badargs0s3��	�	�	�	
�%�%�i��q�!�<�<�<�<�<rc�B�d�}|�t|��dS)Nc��t�r)r6r1rr
�raise_type_errorz0GeneralTest.test_raise.<locals>.raise_type_error8s���Orr5)rr:s  r
�
test_raisezGeneralTest.test_raise7s0��	�	�	�	
�%�%�i�1A�B�B�B�B�Brc�B�d�}|�t|��dS)Nc��ddzdS�Nr,rr1r1rr
�div_zeroz5GeneralTest.test_raise_unnormalized.<locals>.div_zero@s��
��E�E�E�Er)r �ZeroDivisionError)rr?s  r
�test_raise_unnormalizedz#GeneralTest.test_raise_unnormalized=s0��	�	�	�	
�%�%�&7��B�B�B�B�Brc�P�|�ttj��dSr)r �
SystemExit�sys�exitrs r
�	test_exitzGeneralTest.test_exitEs ���%�%�j�#�(�;�;�;�;�;rc����dg��fd�}td��D]}tj|���tj��|��dd��dS)Nrc�(���dxxdz
cc<dS�Nrr,r1��as�r
�incz$GeneralTest.test_stress.<locals>.incJ����
�a�D�D�D�A�I�D�D�D�D�Dr�)�ranger	rrr)rrL�irKs   @r
�test_stresszGeneralTest.test_stressHs|���
�C��	�	�	�	�	��s���	!�	!�A��O�C� � � � ����������1��s�#�#�#�#�#rc����dg��fd�}tj|��tj��tj��|��dd��dS)Nrc�(���dxxdz
cc<dSrIr1rJs�r
rLz#GeneralTest.test_clear.<locals>.incUrMr)r	rr
rr)rrLrKs  @r
�
test_clearzGeneralTest.test_clearSso���
�C��	�	�	�	�	�	�������
�������������1��q�!�!�!�!�!rc���dg��fd�}�fd�}td��D]}tj|���tj|��tj|��tj��|��dd��dS)Nrc�(���dxxdz
cc<dSrIr1rJs�r
rLz(GeneralTest.test_unregister.<locals>.inc`rMrc�(���dxxdzcc<dSrIr1rJs�r
�decz(GeneralTest.test_unregister.<locals>.decbrMr����)rOr	r�
unregisterrr)rrLrXrPrKs    @r
�test_unregisterzGeneralTest.test_unregister^s����
�C��	�	�	�	�	�	�	�	�	�	��q���	!�	!�A��O�C� � � � ���������#�������������1��r�"�"�"�"�"rc��g}tj|jd��tj��|�|dg��tj|j��tj��|�|dg��dS)N�)r	rr%rrr[)r�ls  r
�test_bound_methodszGeneralTest.test_bound_methodsms���������!�$�$�$����������Q�C� � � ���!�(�#�#�#����������Q�C� � � � � rc����fd��tj���	tj��5}tj��|�|jj���|�|jjt��|�t|jj��t��ddd��n#1swxYwYtj���dS#tj���wxYw)Nc�:��tj���ddzdSr>)r	r[)rs�r
rz@GeneralTest.test_atexit_with_unregistered_function.<locals>.funcys!�����d�#�#�#�
�a�C�C�C�Cr)
r	rrrrrrrrr@rrr[)rrrs  @r
�&test_atexit_with_unregistered_functionz2GeneralTest.test_atexit_with_unregistered_functionws>���	�	�	�	�	�	������	$��3�5�5�
S���%�'�'�'�� � ���!5�t�<�<�<�� � ���!7�9J�K�K�K�� � ��b�m�&=�!>�!>�@Q�R�R�R�	
S�
S�
S�
S�
S�
S�
S�
S�
S�
S�
S����
S�
S�
S�
S�
��d�#�#�#�#�#��F��d�#�#�#�#���s/�C'�BC�:C'�C
�
C'�
C
�C'�'C=N)�__name__�
__module__�__qualname__rrr r2r7r;rArFrQrTr\r`rcr1rr
rr
s�������������F�F�F�2�2�2�,=�=�=�C�C�C�C�C�C�<�<�<�	$�	$�	$�	"�	"�	"�
#�
#�
#�!�!�!�
$�
$�
$�
$�
$rr�__main__)
�__doc__r	rD�unittest�testr�TestCaserrd�mainr1rr
�<module>rms������
�
�
�
�
�
�
�����������z$�z$�z$�z$�z$�(�#�z$�z$�z$�z�z����H�M�O�O�O�O�O��r