Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/signalinterproctester.cpython-310.opt-1.pyc

o

0�i�
�@svddlZddlZddlZddlZddlZddlZddlmZGdd�de�Z	Gdd�dej
�Zedkr9e�
�dSdS)�N)�supportc@seZdZdS)�SIGUSR1ExceptionN)�__name__�
__module__�__qualname__�rr�A/opt/alt/python310/lib64/python3.10/test/signalinterproctester.pyr
src@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�InterProcessSignalTestscCsdddd�|_dS)Nr��SIGHUP�SIGUSR1�SIGALRM��got_signals)�selfrrr�setUpszInterProcessSignalTests.setUpcCs|jdd7<dS)Nr�r�rZsignum�framerrr�sighup_handlersz&InterProcessSignalTests.sighup_handlercCs|jdd7<t�)Nrr)rrrrrr�sigusr1_handlersz'InterProcessSignalTests.sigusr1_handlercCsf|dur|��tj}t��|}t��|kr(|j|rdSt��t��|ks|�d||f�dS)Nz'signal %s not received after %s seconds)	�waitrZ
SHORT_TIMEOUT�time�	monotonicr�signal�pauseZfail)r�child�signameZtimeoutZdeadlinerrr�wait_signals
�
�z#InterProcessSignalTests.wait_signalcCs$d||f}tjdd|g}t�|�S)Nz)import os, signal; os.kill(%s, signal.%s)z-Iz-c)�sys�
executable�
subprocess�Popen)r�pidr�code�argsrrr�subprocess_send_signal*s
z.InterProcessSignalTests.subprocess_send_signalc	Cs�t�tj|j�t�tj|j�t�tjtj�t�tjtj�t	t
���}|�|d��}|�
|d�Wd�n1s=wY|�|jdddd��|�t��$|�|d��}|�
|d�Wd�n1sjwYWd�n1sywY|�|jdddd��|�|d��}|��Wd�n1s�wYz3|�t��t�d�|�
dd�Wd�n1s�wY|�|jdddd��Wt�d�dSt�d�w)Nrrrr
r�SIGUSR2r
)rrrrrr'�SIG_IGNr
�default_int_handler�str�os�getpidr&rZassertEqualrZassertRaisesrr�KeyboardInterrupt�alarm)rr#rrrr�test_interprocess_signal/s@������
�
�
�z0InterProcessSignalTests.test_interprocess_signalN)	rrrrrrrr&r/rrrrr	sr	�__main__)r+rr!rrZunittest�testr�	ExceptionrZTestCaser	r�mainrrrr�<module>sE