Viewing File: /opt/hc_python/lib/python3.12/site-packages/greenlet/tests/__pycache__/test_cpp.cpython-312.pyc

�

i0i�
���ddlmZddlmZddlZddlZddlZddlmZddlmZddlm	Z	Gd�d	e�Z
ed
k(rej�yy)�)�print_function)�absolute_importN�)�_test_extension_cpp)�TestCase)�WINc�\�eZdZd�Zd�Zd�Zd�Zeje	d�d��Z
d�Zy)	�CPPTestsc��g}td�D]G}tjtj�}|j	|�|j|��It
|�D]%\}}|j|j	�|��'y)N�)�range�greenletr�test_exception_switch�switch�append�	enumerate�assertEqual)�self�	greenlets�i�gs    �H/opt/hc_python/lib64/python3.12/site-packages/greenlet/tests/test_cpp.pyrzCPPTests.test_exception_switch
sp���	��q��A��!�!�"5�"K�"K�L�A�
�H�H�Q�K����Q����i�(�D�A�q����Q�X�X�Z��+�)�c�R�ddl}ddl}|jj|jj	t
�d�}|j|t|t�s|jn|g}|}|jtj�5}tj|dtj��ddd�j}|j!�}	|j#|j$|	�|j#d|j&�|j&S#1swY�ixYw)Nrzfail_cpp_exception.pyzutf-8)�encoding�stderrzfail_cpp_exception is running)�os�sys�path�join�dirname�__file__�
executable�
isinstance�str�__name__�assertRaises�
subprocess�CalledProcessError�check_output�STDOUT�	exception�,get_expected_returncodes_for_aborted_process�assertIn�
returncode�output)
r�targetrr�script�args�__traceback_info__�exc�ex�
expected_exits
          r�_do_test_unhandled_exceptionz%CPPTests._do_test_unhandled_exceptions�����������G�G�O�O�H�%�#�
������z�&�RU�?V����\b�c��!��
�
�
�z�<�<�
=���#�#�� �!�(�(�
�>��]�]���I�I�K�
��
�
�b�m�m�]�3��
�
�5�r�y�y�A��y�y��>�
=�s�'D�D&c�B�|jtj�y�N)r8r�test_exception_throw_nonstd�rs r�&test_unhandled_nonstd_exception_abortsz/CPPTests.test_unhandled_nonstd_exception_aborts-s���)�)�*=�*Y�*Y�Zrc�B�|jtj�yr:)r8r�test_exception_throw_stdr<s r�#test_unhandled_std_exception_abortsz,CPPTests.test_unhandled_std_exception_aborts1s���)�)�*=�*V�*V�Wrz#XXX: This does not crash on Windowsc�J�|jd�}|jd|�y)N�run_as_greenlet_targetzThrown from an extension.)r8r.)rr0s  r�8test_unhandled_std_exception_as_greenlet_function_abortszACPPTests.test_unhandled_std_exception_as_greenlet_function_aborts5s)���2�2�3K�L���
�
�

(��
	
rc�&�|jd�y)N�*run_unhandled_exception_in_greenlet_aborts)r8r<s r�+test_unhandled_exception_in_greenlet_abortsz4CPPTests.test_unhandled_exception_in_greenlet_abortsCs���)�)�*V�WrN)r&�
__module__�__qualname__rr8r=r@�unittest�skipIfrrCrF�rrr
r
sA��,��.[�X��X�_�_�S�?�@�

�A�

�Xrr
�__main__)
�
__future__rrr(rIr�rrrr
r&�mainrKrr�<module>rPsF��%�&����!���9X�x�9X�x�z���H�M�M�O�r
Back to Directory File Manager