Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/test/test_asyncio/__pycache__/test_windows_utils.cpython-36.pyc

3

� f��@s�dZddlZddlZddlZddlZddlmZejdkrDejd��ddlZddl	m
Z
ddl	mZyddlm
Z
Wn ek
r�dd	l	mZ
YnXGd
d�dej�ZGdd
�d
ej�ZGdd�dej�Zedkr�ej�dS)zTests for window_utils�N)�mockZwin32zWindows only)�_overlapped)�
windows_utils)�support)�test_supportc@s�eZdZdd�Zdd�Zejejd�dd��Z	ej
eed�d	�e
jd
�dd���Zd
d�Zej
eed�d	�e
jd
�dd���ZdS)�WinsocketpairTestscCs0|jd�|jd|jd��|j�|j�dS)Nsxxxi)�send�assertEqualZrecv�close)�self�ssock�csock�r�I/opt/alt/python36/lib64/python3.6/test/test_asyncio/test_windows_utils.py�check_winsocketpairs
z&WinsocketpairTests.check_winsocketpaircCstj�\}}|j||�dS)N)r�
socketpairr)rrr
rrr�test_winsocketpairsz%WinsocketpairTests.test_winsocketpairzIPv6 not supported or enabledcCs"tjtjd�\}}|j||�dS)N)�family)rr�socketZAF_INET6r)rrr
rrr�test_winsocketpair_ipv6"sz*WinsocketpairTests.test_winsocketpair_ipv6rzsocket.socketpair is availablezasyncio.windows_utils.socketcCsPtj|_tj|_d|jjj_t�t�f|jjj_t�|jjj_	|j
ttj�dS)N��90)rr)
r�AF_INET�SOCK_STREAM�return_valueZgetsockname�objectZaccept�OSErrorZconnect�side_effect�assertRaisesrr)r�m_socketrrr�test_winsocketpair_exc'sz)WinsocketpairTests.test_winsocketpair_exccCs>|jttjtjd�|jttjtjd�|jttjdd�dS)N)r)�type�)�proto)r�
ValueErrorrrrZ	AF_UNSPECZ
SOCK_DGRAM)rrrr�test_winsocketpair_invalid_args3sz2WinsocketpairTests.test_winsocketpair_invalid_argscCsHtj|_tj|_tj�}||j_t|j_|j	tt
j�|j|j
j�dS)N)rrrrZMockrrZbindrrrr�
assertTruer
Zcalled)rrZsockrrr�test_winsocketpair_close;sz+WinsocketpairTests.test_winsocketpair_closeN)�__name__�
__module__�__qualname__rr�unittestZ
skipUnlessrZIPV6_ENABLEDrZskipIf�hasattrrrZpatchr r%r'rrrrrs
rc@seZdZdd�Zdd�ZdS)�	PipeTestscCsrtjd	d�\}}�zDtj�}|j|j�|j|jd�|j|d�|j	|j�|j|jt
j�d}y|j�Wn0t
k
r�}z|j|j|�WYdd}~Xn
Xtd��tj�}|j|j�|j|jd�|j|d�|j|jdt
jh�t
j|jgdd�}|j|t
j�|j|j�|j|j|�|j|j�|j|jdt
jh�|j|j�d�Wdt
j|�t
j|�XdS)
NT)�
overlappedr�di�zexpected ERROR_IO_INCOMPLETEshelloF)TT)r�piper�
Overlapped�assertFalse�pendingr	�error�ReadFiler&�_winapiZERROR_IO_PENDING�	getresultr�winerror�RuntimeError�	WriteFileZassertIn�WaitForMultipleObjects�event�
WAIT_OBJECT_0�CloseHandle)rZh1Zh2Zov1ZERROR_IO_INCOMPLETE�eZov2�resrrr�test_pipe_overlappedJs8 
zPipeTests.test_pipe_overlappedcCs�tjdd�\}}tj|�tj|�}|j|j�|�|j|j|�tj	��tj
ddt�~tj
�WdQRXytj|�Wn0tk
r�}z|j|jd�WYdd}~Xn
Xtd��dS)NT)r.�ignorer�zexpected ERROR_INVALID_HANDLE)TT)rr0r6r>�
PipeHandler	�fileno�handle�warnings�catch_warnings�filterwarnings�ResourceWarningrZ
gc_collectrr8r9)r�h�_�pr?rrr�test_pipe_handleos


 zPipeTests.test_pipe_handleN)r(r)r*rArNrrrrr-Hs%r-c@seZdZdd�ZdS)�
PopenTestsc	Cspd}d}tjtjd|gtjtjtjd�}x&|j|j|jgD]}|j|tj	�q:Wt
j�}t
j�}t
j�}|j|jj
|�|j|jj
d�|j|jj
d�|j|j|jg}tj|dd�}	|j|	tj�|j|j�|j|j�|j|j�|j|j�t|��|j�j�}
|j�j�}|jt|
�d�|jt|�d�|j|j�j�j|
��|jd	j|��|�WdQRXdS)
Nz�if 1:
            import sys
            s = sys.stdin.readline()
            sys.stdout.write(s.upper())
            sys.stderr.write('stderr')
            sblah
z-c)�stdin�stdout�stderrr/Ti'rsstderr)r�Popen�sys�
executable�PIPErPrQrRZassertIsInstancerDrr1r:rFr5r<r6r;r	r=r2r3r7�len�rstripZ
assertGreaterr&�upper�
startswith)rZcommand�msgrM�fZovinZovoutZoverrZeventsr@�out�errrrr�
test_popen�s:
zPopenTests.test_popenN)r(r)r*r_rrrrrO�srO�__main__)�__doc__rrTr+rGr�platformZSkipTestr6ZasynciorrZtestr�ImportErrorrZTestCaserr-rOr(�mainrrrr�<module>s&

2;2