Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/test_asyncio/__pycache__/test_windows_events.cpython-39.pyc

a

XC?h*�@s
ddlZddlZddlZddlZddlZddlZddlZddlmZejdkrXe�	d��ddl
Z
ddlZddlZddlm
Z
ddlmZdd�ZGd	d
�d
ej�ZGdd�dej�ZGd
d�de�ZGdd�de�ZGdd�de�ZGdd�de�Zedk�re��dS)�N)�mockZwin32zWindows only)�windows_events)�utilscCst�d�dS�N)�asyncio�set_event_loop_policy�rr�J/opt/alt/python39/lib64/python3.9/test/test_asyncio/test_windows_events.py�tearDownModulesr
c@s$eZdZdd�Zdd�Zdd�ZdS)�
UpperProtocCs
g|_dSr)�buf��selfrrr	�__init__szUpperProto.__init__cCs
||_dSr)�trans)rrrrr	�connection_madeszUpperProto.connection_madecCs:|j�|�d|vr6|j�d�|j����|j��dS)N�
�)r�appendr�write�join�upper�close)r�datarrr	�
data_received szUpperProto.data_receivedN)�__name__�
__module__�__qualname__rrrrrrr	rsrc@s$eZdZdd�Zdd�Zdd�ZdS)�WindowsEventsTestCasecCs||_t|�dSr)�_unraisable�print)rZ
unraisablerrr	�_unraisablehook(sz%WindowsEventsTestCase._unraisablehookcCstj|_d|_|jt_dSr)�sys�unraisablehook�_prev_unraisablehookrr!r
rrr	�setUp.szWindowsEventsTestCase.setUpcCs|jt_|�|j�dSr)r$r"r#ZassertIsNonerr
rrr	�tearDown3szWindowsEventsTestCase.tearDownN)rrrr!r%r&rrrr	r'src@seZdZdd�ZdS)�ProactorLoopCtrlCc	Cszdd�}tj|d�}t��}zDz"|�|j�|��|�d�WntyRYn0W|�	|�n|�	|�0|�
�dS)NcSst�d�t�tj�dS)N皙�����?)�time�sleep�signal�raise_signal�SIGINTrrrr	�SIGINT_after_delay;s
z9ProactorLoopCtrlC.test_ctrl_c.<locals>.SIGINT_after_delay��targetz%should not fall through 'run_forever')�	threading�ThreadrZget_event_loop�	call_soon�start�run_foreverZfail�KeyboardInterrupt�
close_loopr)rr.�thread�looprrr	�test_ctrl_c9szProactorLoopCtrlC.test_ctrl_cN)rrrr:rrrr	r'7sr'c@seZdZdd�ZdS)�ProactorMultithreadingcsDd�dd����fdd�}tj|d�}|��|��|���dS)NFc�st�d�IdHdS)Nr)rr*rrrr	�coroQszAProactorMultithreading.test_run_from_nonmain_thread.<locals>.corocs$t��}|����|��d�dS)NT)rZnew_event_loop�run_until_completer�r9�r<Zfinishedrr	�funcTszAProactorMultithreading.test_run_from_nonmain_thread.<locals>.funcr/)r1r2r4r�
assertTrue)rr@r8rr?r	�test_run_from_nonmain_threadNsz3ProactorMultithreading.test_run_from_nonmain_threadN)rrrrBrrrr	r;Msr;csdeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Z�Z
S)�
ProactorTestscs$t���t��|_|�|j�dSr)�superr%r�ProactorEventLoopr9Zset_event_loopr
��	__class__rr	r%ds

zProactorTests.setUpcCsht��\}}|j�|t���}tj|j�|d�|jd�}|��|j�	|�|�
|��d�|��dS)N�dr>r)�socketZ
socketpairr9Z_make_socket_transportr�ProtocolZ
ensure_futureZ	sock_recvrr=�assertEqual�result)r�a�br�frrr	�
test_closeiszProactorTests.test_closecCsVdt��}t�|�}|�t��t�|�Wd�n1s@0Y|��dS)Nz\\.\pipe\test_double_bind-%s)�os�getpidr�
PipeServer�assertRaises�PermissionErrorr)r�ADDRESSZserver1rrr	�test_double_bindrs

