
    <|h                         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                          yy)    N)get_hubc                     | N )exs    ]/var/www/html/test/engine/venv/lib/python3.12/site-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y)
TestNFc                     t         r   )NotImplementedErrorselfargss     r   startz
Test.start   s    !!r
   c                     d | _         y r   )xr   s    r   setUpz
Test.setUp   s	    r
   c                    | j                  t        j                  t               	 t	        j
                  d       t        d      # t        $ r5}t        |      t        k(  sJ t        t        |                   Y d }~y 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   sb    

388S!	:LL !!899  	1r7c>04B=0>	1s   A 	B+A??Bc                     | j                  t        t               	 t        j                  d       t        d      # t        $ r Y y w xY w)Nr   zmust raise KeyboardInterrupt)r   r	   KeyboardInterruptr   r   r   r   s    r   test_keyboard_interruptzTest.test_keyboard_interrupt!   sE    

6,-	ALL !!?@@ ! 		s   < 	AAc                 4   ddl m} |j                  ddd       	 	 | j                  t        t
               	 t        j                  d       # t
        $ r Y nw xY w	 |j                  dd      t        _	        y # |j                  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LL% $ ,,UH=CJ,,UH=CJs#   1A 	AA: AA: :Bc                     | j                  t        t        t                     | j	                  t        t              5  t        j                  d       d d d        y # 1 sw Y   y xY w)NgMb`?)r   r	   SystemErrorr   assertRaisesRegexr   r   r   s    r   test_system_errorzTest.test_system_error:   sI    

6;s+,##K$') 	 LL	  	  	 s   AA&c                 l    | j                  t        t        d             t        j                  d       y )Nz+regular exception must not kill the programr   )r   r	   	Exceptionr   r   r   s    r   test_exceptionzTest.test_exceptionA   s"    

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