HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/greenlet/tests/__pycache__/test_cpp.cpython-310.pyc
o

���g�
�@s|ddlmZddlmZddlZddlZddlZddlmZddlmZddlm	Z	Gdd	�d	e�Z
ed
kr<e��dSdS)�)�print_function)�absolute_importN�)�_test_extension_cpp)�TestCase)�WINc@sHeZdZdd�Zdd�Zdd�Zdd�Ze�e	d	�d
d��Z
dd
�ZdS)�CPPTestscCsXg}td�D]}t�tj�}|�|�|�|�qt|�D]\}}|�|��|�qdS)N�)�range�greenletr�test_exception_switch�switch�append�	enumerate�assertEqual)�self�	greenlets�i�g�r�B/usr/local/lib/python3.10/dist-packages/greenlet/tests/test_cpp.pyr
s
�zCPPTests.test_exception_switchc
Cs�ddl}ddl}|j�|j�t�d�}|j|t|t�s|j	n|g}|}|�
tj��}tj
|dtjd�Wd�n1s=wY|j}|��}	|�|j|	�|�d|j�|jS)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_exitrrr�_do_test_unhandled_exceptions(
���z%CPPTests._do_test_unhandled_exceptioncC�|�tj�dS�N)r4r�test_exception_throw_nonstd�rrrr�&test_unhandled_nonstd_exception_aborts-�z/CPPTests.test_unhandled_nonstd_exception_abortscCr5r6)r4r�test_exception_throw_stdr8rrr�#test_unhandled_std_exception_aborts1r:z,CPPTests.test_unhandled_std_exception_abortsz#XXX: This does not crash on WindowscCs|�d�}|�d|�dS)N�run_as_greenlet_targetzThrown from an extension.)r4r*)rr,rrr�8test_unhandled_std_exception_as_greenlet_function_aborts5s

�zACPPTests.test_unhandled_std_exception_as_greenlet_function_abortscCs|�d�dS)N�*run_unhandled_exception_in_greenlet_aborts)r4r8rrr�+test_unhandled_exception_in_greenlet_abortsCsz4CPPTests.test_unhandled_exception_in_greenlet_abortsN)r"�
__module__�__qualname__rr4r9r<�unittest�skipIfrr>r@rrrrrs	

r�__main__)
�
__future__rrr$rCr�rrrrr"�mainrrrr�<module>s<