(zProactorTests.test_double_bindcCs |j�|���}|�|d�dS)N�done)r9r=�
_test_piperK)r�resrrr	�	test_pipeyszProactorTests.test_pipec�s�dt��}|�t��&|j�tj|�IdHWd�n1sB0Y|j�t	|�IdH\}|�
|tj�g}t
d�D]j}tj|jd�}tj||jd��|j��fdd�|�IdH\}}|�
|tj�|��|�|�||f�q|t|�D] \}\}}	|	�d�|����q�t|�D]:\}\}}	|��IdH}
|�|
d�|����|	���q|��|�t��&|j�tj|�IdHWd�n1�s�0YdS)	Nz\\.\pipe\_test_pipe-%s�r>cs�Srrr�Zprotocolrr	�<lambda>�rz*ProactorTests._test_pipe.<locals>.<lambda>z	lower-{}
z	LOWER-{}
rX)rQrRrT�FileNotFoundErrorr9Zcreate_pipe_connectionrrJZstart_serving_piper�assertIsInstancerrS�range�StreamReaderZStreamReaderProtocolZ	TransportrKr�	enumerater�format�encode�readliner)rrVZserverZclients�iZ
stream_readerr�proto�r�wZresponserr]r	rY}sB�(����*zProactorTests._test_pipec	Cs�t�}tj|_tjjtd|d��j}|jj�	d�}|j�
|�}|��|�t
j��|j�|�Wd�n1sr0YWd�n1s�0YdS)NZConnectPipe)Zside_effectZpipe_address)�OSError�_overlappedZERROR_PIPE_BUSYZwinerrorrZpatch�objectr9�	_proactorZconnect_pipeZcreate_task�cancelrTr�CancelledErrorr=)r�excZconnectr<Ztaskrrr	�test_connect_pipe_cancel�s
�z&ProactorTests.test_connect_pipe_cancelcCst�dddd�}|�tj|�|jj�|d�}|j��}|j�	|�}|j��|}|�
|d�|�|���|�
d|ko�dkn|�t�|�|jj�|d�}|j��}|j�	|�}|j��|}|�
|d�|�
|���|�
d|ko�dkn|�|��dS)	NTFg�?g�������?g�������?�
rg333333�?)rl�CreateEvent�
addCleanup�_winapi�CloseHandler9rn�wait_for_handler)r=rK�assertFalserLrAZSetEventro)r�event�futr4rX�elapsedrrr	�test_wait_for_handle�s$
 

 z"ProactorTests.test_wait_for_handlecCs�t�dddd�}|�tj|�|jj�|d�}|��|j�	�}|�
tj��|j�
|�Wd�n1sn0Y|j�	�|}|�d|ko�dkn|�|jj�|�}|��|��dS)NTFrsrr()rlrtrurvrwr9rnrxror)rTrrpr=rA)rrzr{r4r|rrr	�test_wait_for_handle_cancel�s
* z)ProactorTests.test_wait_for_handle_cancelcCsrt��|j_|j�ddd��}|j��|j��|j��|j��|j�|�|�|j�|�	|jjj
�dS)NcSsdSrrrrrr	r^�rz;ProactorTests.test_read_self_pipe_restart.<locals>.<lambda>)rZMockr9Zcall_exception_handlerZrun_in_executor�stopr5r=r7ryZcalled)rrOrrr	�test_read_self_pipe_restart�s



	z)ProactorTests.test_read_self_pipe_restartcszt�����fdd�}tj|d�}t��d}�j�|j��jsf�j���j�	�t��|kr<qfq<��
�|��dS)Ncs(���s$�j�dd��t�d�qdS)NcSsdSrrrrrr	r^rzEProactorTests.test_loop_restart.<locals>.threadMain.<locals>.<lambda>g{�G�z�?)Zis_setr9Zcall_soon_threadsafer)r*r�rrrr	�
threadMainsz3ProactorTests.test_loop_restart.<locals>.threadMainr/rs)r1ZEventr2r)r9r3r4rrr5�setr)rr�ZthrZend_timerr�r	�test_loop_restarts

zProactorTests.test_loop_restart)rrrr%rPrWr[rYrrr}r~r�r��
__classcell__rrrFr	rCbs	&
"rCc@seZdZdd�Zdd�ZdS)�WinPolicyTestsc	sN�fdd�}t��}z(t�t���t�|��Wt�|�nt�|�0dS)Nc�s��t��tj�dSr)r`r�get_running_loopZSelectorEventLooprr
rr	�mains�z5WinPolicyTests.test_selector_win_policy.<locals>.main)r�get_event_loop_policyrZWindowsSelectorEventLoopPolicy�run�rr�Z
old_policyrr
r	�test_selector_win_policys�z'WinPolicyTests.test_selector_win_policyc	sN�fdd�}t��}z(t�t���t�|��Wt�|�nt�|�0dS)Nc�s��t��tj�dSr)r`rr�rErr
rr	r�,s�z5WinPolicyTests.test_proactor_win_policy.<locals>.main)rr�rZWindowsProactorEventLoopPolicyr�r�rr
r	�test_proactor_win_policy+s�z'WinPolicyTests.test_proactor_win_policyN)rrrr�r�rrrr	r�sr��__main__)rQr+rIr"r)r1Zunittestr�platformZSkipTestrlrvrrZtest.test_asynciorZ
test_utilsr
rJrZTestCaserr'r;rCr�rr�rrrr	�<module>s0

: