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_events.cpython-36.pyc

3

� fc�@s�ddlZddlZddlZddlmZejdkr8ejd��ddlZddlZddlmZddlm	Z	ddlm
Z
Gdd	�d	ej�ZGd
d�de	j
�Zedkr�ej�dS)
�N)�mockZwin32zWindows only)�_overlapped)�
test_utils)�windows_eventsc@s$eZdZdd�Zdd�Zdd�ZdS)�
UpperProtocCs
g|_dS)N)�buf)�self�r	�J/opt/alt/python36/lib64/python3.6/test/test_asyncio/test_windows_events.py�__init__szUpperProto.__init__cCs
||_dS)N)�trans)rrr	r	r
�connection_madeszUpperProto.connection_madecCs:|jj|�d|kr6|jjdj|j�j��|jj�dS)N�
�)r�appendr�write�join�upper�close)r�datar	r	r
�
data_receivedszUpperProto.data_receivedN)�__name__�
__module__�__qualname__rr
rr	r	r	r
rsrcsTeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
�ZS)�
ProactorTestscs$t�j�tj�|_|j|j�dS)N)�super�setUp�asyncioZProactorEventLoop�loopZset_event_loop)r)�	__class__r	r
r!s

zProactorTests.setUpcCsd|jj�\}}|jj|tj��}tj|jj|d��}|j�|jj|�|j	|j
�d�|j�dS)N�dr)rZ_socketpairZ_make_socket_transportr�ProtocolZ
ensure_futureZ	sock_recvr�run_until_complete�assertEqual�result)r�a�br�fr	r	r
�
test_close&szProactorTests.test_closec	CsBdtj�}tj|�}|jt��tj|�WdQRX|j�dS)Nz\\.\pipe\test_double_bind-%s)�os�getpidr�
PipeServer�assertRaises�PermissionErrorr)r�ADDRESSZserver1r	r	r
�test_double_bind/s

zProactorTests.test_double_bindcCs |jj|j��}|j|d�dS)N�done)rr"�
_test_piper#)r�resr	r	r
�	test_pipe6szProactorTests.test_pipec#s�dtj�}|jt��|jjtj|�EdHWdQRX|jjt	|�EdH\}|j
|tj�g}xvt
d�D]j}tj|jd�}tj||jd��|jj�fdd�|�EdH\}}|j
|tj�|j�|�|j||f�qjWx,t|�D] \}\}}	|	jdj|�j��q�WxFt|�D]:\}\}}	|j�EdH}
|j|
dj|�j��|	j��qW|j�|jt��|jjtj|�EdHWdQRXdS)	Nz\\.\pipe\_test_pipe-%s�)rcs�S)Nr	r	)�protocolr	r
�<lambda>Ksz*ProactorTests._test_pipe.<locals>.<lambda>z	lower-{}
z	LOWER-{}
r0)r)r*r,�FileNotFoundErrorrZcreate_pipe_connectionrr!Zstart_serving_piperZassertIsInstancerr+�range�StreamReaderZStreamReaderProtocolZ	Transportr#r�	enumerater�format�encode�readliner)rr.ZserverZclients�iZ
stream_readerr�proto�r�wZresponser	)r5r
r1:s8
zProactorTests._test_pipecCsvt�}tj|_tjjtd|d��L}|jjj	d�}|jj
|�}|j�|jt
j��|jj|�WdQRXWdQRXdS)NZConnectPipe)Zside_effectZpipe_address)�OSErrorrZERROR_PIPE_BUSYZwinerrorrZpatch�objectr�	_proactorZconnect_pipeZcreate_task�cancelr,r�CancelledErrorr")r�excZconnect�coroZtaskr	r	r
�test_connect_pipe_cancel`sz&ProactorTests.test_connect_pipe_cancelcCstjdddd�}|jtj|�|jjj|d�}|jj�}|jj	|�}|jj�|}|j
|d�|j|j��|j
d|ko�dkn|�tj|�|jjj|d�}|jj�}|jj	|�}|jj�|}|j
|d�|j
|j��|j
d|ko�dkn|�|j�dS)	NTFg�?g�������?g�������?�
rg333333�?)r�CreateEvent�
addCleanup�_winapi�CloseHandlerrD�wait_for_handle�timer"r#ZassertFalser$�
assertTrueZSetEventrE)r�event�fut�startr0�elapsedr	r	r
�test_wait_for_handlels$
 

 z"ProactorTests.test_wait_for_handlecCs�tjdddd�}|jtj|�|jjj|d�}|j�|jj	�}|j
tj��|jj
|�WdQRX|jj	�|}|jd|ko�dkn|�|jjj|�}|j�|j�dS)NTFrJrg�������?)rrKrLrMrNrrDrOrErPr,rrFr"rQ)rrRrSrTrUr	r	r
�test_wait_for_handle_cancel�s
 z)ProactorTests.test_wait_for_handle_cancel)rrrrr(r/r3r1rIrVrW�
__classcell__r	r	)rr
rs	&"r�__main__)r)�sysZunittestr�platformZSkipTestrMrrrrr!rZTestCaserr�mainr	r	r	r
�<module>s