
    ;e
                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ  G d de          Z	 G d dej
                  Zedk    r ej                     dS dS )    N)supportc                       e Zd ZdS )SIGUSR1ExceptionN)__name__
__module____qualname__     1/usr/lib/python3.11/test/signalinterproctester.pyr   r   
   s        Dr
   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )InterProcessSignalTestsc                     dddd| _         d S )Nr   SIGHUPSIGUSR1SIGALRMgot_signals)selfs    r   setUpzInterProcessSignalTests.setUp   s    &'A!DDr
   c                 0    | j         dxx         dz  cc<   d S )Nr      r   r   signumframes      r   sighup_handlerz&InterProcessSignalTests.sighup_handler   s'    """a'"""""r
   c                 :    | j         dxx         dz  cc<   t          )Nr   r   )r   r   r   s      r   sigusr1_handlerz'InterProcessSignalTests.sigusr1_handler   s'    ###q(###r
   c                 N   ||                                  t          j        }t          j                    |z   }t          j                    |k     r9| j        |         rd S t          j                     t          j                    |k     9|                     d|d|d           d S )Nzsignal z not received after z seconds)	waitr   SHORT_TIMEOUTtime	monotonicr   signalpausefail)r   childsignametimeoutdeadlines        r   wait_signalz#InterProcessSignalTests.wait_signal   s     JJLLL'>##g-n))( LNNN n))
 				WWggg' 	( 	( 	( 	( 	(r
   c                 \    d|d|d}t           j        dd|g}t          j        |          S )Nzimport os, signal; os.kill(z	, signal.)z-Iz-c)sys
executable
subprocessPopen)r   pidr(   codeargss        r   subprocess_send_signalz.InterProcessSignalTests.subprocess_send_signal*   s7     >Acc777KdD1%%%r
   c                 @   t          j         t           j        | j                   t          j         t           j        | j                   t          j         t           j        t           j                   t          j         t           j        t           j                   t          t          j                              }|                     |d          5 }|                     |d           d d d            n# 1 swxY w Y   |                     | j        dddd           |                     t"                    5  |                     |d          5 }|                     |d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |                     | j        dddd           |                     |d          5 }|                                 d d d            n# 1 swxY w Y   	 |                     t&                    5  t          j        d           |                     d d           d d d            n# 1 swxY w Y   |                     | j        dddd           t          j        d           d S # t          j        d           w xY w)Nr   r   r   r   r   SIGUSR2r   )r$   r   r   r   r   r7   SIG_IGNr   default_int_handlerstrosgetpidr5   r+   assertEqualr   assertRaisesr   r    KeyboardInterruptalarm)r   r2   r'   s      r   test_interprocess_signalz0InterProcessSignalTests.test_interprocess_signal/   s    	fmT%8999fnd&:;;;fnfn555fnf&@AAA ")++((h77 	.5UH---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.)aA78,: ,: 	; 	; 	; /00 	3 	3,,S)<< 3  	2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	)aA78,: ,: 	; 	; 	; ((i88 	EJJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 		""#455 2 2Q  y1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 T-!;<0> 0> ? ? ? LOOOOOFLOOOOs   C44C8;C88F	E2&F	2E6	6F	9E6	:F		FF	G**G.1G.6J +I;J IJ I"J JN)	r   r   r   r   r   r   r+   r5   rA   r	   r
   r   r   r      sq        E E E( ( (  ( ( ("& & &
! ! ! ! !r
   r   __main__)r;   r$   r0   r.   r"   unittesttestr   	Exceptionr   TestCaser   r   mainr	   r
   r   <module>rH      s    				      



        	 	 	 	 	y 	 	 	B B B B Bh/ B B BJ zHMOOOOO r
   