File: //usr/local/lib/python3.7/test/test_asyncio/__pycache__/test_windows_utils.cpython-37.pyc
B
��g� � @ s� d Z ddlZddlZddlZejdkr0e�d��ddlZddlZddlm Z ddl
mZ G dd� dej�Z
G d d
� d
ej�Zedkr�e�� dS )zTests for window_utils� N�win32zWindows only)�
windows_utils)�supportc @ s e Zd Zdd� Zdd� ZdS )� PipeTestsc
C sr t jdd�\}}�zDt�� }| �|j� | �|jd� |�|d� | � |j� | �|jt
j� d}y|�� W n0 t
k
r� } z| �|j|� W d d }~X Y n
X td��t�� }| �|j� | �|jd� |�|d� | �|jdt
jh� t
�|jgdd�}| �|t
j� | �|j� | �|j|� | �|j� | �|jdt
jh� | �|�� d� W d t
�|� t
�|� X d S ) N)TT)�
overlappedr �d i� zexpected ERROR_IO_INCOMPLETEs helloF)r �pipe�_overlapped�
Overlapped�assertFalse�pending�assertEqual�error�ReadFile�
assertTrue�_winapiZERROR_IO_PENDING� getresult�OSError�winerror�RuntimeError� WriteFileZassertIn�WaitForMultipleObjects�event�
WAIT_OBJECT_0�CloseHandle)�selfZh1Zh2Zov1ZERROR_IO_INCOMPLETE�eZov2�res� r �@/usr/local/lib/python3.7/test/test_asyncio/test_windows_utils.py�test_pipe_overlapped s8
zPipeTests.test_pipe_overlappedc
C s� t jdd�\}}t�|� t �|�}| �|�� |� | �|j|� t� � � t�
ddt� ~t�
� W d Q R X yt�|� W n0 tk
r� } z| �|jd� W d d }~X Y n
X td��d S )N)TT)r �ignore� � zexpected ERROR_INVALID_HANDLE)r r r r �
PipeHandler
�fileno�handle�warnings�catch_warnings�filterwarnings�ResourceWarningr Z
gc_collectr r r )r �h�_�pr r r r �test_pipe_handle8 s
zPipeTests.test_pipe_handleN)�__name__�
__module__�__qualname__r r. r r r r r s %r c @ s e Zd Zdd� ZdS )�
PopenTestsc C sp d}d}t jtjd|gt jt jt jd�}x&|j|j|jgD ]}| �|t j � q:W t
�� }t
�� }t
�� }|�|jj
|� |�|jj
d� |�|jj
d� |j|j|jg}t�|dd�} | �| tj� | �|j� | �|j� | �|j� | �|�� t|�� |�� �� }
|�� �� }| �t|
�d� | �t|�d� | �|�� �� �|
�� | �d �|�� |� W d Q R X d S )
Nz�if 1:
import sys
s = sys.stdin.readline()
sys.stdout.write(s.upper())
sys.stderr.write('stderr')
s blah
z-c)�stdin�stdout�stderrr Ti'