Your IP : 216.73.216.85
a
XC?hf* � @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZe� e j
dkd�G dd� d��ZG dd� deej�Z
G dd � d eej�ZG d
d� de�ZG dd
� d
eej�ZG dd� deej�ZG dd� de�ZG dd� deej�ZG dd� deej�Zedk�re�� dS )� N�posixztests requires a posix system.c @ sR e Zd Zdd� Zdd� Zdd� Zdd d
�Zdd� Zd
Zdd� Z dd� Z
dd� ZdS )�TestFileIOSignalInterruptc C s
d | _ d S �N)�_process��self� r �9/opt/alt/python39/lib64/python3.9/test/test_file_eintr.py�setUp s zTestFileIOSignalInterrupt.setUpc C s: | j r6| j �� d u r6z| j �� W n ty4 Y n0 d S r )r �poll�kill�OSErrorr r r r �tearDown s
z"TestFileIOSignalInterrupt.tearDownc C s
d| j S )Nz=import %s as io ;infile = io.FileIO(sys.stdin.fileno(), "rb")��modnamer r r r �_generate_infile_setup_code$ s �z5TestFileIOSignalInterrupt._generate_infile_setup_code� Tc C s| | j �� d u r:t�d� z| j �� W n ty8 Y n0 |r\| j �� \}}||7 }||7 }| �d||�� |�� f � d S )Ng�������?z/Error from IO process %s:
STDOUT:
%sSTDERR:
%s
) r r �time�sleepZ terminater
�communicate�fail�decode)r Zwhy�stdout�stderrr Z
stdout_endZ
stderr_endr r r �fail_with_process_info- s
�z0TestFileIOSignalInterrupt.fail_with_process_infoc C s2 | � � }tjtjddd| d d | d d gtjtjtjd�| _| jj�t d��}|dkrl| j
d |d
� | jj�|� d}g }|s�t
�
| jjgddd
�\}}}| j�tj� |d7 }|dkr�| j�� | �d� q�| jj�� }|dkr�| j
d|d
� | jjdd�\} }
| jj�r.| j
d| jj | |
dd� d S )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())�stdinr r s Worm Sign!
zwhile awaiting a sign)r r r g�������?� �� z,reader process failed to handle our signals.s $
zwhile awaiting signal�
)�inputzexited rc=%dF)r )r �
subprocess�Popen�sys�
executable�PIPEr r �read�lenr r �write�selectZsend_signal�signal�SIGINTr r �readliner �
returncode)r �
data_to_write�read_and_verify_codeZinfile_setup_codeZ worm_signZsignals_sentZrlist�_Zsignal_liner r r r r �
_test_readingH s\
������� ��
�
�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))c C s | j d| jjddd�d� d S )N�
hello, world!r+ s hello, world!
�Zread_method_nameZexpected�r- r. �r0 �_READING_CODE_TEMPLATE�formatr r r r �
test_readline� s ��z'TestFileIOSignalInterrupt.test_readlinec C s"