
    RcM
                         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     7lib/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         nd}|                     |j	        |           d S )Nr   win)target
      )
sysplatform
startswithr   startjoinsignalSIGABRTr   exitcode)r   r%   r(   WINpexpected_exits         r   _do_test_unhandled_exceptionz%CPPTests._do_test_unhandled_exception!   s     	


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


  039]33333r   c                 D    |                      t          j                   d S r   )r3   r   r   r   s    r   test_unhandled_exception_abortsz(CPPTests.test_unhandled_exception_aborts<   s     ))*=*RSSSSSr   c                 :    |                      t                     d S r   )r3   r   r5   s    r   +test_unhandled_exception_in_greenlet_abortsz4CPPTests.test_unhandled_exception_in_greenlet_abortsA   s    ))*TUUUUUr   N)__name__
__module____qualname__r   r3   r6   r8   r   r   r   r   r      sX        , , ,4 4 46T T T
V V V V Vr   r   __main__unittest)
__future__r   r   r-   multiprocessingr   r    r   r   r   r   r9   
__import__mainr   r   r   <module>rC      s    % % % % % % & & & & & &  # # # # # #  ! ! ! ! ! !      
 
 
,V ,V ,V ,V ,Vx ,V ,V ,V^ z "Jz!!!!!" "r   