HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/test/test_asyncio/__pycache__/test_windows_events.cpython-38.pyc
U

/D�g�#�@s�ddlZddlZddlZddlZddlZddlZddlZddlmZejdkrXe�	d��ddl
Z
ddlZddlZddlm
Z
ddlmZdd�ZGd	d
�d
ej�ZGdd�dej�ZGd
d�dej�ZGdd�dej�ZGdd�dej�Zedkr�e��dS)�N)�mock�win32zWindows only)�windows_events)�utilscCst�d�dS�N)�asyncio�set_event_loop_policy�r	r	�D/opt/cppython/lib/python3.8/test/test_asyncio/test_windows_events.py�tearDownModulesrc@s$eZdZdd�Zdd�Zdd�ZdS)�
UpperProtocCs
g|_dSr)�buf��selfr	r	r
�__init__szUpperProto.__init__cCs
||_dSr)�trans)rrr	r	r
�connection_madeszUpperProto.connection_madecCs:|j�|�d|kr6|j�d�|j����|j��dS)N�
�)r
�appendr�write�join�upper�close)r�datar	r	r
�
data_received szUpperProto.data_receivedN)�__name__�
__module__�__qualname__rrrr	r	r	r
rsrc@seZdZdd�ZdS)�ProactorLoopCtrlCc	Csrdd�}tj|d�}t��}z<z"|�|j�|��|�d�Wnt	k
rTYnXW5|�|�X|�
�dS)NcSst�d�t�tj�dS)N皙�����?)�time�sleep�signal�raise_signal�SIGINTr	r	r	r
�SIGINT_after_delay+s
z9ProactorLoopCtrlC.test_ctrl_c.<locals>.SIGINT_after_delay��targetz%should not fall through 'run_forever')�	threading�ThreadrZget_event_loop�
close_loopZ	call_soon�start�run_foreverZfail�KeyboardInterruptr)rr&�thread�loopr	r	r
�test_ctrl_c)s
zProactorLoopCtrlC.test_ctrl_cN)rrrr1r	r	r	r
r'src@seZdZdd�ZdS)�ProactorMultithreadingcsDd�dd����fdd�}tj|d�}|��|��|���dS)NFc�st�d�IdHdS)Nr)rr"r	r	r	r
�coroAszAProactorMultithreading.test_run_from_nonmain_thread.<locals>.corocs$t��}|����|��d�dS)NT)rZnew_event_loop�run_until_completer�r0�r3�finishedr	r
�funcDszAProactorMultithreading.test_run_from_nonmain_thread.<locals>.funcr')r)r*r,r�
assertTrue)rr8r/r	r6r
�test_run_from_nonmain_thread>sz3ProactorMultithreading.test_run_from_nonmain_threadN)rrrr:r	r	r	r
r2=sr2cs\eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Z�ZS)�
ProactorTestscs$t���t��|_|�|j�dSr)�super�setUpr�ProactorEventLoopr0Zset_event_loopr��	__class__r	r
r=Ts

zProactorTests.setUpcCsht��\}}|j�|t���}tj|j�|d�|jd�}|��|j�	|�|�
|��d�|��dS)N�dr5r)�socket�
socketpairr0Z_make_socket_transportr�ProtocolZ
ensure_futureZ	sock_recvrr4�assertEqual�result)r�a�br�fr	r	r
�
test_closeYszProactorTests.test_closec	CsBdt��}t�|�}|�t��t�|�W5QRX|��dS)Nz\\.\pipe\test_double_bind-%s)�os�getpidr�
PipeServer�assertRaises�PermissionErrorr)r�ADDRESSZserver1r	r	r
�test_double_bindbs

