Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/test_asyncio/__pycache__/test_windows_utils.cpython-35.pyc



��Yf��@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)�mock�win32z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)�WinsocketpairTestscCs>|jd�|jd|jd��|j�|j�dS)Nsxxxi)�send�assertEqualZrecv�close)�self�ssock�csock�r�I/opt/alt/python35/lib64/python3.5/test/test_asyncio/test_windows_utils.py�check_winsocketpairs

z&WinsocketpairTests.check_winsocketpaircCs&tj�\}}|j||�dS)N)r�
socketpairr)rr
rrrr�test_winsocketpairsz%WinsocketpairTests.test_winsocketpairzIPv6 not supported or enabledcCs/tjdtj�\}}|j||�dS)N�family)rr�socketZAF_INET6r)rr
rrrr�test_winsocketpair_ipv6"sz*WinsocketpairTests.test_winsocketpair_ipv6rzsocket.socketpair is availablezasyncio.windows_utils.socketcCsttj|_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_exccCsU|jttjdtj�|jttjdtj�|jttjdd�dS)Nr�type�proto�)r�
ValueErrorrrrZ	AF_UNSPECZ
SOCK_DGRAM)rrrr�test_winsocketpair_invalid_args3s			z2WinsocketpairTests.test_winsocketpair_invalid_argscCsftj|_tj|_tj�}||j_t|j_|j	tt
j�|j|j
j�dS)N)rrrrZMockrrZbindrrrr�
assertTruerZcalled)rr Zsockrrr�test_winsocketpair_close;sz+WinsocketpairTests.test_winsocketpair_closeN)�__name__�
__module__�__qualname__rr�unittestZ
skipUnlessrZIPV6_ENABLEDrZskipIf�hasattrrrZpatchr!r&r(rrrrrs!
rc@s(eZdZdd�Zdd�ZdS)�	PipeTestscCs�tjdd	�\}}z�tj�}|j|j�|j|jd�|j|d�|j	|j�|j|jt
j�d}y|j�Wn8t
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)
N�
overlappedTr�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)rZh1Zh2Zov1ZERROR_IO_INCOMPLETE�eZov2�resrrr�test_pipe_overlappedJs8&
zPipeTests.test_pipe_overlappedcCs�tjdd�\}}tj|�tj|�}|j|j�|�|j|j|�tj	��%tj
ddt�~tj
�WdQRXytj|�Wn8tk
r�}z|j|jd�WYdd}~Xn
Xtd��dS)Nr/T�ignorer�zexpected ERROR_INVALID_HANDLE)TT)rr1r7r?�
PipeHandler
�fileno�handle�warnings�catch_warnings�filterwarnings�ResourceWarningrZ
gc_collectrr9r:)r�h�_�pr@rrr�test_pipe_handleos

&zPipeTests.test_pipe_handleN)r)r*r+rBrOrrrrr.Hs%r.c@seZdZdd�ZdS)�
PopenTestsc	Csd}d}tjtjd|gdtjdtjdtj�}x3|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|
��|jdj|��|�WdQRXdS)Nz�if 1:
            import sys
            s = sys.stdin.readline()
            sys.stdout.write(s.upper())
            sys.stderr.write('stderr')
            sblah
z-c�stdin�stdout�stderrr0Ti'rsstderr)r�Popen�sys�
executable�PIPErQrRrSZassertIsInstancerErr2r;rGr6r=r7r<r
r>r3r4r8�len�rstripZ
assertGreaterr'�upper�
startswith)rZcommand�msgrN�fZovinZovoutZoverrZeventsrA�out�errrrr�
test_popen�s:		"zPopenTests.test_popenN)r)r*r+r`rrrrrP�srP�__main__)�__doc__rrUr,rHr�platformZSkipTestr7ZasynciorrZtestr�ImportErrorrZTestCaserr.rPr)�mainrrrr�<module>s&
2;2