HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/test/__pycache__/test_file_eintr.cpython-38.opt-2.pyc
U

.D�gf*�@sddlZddlZddlZddlZddlZddlZddlZddlZddlZe�	ej
dkd�Gdd�d��ZGdd�deej�Z
Gdd	�d	eej�ZGd
d�de�ZGdd
�d
eej�ZGdd�deej�ZGdd�de�ZGdd�deej�ZGdd�deej�Zedk�re��dS)�N�posixztests requires a posix system.c@sReZdZdd�Zdd�Zdd�Zdd	d
�Zdd�Zd
Zdd�Z	dd�Z
dd�ZdS)�TestFileIOSignalInterruptcCs
d|_dS�N)�_process��self�r�3/opt/cppython/lib/python3.8/test/test_file_eintr.py�setUpszTestFileIOSignalInterrupt.setUpcCs<|jr8|j��dkr8z|j��Wntk
r6YnXdSr)r�poll�kill�OSErrorrrrr	�tearDowns
z"TestFileIOSignalInterrupt.tearDowncCs
d|jS)Nz=import %s as io ;infile = io.FileIO(sys.stdin.fileno(), "rb")��modnamerrrr	�_generate_infile_setup_code$s�z5TestFileIOSignalInterrupt._generate_infile_setup_code�TcCs~|j��dkr<t�d�z|j��Wntk
r:YnX|r^|j��\}}||7}||7}|�d||��|��f�dS)Ng�������?z/Error from IO process %s:
STDOUT:
%sSTDERR:
%s
)	rr�time�sleep�	terminater
�communicate�fail�decode)r�why�stdout�stderrrZ
stdout_endZ
stderr_endrrr	�fail_with_process_info-s
�z0TestFileIOSignalInterrupt.fail_with_process_infocCs2|��}tjtjddd|dd|ddgtjtjtjd�|_|jj�t	d��}|dkrl|j
d	|d
�|jj�|�d}g}|s�t
�
|jjgddd
�\}}}|j�tj�|d7}|dkr�|j��|�d�q�|jj��}|dkr�|j
d|d
�|jjdd�\}	}
|jj�r.|j
d|jj|	|
dd�dS)Nz-uz-czXimport signal, sys ;signal.signal(signal.SIGINT, lambda s, f: sys.stderr.write("$\n")) ;z ;z"sys.stderr.write("Worm Sign!\n") ;zinfile.close())�stdinrrsWorm Sign!
zwhile awaiting a sign)rrrg�������?���z,reader process failed to handle our signals.s$
zwhile awaiting signal�
)�inputzexited rc=%dF)r)r�
subprocess�Popen�sys�
executable�PIPErr�read�lenrr�write�select�send_signal�signal�SIGINTrr�readliner�
returncode)r�
data_to_write�read_and_verify_codeZinfile_setup_codeZ	worm_signZsignals_sentZrlist�_Zsignal_linerrrrr	�
_test_readingHsb
�������	��
�

�z'TestFileIOSignalInterrupt._test_readingz�got = infile.{read_method_name}() ;expected = {expected!r} ;assert got == expected, ("{read_method_name} returned wrong data.\n""got data %r\nexpected %r" % (got, expected))cCs|jd|jjddd�d�dS)N�
hello, world!r.shello, world!
�Zread_method_nameZexpected�r0r1�r3�_READING_CODE_TEMPLATE�formatrrrr	�
test_readline�s��z'TestFileIOSignalInterrupt.test_readlinecCs"|jd|jjdddgd�d�dS)N�hello
world!�	readlinesshello
sworld!
r5r6r7rrrr	�test_readlines�s��z(TestFileIOSignalInterrupt.test_readlinescCs8|jd|jjddd�d�|jd|jjddd�d�dS)Nr;�readall�
hello
world!
r5r6r'r7rrrr	�test_readall�s����z&TestFileIOSignalInterrupt.test_readallN)rrT)�__name__�
__module__�__qualname__r
rrrr3r8r:r=r@rrrr	rs	�
I�rc@seZdZdZdS)�CTestFileIOSignalInterrupt�_ioN�rArBrCrrrrr	rD�srDc@seZdZdZdS)�PyTestFileIOSignalInterrupt�_pyioNrFrrrr	rG�srGc@seZdZdd�Zdd�ZdS)�TestBufferedIOSignalInterruptcCs
d|jS)Nziimport %s as io ;infile = io.open(sys.stdin.fileno(), "rb") ;assert isinstance(infile, io.BufferedReader)rrrrr	r�s�z9TestBufferedIOSignalInterrupt._generate_infile_setup_codecCs|jd|jjddd�d�dS)Nr;r'r?r5r6r7rrrr	r@�s��z*TestBufferedIOSignalInterrupt.test_readallN)rArBrCrr@rrrr	rI�srIc@seZdZdZdS)�CTestBufferedIOSignalInterruptrENrFrrrr	rJ�srJc@seZdZdZdS)�PyTestBufferedIOSignalInterruptrHNrFrrrr	rK�srKc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestTextIOSignalInterruptcCs
d|jS)Nzvimport %s as io ;infile = io.open(sys.stdin.fileno(), "rt", newline=None) ;assert isinstance(infile, io.TextIOWrapper)rrrrr	r�s�z5TestTextIOSignalInterrupt._generate_infile_setup_codecCs|jd|jjddd�d�dS)Nr4r.zhello, world!
r5r6r7rrrr	r:�s��z'TestTextIOSignalInterrupt.test_readlinecCs"|jd|jjdddgd�d�dS)Ns
hello
world!r<zhello
zworld!
r5r6r7rrrr	r=�s��z(TestTextIOSignalInterrupt.test_readlinescCs|jd|jjddd�d�dS)Nr;r'z
hello
world!
r5r6r7rrrr	r@�s��z&TestTextIOSignalInterrupt.test_readallN)rArBrCrr:r=r@rrrr	rL�srLc@seZdZdZdS)�CTestTextIOSignalInterruptrENrFrrrr	rM�srMc@seZdZdZdS)�PyTestTextIOSignalInterruptrHNrFrrrr	rN�srN�__main__)�osr*r,r"r$rZunittestrErHZ
skipUnless�namerZTestCaserDrGrIrJrKrLrMrNrA�mainrrrr	�<module>s*