
    i                         d dl Z d dlmZ d dlZd dlmZ d ZdZ G d dej	                  Z
 G d de
          Z G d	 d
e
          Z[
edk    r ej                     dS dS )    N)get_hubc                     | N )exs    I/usr/local/lib/python3.11/dist-packages/gevent/tests/test__systemerror.pyraise_r	      s    
H    zshould be re-raised and caughtc                   @    e Zd ZdZdZd Zd Zd Zd Zd Z	d Z
d	 ZdS )
TestNFc                     t           r   )NotImplementedErrorselfargss     r   startz
Test.start   s    !!r
   c                     d | _         d S r   )xr   s    r   setUpz
Test.setUp   s    r
   c                 <   |                      t          j        t                     	 t	          j        d           t          d          # t          $ rG}t          |          t          k    s$J t          t          |                                Y d }~d S d }~ww xY w)NMbP?zmust raise SystemExit)
r   sysexitMSGgeventsleepAssertionError
SystemExitstrrepr)r   r   s     r   test_sys_exitzTest.test_sys_exit   s    

38S!!!	:L !!8999  	1 	1 	1r77c>>>4B==>>>>>>>>>	1s   A
 

B<BBc                     |                      t          t                     	 t          j        d           t          d          # t          $ r Y d S w xY w)Nr   zmust raise KeyboardInterrupt)r   r	   KeyboardInterruptr   r   r   r   s    r   test_keyboard_interruptzTest.test_keyboard_interrupt!   sb    

6,---	AL !!?@@@ ! 	 	 	DD	s   A 
AAc                 ^   ddl m} |                    ddd           	 	 |                     t          t
                     	 t          j        d           # t
          $ r Y nw xY w	 |                    dd          t          _	        d S # |                    dd          t          _	        w xY w)	Nr   )monkeyFT)stdinstdoutstderrg?r   r*   )
r   r'   	patch_sysr   r	   r$   r   get_originalr   r*   )r   r'   s     r   &test_keyboard_interrupt_stderr_patchedz+Test.test_keyboard_interrupt_stderr_patched+   s     	"!!!!!uU4@@@	>

6#4555&L%%%&$   ,,UH==CJJJ,,UH==CJ====s#   6A 
A$!B
 #A$$B
 
"B,c                     |                      t          t          t                               |                     t          t                    5  t          j        d           d d d            d S # 1 swxY w Y   d S )NgMb`?)r   r	   SystemErrorr   assertRaisesRegexr   r   r   s    r   test_system_errorzTest.test_system_error:   s    

6;s++,,,##K$') ) 	  	 L	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   A00A47A4c                 ~    |                      t          t          d                     t          j        d           d S )Nz+regular exception must not kill the programr   )r   r	   	Exceptionr   r   r   s    r   test_exceptionzTest.test_exceptionA   s5    

69%RSSTTTUr
   )__name__
__module____qualname__r   error_fatalr   r   r"   r%   r-   r1   r4   r   r
   r   r   r      s        AK" " "  : : :A A A> > >         r
   r   c                   @     e Zd Zd Zd Zej        r	 fdZ xZS  xZS )TestCallbackc                 N    | j         | j         j        rJ | j                     d S d S r   )r   pendingr   s    r   tearDownzTestCallback.tearDownH   s6    6 v~--tv---  .-r
   c                 F     t                      j        j        | | _        d S r   )r   looprun_callbackr   r   s     r   r   zTestCallback.startQ   s    ,,d3r
   c                 ~    t          j        d           t          t          |                                            d S )Nr   )r   r   superr:   r4   )r   	__class__s    r   r4   zTestCallback.test_exceptionU   s7     L,%%4466666r
   )	r5   r6   r7   r=   r   	greentestLIBUVr4   __classcell__)rC   s   @r   r:   r:   F   sv        . . .4 4 4  
7		7 		7 		7 		7 		7 		7 		7 		7 		7
7 
7 
7 
7r
   r:   c                       e Zd Zd Zd ZdS )	TestSpawnc                 v    t          j        d           | j        | j        j        sJ | j                    d S d S )Ng-C6?)r   r   r   deadr   s    r   r=   zTestSpawn.tearDownb   sB    V66;&&&&& &&r
   c                 ,    t          j        | | _        d S r   )r   spawnr   r   s     r   r   zTestSpawn.startg   s    t$r
   N)r5   r6   r7   r=   r   r   r
   r   rH   rH   `   s2        ' ' '
% % % % %r
   rH   __main__)r   gevent.testingtestingrD   r   
gevent.hubr   r	   r   TestCaser   r:   rH   r5   mainr   r
   r   <module>rS      s   



 " " " " " "          '6 6 6 6 69 6 6 6r7 7 7 7 74 7 7 74% % % % % % % % 	zIN r
   