Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/test/test_capi/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/test/test_capi/__pycache__/test_exceptions.cpython-312.opt-2.pyc

�

(Μg$@���ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZddlm
Z
ddlmZddlmZej$d	�ZdZGd
�de�ZGd�d
ej.�ZGd�dej.�ZGd�dej.�ZGd�deej.�Zedk(rej:�yy)�N)�support)�
import_helper)�TESTFN�TESTFN_UNDECODABLE)�assert_python_failure)�ExceptionIsLikeMixin�)�
decode_stderr�	_testcapic��eZdZy)�CustomErrorN��__name__�
__module__�__qualname__���;/usr/local/lib/python3.12/test/test_capi/test_exceptions.pyr
r
s��rr
c��eZdZd�Zd�Zy)�Test_Exceptionsc��td�}td�}	|�#t$r�}tj�}t
j
|�}tj�}t
j
|�}tj�}|j||�|j||�|j||�|j||�|j||�|j||�Yd}~yd}~wwxYw)N�5�TEST)�
ValueError�	TypeError�fail�sys�	exceptionr�
set_exception�assertEqual)	�self�raised_exception�new_exc�e�orig_sys_exception�orig_exception�new_sys_exception�
new_exception�reset_sys_exceptions	         r�test_exceptionzTest_Exceptions.test_exceptions���%�c�?���F�#��	.�"�"���
	?�!$�����&�4�4�W�=�N� #�
�
���%�3�3�N�C�M�"%�-�-�/�����^�Q�/����^�-=�>����/��@����0�.�A����]�G�4����.�
�>�>��
	?�s��	C?�CC:�:C?c�j�td�}td�}	|�#t$�r}|j}t	j
�}tj|j|d�}t	j
�}t
j|�}t	j
�}	|j|d|�|j||j||f�|j||�|j|	|�|j||j|df�|j||�Yd}~yd}~wwxYw)Nrrr	)rr�
assertTrue�
__traceback__r�exc_infor�set_exc_info�	__class__r �assertSequenceEqual)
r!r"r#r$�tb�orig_sys_exc_info�
orig_exc_info�new_sys_exc_info�new_exc_info�reset_sys_exc_infos
          r�
test_exc_infozTest_Exceptions.test_exc_info0s��%�c�?���F�#��	#�"�"���	E����B� #�����%�2�2�7�3D�3D�g�t�T�M�"�|�|�~��$�1�1�=�A�L�!$��������]�1�-�q�1��$�$�]�5E�5O�5O�Qa�ce�4f�g��$�$�%6�
�F��$�$�%7��G��$�$�\�G�4E�4E�w�PT�3U�V��$�$�%5�|�D�D��	E�s��
D2�DD-�-D2N)rrrr*r8rrrrrs��.�,#rrc�B�eZdZdd�Zej
�d��Zy)�Test_FatalErrorc�f�tj�5tdd|�\}}}ddd�t�}|j	d|�tjd|t
j�}|s|jd|���t|jd�j�jd��}t|jd��}	|D]}
|j	|
|��|D]}
|j|
|��|jt!|�|	�y#1swY��xYw)	Nz-sSIz-cz8Fatal Python error: _testcapi_fatal_error_impl: MESSAGE
z,^Extension modules:(.*) \(total: ([0-9]+)\)$z$Cannot find 'Extension modules:' in r	z, �)r�SuppressCrashReportrr
�assertIn�re�search�	MULTILINEr�set�group�strip�split�int�assertNotInr �len)r!�code�expected�not_expected�rc�out�err�match�modules�total�names           r�check_fatal_errorz!Test_FatalError.check_fatal_errorJs���
�
(�
(�
*�0���t�D�L�B��S�+��C� ���
�
�Q��	��	�	�I��r�|�|�-����I�I�<�S�G�D�E��e�k�k�!�n�*�*�,�2�2�4�8�9���E�K�K��N�#���D��M�M�$��(�� �D����T�7�+�!�����W��u�-�%+�
*�s�D&�&D0c�f�d}d}d}|j|||�d}d}d}|j||�y)N)r)rz8import _testcapi, sys; _testcapi.fatal_error(b"MESSAGE")z�if True:
            import _testcapi, sys
            sys.stdlib_module_names = frozenset({"_testcapi"})
            _testcapi.fatal_error(b"MESSAGE")
        )rS)r!rJrKrIs    r�test_fatal_errorz Test_FatalError.test_fatal_error_sJ��"����I�����t�X�|�<���%����
	