zProactorTests.test_double_bindcCs |j�|���}|�|d�dS)N�done)r0r4�
_test_piperE)r�resr	r	r
�	test_pipeiszProactorTests.test_pipec	�szdt��}|�t��|j�tj|�IdHW5QRX|j�t	|�IdH\}|�
|tj�g}t
d�D]j}tj|jd�}tj||jd��|j��fdd�|�IdH\}}|�
|tj�|��|�|�||f�qht|�D] \}\}}	|	�d�|����q�t|�D]:\}\}}	|��IdH}
|�|
d�|����|	���q|��|�t��|j�tj|�IdHW5QRXdS)	Nz\\.\pipe\_test_pipe-%s�r5cs�Srr	r	��protocolr	r
�<lambda>~rz*ProactorTests._test_pipe.<locals>.<lambda>z	lower-{}
z	LOWER-{}
rR)rKrLrN�FileNotFoundErrorr0Zcreate_pipe_connectionrrDZstart_serving_piper�assertIsInstancerrM�range�StreamReaderZStreamReaderProtocolZ	TransportrEr�	enumerater�format�encode�readliner)rrPZserverZclients�iZ
stream_readerr�proto�r�w�responser	rWr
rSmsJ���
��zProactorTests._test_pipec
Csvt�}tj|_tjjtd|d��L}|jj�	d�}|j�
|�}|��|�t
j��|j�|�W5QRXW5QRXdS)NZConnectPipe)Zside_effectZpipe_address)�OSError�_overlappedZERROR_PIPE_BUSY�winerrorrZpatch�objectr0�	_proactorZconnect_pipeZcreate_task�cancelrNr�CancelledErrorr4)r�exc�connectr3Ztaskr	r	r
�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�?)rh�CreateEvent�
addCleanup�_winapi�CloseHandler0rk�wait_for_handler!r4rE�assertFalserFr9ZSetEventrl)r�event�futr,rR�elapsedr	r	r
�test_wait_for_handle�s$
 

 z"ProactorTests.test_wait_for_handlec	Cs�t�dddd�}|�tj|�|jj�|d�}|��|j�	�}|�
tj��|j�
|�W5QRX|j�	�|}|�d|ko�dkn|�|jj�|�}|��|��dS)NTFrqrr )rhrrrsrtrur0rkrvrlr!rNrrmr4r9)rrxryr,rzr	r	r
�test_wait_for_handle_cancel�s
 z)ProactorTests.test_wait_for_handle_cancelcCsrt��|j_|j�ddd��}|j��|j��|j��|j��|j�|�|�|j�|�	|jjj
�dS)NcSsdSrr	r	r	r	r
rY�rz;ProactorTests.test_read_self_pipe_restart.<locals>.<lambda>)rZMockr0Zcall_exception_handlerZrun_in_executor�stopr-r4r+rwZcalled)rrIr	r	r
�test_read_self_pipe_restart�s



	z)ProactorTests.test_read_self_pipe_restart)
rrrr=rJrQrUrSrpr{r|r~�
__classcell__r	r	r?r
r;Rs	&
"r;c@seZdZdd�Zdd�ZdS)�WinPolicyTestsc	sD�fdd�}t��}zt�t���t�|��W5t�|�XdS)Nc�s��t��tj�dSr)r[r�get_running_loopZSelectorEventLoopr	rr	r
�main�s�z5WinPolicyTests.test_selector_win_policy.<locals>.main)r�get_event_loop_policyrZWindowsSelectorEventLoopPolicy�run�rr�Z
old_policyr	rr
�test_selector_win_policy�s�z'WinPolicyTests.test_selector_win_policyc	sD�fdd�}t��}zt�t���t�|��W5t�|�XdS)Nc�s��t��tj�dSr)r[rr�r>r	rr	r
r�s�z5WinPolicyTests.test_proactor_win_policy.<locals>.main)rr�rZWindowsProactorEventLoopPolicyr�r�r	rr
�test_proactor_win_policys�z'WinPolicyTests.test_proactor_win_policyN)rrrr�r�r	r	r	r
r��sr��__main__)rKr#rB�sysr!r)Zunittestr�platformZSkipTestrhrtrrZtest.test_asynciorZ
test_utilsrrDrZTestCaserr2r;r�rr�r	r	r	r
�<module>s.

"