
    i                         d dl mZ d dlZd dlmZ d dlZ G d de          Zd Z	 ej
         eed          d           G d d	ej                              Zed
k    r ej                     dS dS )    )print_functionNc                       e Zd ZdS )ExpectedN)__name__
__module____qualname__     D/usr/local/lib/python3.11/dist-packages/gevent/tests/test__signal.pyr   r      s        Dr
   r   c                       t          d          )N
TestSignal)r   r	   r
   r   raise_Expectedr   
   s    
<
 
  r
   SIGALRMzUses SIGALRMc                   L    e Zd ZdZej        Zd Zd Zej	        d             Z
dS )r   Fc                     |                      t                    5  t          j        t          j        d           d d d            d S # 1 swxY w Y   d S )N   )assertRaises	TypeErrorgeventsignal_handlersignalr   )selfs    r   test_handlerzTestSignal.test_handler   s    y)) 	5 	5!&.!444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s    AAAc                 b    t          j        t          j        t                    }                     |j                   d|_                             |j                   d|_         fd}	  |              |             |                                 d S # |                                 w xY w)NTFc                     t          j        d                               t                    5 } t	          j        d           d d d            n# 1 swxY w Y   | j        }                    t          |          d           d S )Nr      r   )	r   alarmr   r   r   sleep	exceptionassertEqualstr)excexr   s     r   testz#TestSignal.test_alarm.<locals>.test    s    LOOO""8,,  Q                              BSWWl33333s   AAA)	r   r   r   r   r   assertFalseref
assertTruecancel)r   sigr$   s   `  r   
test_alarmzTestSignal.test_alarm   s    #FNNCC!!!   	4 	4 	4 	4 	4	DFFFDFFFJJLLLLLCJJLLLLs   .B B.c                 j   dd l }|j        sJ dd l}t          j        rddlm} nt          }	  ||           d S # t          $ rn t          j        sJ dd l	}t          |j                                                  D ]1}	 |j        t          d||j                   "# t           $ r Y .w xY wY d S w xY w)Nr   )reloadzModule has None __cached__)file)gevent.signalr   site	greentestPY3	importlibr,   r   PY36syssetmodulesvalues
__cached__printstderrAttributeError)r   r   r/   reload_moduler4   ms         r   test_reloadzTestSignal.test_reload/   s   : 	}= 	#9999999 #M	M$ 	 	 	 >!!!JJJ++--..  |+:ACJOOOO%   H	  	s4   : AB2?BB2
B+(B2*B++B21B2N)r   r   r   error_fatalr0   LARGE_TIMEOUT__timeout__r   r*   ignores_leakcheckr>   r	   r
   r   r   r      s`         K)K5 5 5  ,  8 8 ! 8 8 8r
   r   __main__)
__future__r   r   gevent.testingtestingr0   r   	Exceptionr   r   
skipUnlesshasattrTestCaser   r   mainr	   r
   r   <module>rL      s   % % % % % %  " " " " " " 	 	 	 	 	y 	 	 	! ! ! ggfi00$& &X X X X X# X X& &Xt zIN r
   