���t�X�.rN)r)rrrrSr�requires_subprocessrUrrrr:r:Hs&��.�*!�W� � �"�/�#�/rr:c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�Test_ErrSetAndRestorec�"�|jt�5tjt��ddd�t�}	tj|�y#1swY�*xYw#t$r}|j	||�Yd}~yd}~wwxYw�N)�assertRaisesrr�err_set_raised�assertIs)r!�v�exs   r�test_err_set_raisedz)Test_ErrSetAndRestore.test_err_set_raisedusj��
�
�
�z�
*��$�$�Z�\�2�+��L��	!��$�$�Q�'�	+�
*��
�	!��M�M�!�R� � ��	!�s#�A�A)�A&�)	B�2B	�	Bc�.�|jt�5tjt�ddd�|jt�5tjtd�ddd�|jt�5tjtdd�ddd�|jt�5tjtt��ddd�	tjtd�	ddz|jt�5tjtd�ddd�|jt�5tjtdd�ddd�	tjtd�y#1swY��kxYw#1swY��@xYw#1swY��xYw#1swY��xYw#t$r)}|jd|jd�Yd}~��d}~wwxYw#t$r}|j}Yd}~��d}~wwxYw#1swY��xYw#1swY��xYw#t$rO}|jd|jd�|j|jj�Yd}~yd}~wwxYw)Nr	�hir)r[rr�err_restore�KeyErrorr �args�	Exceptionr-rr]�tb_next)r!�kr$r2r^s     r�test_err_restorez&Test_ErrSetAndRestore.test_err_restore~s���
�
�
�z�
*��!�!�*�-�+�
�
�
�z�
*��!�!�*�a�0�+�
�
�
�z�
*��!�!�*�a��6�+�
�
�
�z�
*��!�!�*�j�l�;�+�	.��!�!�(�D�1�	!�
�a�C��
�
�z�
*��!�!�*�a��4�+�
�
�
�y�
)��!�!�*�a��3�*�	7��!�!�*�a��4�++�
*��
*�
*��
*�
*��
*�
*���	.����T�1�6�6�!�9�-�-��	.���	!����B��	!��
*�
*��
)�
)���	7����Q����q�	�*��M�M�"�a�o�o�5�5�6�6��	7�s��F�
F&�F3�>#G�*G�H�H$�H0�=H<�F#�&F0�3F=�G	�	G>�G9�9G>�	H!�
H�H!�$H-�0H9�<	J�AJ�Jc	��|jt�5}tjtd�ddd�|j	j
jd�|jt�5}tjttddd��ddd�|j
jd}|j|t�|j	|jd�|jt�5}tjttd��ddd�|j	|j
jd	�Gd
�dt�}Gd�d
t|��}|jt�5}tj||��ddd�y#1swY��xYw#1swY��#xYw#1swY��xYw#1swYyxYw)N�*)rkr	r<�r)r	r<rl�)rmc��eZdZd�Zy)�3Test_ErrSetAndRestore.test_set_object.<locals>.Metac��ddzy)Nr	rr)�cls�subs  r�__subclasscheck__zETest_ErrSetAndRestore.test_set_object.<locals>.Meta.__subclasscheck__�s	���!�rN)rrrrsrrr�Metaro�s��
rrtc��eZdZy)�5Test_ErrSetAndRestore.test_set_object.<locals>.BrokenNrrrr�Brokenrv�s��rrw)�	metaclass)r[rr�exc_set_objectr rrer�assertIsInstance�PermissionError�OSError�typerf�ZeroDivisionError)r!r$�wrappedrtrws     r�test_set_objectz%Test_ErrSetAndRestore.test_set_object�s\���
�
�z�
*�a��$�$�Z��4�+�������)�)�5�1��
�
�z�
*�a��$�$�Z��1�Q�q�1A�B�+��+�+�"�"�1�%�����g�y�1�������y�1��
�
��
/�1��$�$�W�o�b�.A�B�0�������)�)�5�1�	�4�	�	�Y�$�	��
�
�0�
1�Q��$�$�V�V�X�6�2�
1�/+�
*��
+�
*��0�
/��2�
1�s/�F.�4&F;�$G�	G�.F8�;G�G�Gc�l�Gd�dt�}tj|d�}|j|t�|j|jdd�Gd�d�}tj||��}|j|t�|j|jdd�y)	Nc��eZdZd�Zy)�?Test_ErrSetAndRestore.test_set_object_and_fetch.<locals>.Brokenc��td��)NzBroken __init__)r)r!�args  r�__init__zHTest_ErrSetAndRestore.test_set_object_and_fetch.<locals>.Broken.__init__�s�� �!2�3�3rN)rrrr�rrrrwr��s��
4rrw�abcdrz-Normalization failed: type=Broken args='abcd'c��eZdZd�Zy)�?Test_ErrSetAndRestore.test_set_object_and_fetch.<locals>.BadArgc��td��)NzBroken arg type)r�r!s r�__repr__zHTest_ErrSetAndRestore.test_set_object_and_fetch.<locals>.BadArg.__repr__�s��� 1�2�2rN)rrrr�rrr�BadArgr��s��
3rr�z0Normalization failed: type=Broken args=<unknown>)rfr�exc_set_object_fetchrzrr �	__notes__)r!rw�excr�s    r�test_set_object_and_fetchz/Test_ErrSetAndRestore.test_set_object_and_fetch�s���	4�Y�	4��,�,�V�V�<�����c�:�.�������q�)�H�	J�	3�	3��,�,�V�V�X�>�����c�:�.�������q�)�K�	Mrc�\�	tj}|jt�5}|td�ddd�|j	j
jd�|jt�5}|tdj��ddd�|j	|j
jd�|jt�5|td�ddd�|jt|td�y#1swY��xYw#1swY��xYw#1swY�>xYw)N�error)�error�помилка�r���)r�
err_setstringr[r~r rre�encode�UnicodeDecodeError�SystemError�list)r!�	setstringr$s   r�test_set_stringz%Test_ErrSetAndRestore.test_set_string�s���$��+�+�	�
�
�
�0�
1�Q��'��2�2�������)�)�:�6�
�
�
�0�
1�Q��'�)9�)@�)@�)B�C�2�������)�)�+>�?�
�
�
�1�
2��'��1�3����+�y�$��A�2�
1��2�
1��3�
2�s#�D
�8D�D"�
D�D�"D+c	�N�	tjd�ddlm}m}m}m}d}t||�}||f|_||_	|jt�5}|tdd|d��ddd�|jjjd�|jt�5}|td	d
j��ddd�|j|jjd�|j!t"d�5|td
|d��ddd�|j!t$d�5|td�ddd�|jt&|t(d�y#1swY��xYw#1swY��xYw#1swY�kxYw#1swY�KxYw)N�ctypesr)�	pythonapi�	py_object�c_char_p�c_int�PyErr_Formats%s %dr�rk)zerror 42s%sr�r�znot in ranges%c���z
format stringr�)r�
import_moduler�r�r�r�r��getattr�argtypes�restyper[r~r rrer��assertRaisesRegex�
OverflowErrorrr�r�)r!r�r�r�r�rRr�r$s        r�test_formatz!Test_ErrSetAndRestore.test_format�sI��!��#�#�H�-�@�@����y�$�/��!*�H� 6���(���
�
�
�0�
1�Q��*�H�h��b�	�J�2�������)�)�=�9�
�
�
�0�
1�Q��*�E�3C�3J�3J�3L�M�2�������)�)�+>�?�
�
#�
#�M�>�
B��*�E�5��9�=�C�
�
#�
#�J��
@��*�G�4�A����+�|�T�8�D�2�
1��2�
1��C�
B��
@�
@�s0�E6�/F�F�F�6F�F�F�F$c�p�	tj}tj}|j	t
�5}||td�ddd�|jjj|df�|j|jj|�|j|jjd�|j	t
�5}||ttjt��ddd�|j|jjt�trm|j	t
�5}||tt�ddd�|j|jjtjt��|j	t
�5}||tt �ddd�|j#|jj�|j	t�5}|dtd�ddd�|j|jjd�|j|jjd�|j|jjd�|j	t$�5}||t$d�ddd�|j|jj|ddf�y#1swY���xYw#1swY���xYw#1swY���xYw#1swY��JxYw#1swY��xYw#1swY�txYw)NsfilezNo such file or directory�filer)r�Error)r�err_setfromerrnowithfilename�errno�ENOENTr[�FileNotFoundErrorr|r rre�filename�os�fsencoderr�fsdecode�NULL�assertIsNoner~)r!�setfromerrnowithfilenamer�r$s    r�test_setfromerrnowithfilenamez3Test_ErrSetAndRestore.test_setfromerrnowithfilename�sP��3�#,�#I�#I� �����
�
�
�0�
1�Q�$�V�W�g�>�2�������)�)� �"=�>�	@�������*�*�F�3�������-�-�v�6�
�
�
�0�
1�Q�$�V�W�b�k�k�&�6I�J�2�������-�-�v�6���"�"�#4�5��(���:L�M�6����Q�[�[�1�1��[�[�);�<�
>��
�
�0�
1�Q�$�V�W�d�;�2����!�+�+�.�.�/�
�
�
�w�
'�1�$�Q���9�(�������)�)�<�8�������*�*�A�.�������-�-�v�6�
�
�
�0�
1�Q�$�V�->��H�2�������)�)� �"=�v�F�	H�;2�
1��2�
1��
6�5��
2�
1��(�
'��2�
1�sG�K+�&K8�
L�7L�L�*L,�+K5�8L�L�L�L)�,L5c��tj}|jjj}tj�5}|td�t�|j|jjt�|jt|jj�d�|j|jjj|dz�|j!|jj"�|j|jj$t�ddd�tj�5}|td�t&�|j|jjt�|jt|jj�d�|j|jjj|dz�|j!|jj"�|j!|jj$�ddd�tj(t*dd�5tj,�5}|td�t�ddd�ddd�j/�j1�}|j|ddt���|j|dd�|j|d	t2�d
��tj(t*dd�5tj,�5}|td�t&�ddd�ddd�|j/�j1�}|j|dd�|j|d	t2�d
��y#1swY��|xYw#1swY���xYw#1swY��>xYw#1swY��CxYw#1swY��xYw#1swY��xYw)Nzoops!���unraisablehookrzException ignored in: r	z"Traceback (most recent call last):r�z.CustomError: oops!)r�err_writeunraisable�test_err_writeunraisable�__code__�co_firstlinenor�catch_unraisable_exceptionr
�hexr �
unraisable�exc_type�str�	exc_value�
exc_traceback�	tb_linenor��err_msg�objectr��	swap_attrr�captured_stderr�getvalue�
splitlinesr)r!�writeunraisable�	firstline�cm�stderr�liness      rr�z.Test_ErrSetAndRestore.test_err_writeunraisables���#�7�7���1�1�:�:�I�I�	�
�
/�
/�
1�R��K��0�#�6����R�]�]�3�3�[�A����S����!8�!8�9�7�C����R�]�]�8�8�B�B�&��]�
,����b�m�m�3�3�4����R�]�]�1�1�3�7�2��
/�
/�
1�R��K��0�$�7����R�]�]�3�3�[�A����S����!8�!8�9�7�C����R�]�]�8�8�B�B�&��^�
-����b�m�m�3�3�4����b�m�m�2�2�3�2�����%5�t�<��%�%�'�6��K��0�#�6�(�=����!�,�,�.������q��%;�C�7�#C�D�����q��#G�H�����r��x�j�0C�$D�E�����%5�t�<��%�%�'�6��K��0�$�7�(�=����!�,�,�.������q��#G�H�����r��x�j�0C�$D�E�?2�
1��2�
1��(�'��=�<��(�'��=�<�sb�C2N1�C-N>�#O�8O�O�%O1�:O%�O1�1N;�>O�O	�O�O"�%O.	�*O1�1O:N)rrrr`rir�r�r�r�r�r�rrrrXrXss0��!�7�67�:M�&B� E�."H�J$FrrXc�<��eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Z�xZ	S)�#Test_PyUnstable_Exc_PrepReraiseStarc���t�|��	tdtd�t	d�g��#t$r}||_Yd}~yd}~wwxYw)N�egzbad typerk)�super�setUp�ExceptionGrouprr�orig)r!r$r0s  �rr�z)Test_PyUnstable_Exc_PrepReraiseStar.setUpAsE���
��
��	� ��	�*�(=�z�"�~�'N�O�O���	��D�I�I��	�s� 1�	A�A�Ac	�2�|jtd�5tjddg�ddd�|jtd�5tj|jd�ddd�|jtd�5tj|jtd�dg�ddd�|jt
d�5tjtd�td�g�ddd�|jt
d�5tjt
dtd�g�td�g�ddd�y#1swY��/xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nzorig must be an exceptionrkzexcs must be a listznot an exceptionzorig must be a raised exceptionr�)r�rr�unstable_exc_prep_reraise_starr�rr�r�s r�test_invalid_argsz5Test_PyUnstable_Exc_PrepReraiseStar.test_invalid_argsHs:��
�
#�
#�I�/J�
K��4�4�R�$��@�L��
#�
#�I�/D�
E��4�4�T�Y�Y��C�F��
#�
#�I�/A�
B��4�4�T�Y�Y��2��PR�@S�T�C��
#�
#�J�0Q�
R��4�4�Z��^�i�PR�m�_�U�S��
#�
#�J�0Q�
R��4�4�^�D�:�VX�>�JZ�5[�6?��m�_�
F�S�
R�L�
K��F�
E��C�
B��S�
R��S�
R�s;�E�
!E)�,E5�*F�5F
�E&�)E2�5E>�F
�
Fc��|jtj|jdg�d�	t	d��#t$r}|}Yd}~nd}~wwxYw|jtj|dg�d�y)Nrk)r rr�r�r)r!r$r�s   r�test_nothing_to_reraisez;Test_PyUnstable_Exc_PrepReraiseStar.test_nothing_to_reraiseZsp������4�4�T�Y�Y���G��	O�	��R�.� ���	��D��	������4�4�T�D�6�B�D�	Js�>�	A�A�Ac�n�|j}tj||g�}|j||�yrZ)r�rr��assertExceptionIsLike)r!r��ress   r�test_reraise_origz5Test_PyUnstable_Exc_PrepReraiseStar.test_reraise_origes/���y�y���6�6�t�d�V�D���"�"�3��-rc�,�|j}|jt�\}}||g|f||g|f|g|f|g|fgdfg}|D]H\}}|j|��5tj||�}|j
||�ddd��Jy#1swY�UxYw)N��input)r�rEr�subTestrr�r�)r!r�rO�rest�
test_casesr�rJr�s        r�test_raise_orig_partsz9Test_PyUnstable_Exc_PrepReraiseStar.test_raise_orig_partsjs����y�y���j�j��+���t��T�]�D�!��E�]�D�!��W�e���V�T�N�
��J�
�
� *�O�E�8����E��*��>�>�t�U�K���*�*�3��9�+�*� *�*�*�s�)B
�
B	c���|j}|jt�\}}td�}t	d�}|||gtd||g�f|||gtd||g�f|||gtd||g�f||||gtd|||g�f||||gtd|||g�f||||gtd|||g�f||||gtd|||g�f|||gtd|||g�f|||gtd|||g�f|||gtd|||g�f||gtd||g�f||gtd||g�fg}|D]H\}}|j
|��5tj||�}	|j|	|�ddd��Jy#1swY�UxYw)Nzbad filezbad runtime�r�)
r�rErr|�RuntimeErrorr�r�rr�r�)
r!r�rOr��new1�new2r�r�rJr�s
          r�test_raise_with_new_exceptionszBTest_PyUnstable_Exc_PrepReraiseStar.test_raise_with_new_exceptions|s����y�y���j�j��+���t��z�"���M�*���E�4�
 �.��d�D�\�"B�C��T�4�
 �.��d�D�\�"B�C��T�4�
 �.��d�D�\�"B�C��D�%��
&��r�D�$��;M�(N�O��E�4��
&��r�D�$��;M�(N�O��D�%��
&��r�D�$��;M�(N�O��D�%��
&��r�D�$��;M�(N�O��D�$�
���T�4��4F�!G�H��E�4�
 �.��d�D�%�5H�"I�J��D�$�
���T�4��4F�!G�H��D�\�>�"�t�T�l�;�<��D�\�>�"�t�T�l�;�<�
�
�$",��U�H����E��*��>�>�t�U�K���*�*�3��9�+�*�",�*�*�s�8)E,�,E5	)
rrrr�r�r�r�r�r��
__classcell__)r0s@rr�r�?s#����F�$	J�.�
:�$:rr��__main__)r�r�r?r�unittest�testr�test.supportr�test.support.os_helperrr�test.support.script_helperr�test.support.testcaser�	test_miscr
r�rr�rfr
�TestCaserr:rXr�r�mainrrr�<module>rs����	�	�
���&�=�<�6�$�
(�M�'�'��4�	���	�)�	�-#�h�'�'�-#�`(/�h�'�'�(/�VFF�H�-�-�FF�XY:�*>��@Q�@Q�Y:�x�z���H�M�M�O�r

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