
    Wd                         d dl mZ d dl mZ d dlZd dlmZ d dlZddlmZ ddlm	Z	 d Z
 G d	 d
e	          Zedk    r ed                                           dS dS )    )print_function)absolute_importN)Process   )_test_extension_cpp)TestCasec                  \    d } t          j         |           }|                                 d S )Nc                  B    t          j        t           j                   d S N)r   "test_exception_switch_and_do_in_g2test_exception_throw     S/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/greenlet/tests/test_cpp.py_z5run_unhandled_exception_in_greenlet_aborts.<locals>._   s'    >4	
 	
 	
 	
 	
r   )greenletswitch)r   g1s     r   *run_unhandled_exception_in_greenlet_abortsr      s4    

 
 
 
	1		BIIKKKKKr   c                   &    e Zd Zd Zd Zd Zd ZdS )CPPTestsc                 8   g }t          d          D ]J}t          j        t          j                  }|                    |           |                    |           Kt          |          D ]-\  }}|                     |                                |           .d S )N   )ranger   r   test_exception_switchr   append	enumerateassertEqual)self	greenletsigs       r   r   zCPPTests.test_exception_switch   s    	q 	  	 A!"5"KLLAHHQKKKQi(( 	, 	,DAqQXXZZ++++	, 	,r   c                 &   dd l }|j                            d          }t          |          }|                                 |                    d           |st          j         t          j         fnd}| 	                    |j
        |           d S )Nr   win)target
   )   )sysplatform
startswithr   startjoinsignalSIGABRTSIGSEGVassertInexitcode)r   r%   r(   WINpexpected_exits         r   _do_test_unhandled_exceptionz%CPPTests._do_test_unhandled_exception!   s     	


l%%e,,6"""					r


. 	
^O
 ^O
 

 	 	aj-00000r   c                 D    |                      t          j                   d S r   )r5   r   r   r   s    r   test_unhandled_exception_abortsz(CPPTests.test_unhandled_exception_abortsE   s     ))*=*RSSSSSr   c                 :    |                      t                     d S r   )r5   r   r7   s    r   +test_unhandled_exception_in_greenlet_abortsz4CPPTests.test_unhandled_exception_in_greenlet_abortsJ   s    ))*TUUUUUr   N)__name__
__module____qualname__r   r5   r8   r:   r   r   r   r   r      sY        , , ,"1 "1 "1HT T T
V V V V Vr   r   __main__unittest)
__future__r   r   r-   multiprocessingr   r    r   r   r   r   r;   
__import__mainr   r   r   <module>rE      s    % % % % % % & & & & & &  # # # # # #  ! ! ! ! ! !      
 
 
5V 5V 5V 5V 5Vx 5V 5V 5Vp zJz!!!!! r   