Your IP : 216.73.216.52


Current Path : /opt/alt/python310/lib64/python3.10/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/test_asyncio/__pycache__/functional.cpython-310.opt-2.pyc

o

0�i5�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
Gdd�d�ZGdd�d�ZGdd�dej
�ZGd	d
�d
e�ZGdd�de�ZdS)
�N)�supportc@s�eZdZdd�Zdd�dd�Zdd�Zd	d
�Zdd�Zej	d
e
jddd�dd�Zej	e
jfdd�Z
dd�Zdd�Zejdd��Zdd�Zd
S)�FunctionalTestCaseMixincCst��S�N)�asyncioZnew_event_loop��self�r�C/opt/alt/python310/lib64/python3.10/test/test_asyncio/functional.py�new_loopsz FunctionalTestCaseMixin.new_loopg{�G�z�?)�delaycCs|j�t�|��dSr)�loopZrun_until_completer�sleep)rrrrr	�run_loop_brieflysz(FunctionalTestCaseMixin.run_loop_brieflycCs|j�|�|j�|�dSr)�._FunctionalTestCaseMixin__unhandled_exceptions�appendrZdefault_exception_handler)rr�contextrrr	�loop_exception_handlersz.FunctionalTestCaseMixin.loop_exception_handlercCs,|��|_t�d�|j�|j�g|_dSr)r
rr�set_event_loopZset_exception_handlerrrrrrr	�setUps


zFunctionalTestCaseMixin.setUpc	Csnz-|j��|jr#td�t�|j�|�d�Wt�d�d|_dSWt�d�d|_dSt�d�d|_w)Nz2Unexpected calls to loop.call_exception_handler():z1unexpected calls to loop.call_exception_handler())r�closer�print�pprint�failrrrrrr	�tearDown s


�


�z FunctionalTestCaseMixin.tearDownN��
)�family�addr�timeout�backlog�max_clientsc	Cs�|dur(ttd�r&|tjkr&t���}|j}Wd�n1s wYnd}tj|||d�}|dur8td��|dkr@td��|�|�t	|||||�S)N�AF_UNIX)z	127.0.0.1r)rr�timeout is requiredr�#only blocking sockets are supported)
�hasattr�socketr!�tempfileZNamedTemporaryFile�nameZ
create_server�RuntimeError�
settimeout�TestThreadedServer)	rZserver_progrrrrr �tmp�sockrrr	�
tcp_server-s 
��

�z"FunctionalTestCaseMixin.tcp_servercCsFt�|tj�}|durtd��|dkrtd��|�|�t||||�S)Nr"rr#)r%ZSOCK_STREAMr(r)�TestThreadedClient)rZclient_progrrr,rrr	�
tcp_clientEs
�z"FunctionalTestCaseMixin.tcp_clientcO�$ttd�st�|j|dtji|��S�Nr!r)r$r%�NotImplementedErrorr-r!�r�args�kwargsrrr	�unix_serverT�
z#FunctionalTestCaseMixin.unix_servercOr0r1)r$r%r2r/r!r3rrr	�unix_clientYr7z#FunctionalTestCaseMixin.unix_clientccs��t���?}tj�|d�}z|VWzt�|�Wnty"Ynwzt�|�Wwty3YwwWd�dSWd�dS1sGwYdS)Nr,)r&ZTemporaryDirectory�os�path�join�unlink�OSError)rZtd�fnrrr	�unix_sock_name^s&�
�����"�z&FunctionalTestCaseMixin.unix_sock_namec	Cs(z
|j��W|�|�dS|�|�wr)r�stopr�r�exrrr	�_abort_socket_testjsz*FunctionalTestCaseMixin._abort_socket_test)�__name__�
__module__�__qualname__r
rrrrr%ZAF_INETrZLOOPBACK_TIMEOUTr-r/r6r8�
contextlib�contextmanagerr?rCrrrr	r
s(�
�
rc@s<eZdZdd�Zdd�Zddd�dd	�Zd
d�Zdd
�ZdS)�TestSocketWrappercCs
||_dSr)�_TestSocketWrapper__sock�rr,rrr	�__init__xs
zTestSocketWrapper.__init__cCsFd}t|�|kr!|�|t|��}|dkrt�||7}t|�|ks|S)N�)�lenZrecv�ConnectionAbortedError)r�nZbuf�datarrr	�recv_all{s�zTestSocketWrapper.recv_allFN)�server_side�server_hostnamecCsX|j|j||dd�}zz|��Wn|���W|j��n|j��w||_dS)NF)rSrTZdo_handshake_on_connect)Zwrap_socketrJZdo_handshaker)rZssl_contextrSrTZssl_sockrrr	�	start_tls�s��
zTestSocketWrapper.start_tlscCst|j|�Sr)�getattrrJ)rr'rrr	�__getattr__��zTestSocketWrapper.__getattr__cCsd�t|�j|j�S)Nz	<{} {!r}>)�format�typerDrJrrrr	�__repr__�szTestSocketWrapper.__repr__)rDrErFrLrRrUrWr[rrrr	rIvs
�rIc@s$eZdZdd�Zdd�Zdd�ZdS)�SocketThreadcCsd|_|��dS�NF)�_activer;rrrr	r@�szSocketThread.stopcCs|��|Sr)�startrrrr	�	__enter__�szSocketThread.__enter__cGs|��dSr)r@)r�excrrr	�__exit__�rXzSocketThread.__exit__N)rDrErFr@r`rbrrrr	r\�sr\c@seZdZdd�Zdd�ZdS)r.cCs:tj�|ddd�d|_||_||_d|_||_||_dS)Nztest-clientT)	�	threading�ThreadrL�daemon�_timeout�_sockr^�_prog�_test)r�testr,�progrrrr	rL�s
zTestThreadedClient.__init__c
CsJz|�t|j��WdSty$}z
|j�|�WYd}~dSd}~wwr)rhrIrg�	ExceptionrirCrArrr	�run�s��zTestThreadedClient.runN)rDrErFrLrmrrrr	r.�s
r.csHeZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zedd��Z	�Z
S)
r*cCshtj�|ddd�d|_d|_d|_||_||_||_d|_	||_
t��\|_
|_|j
�d�||_dS)Nztest-serverTrF)rcrdrLre�_clientsZ_finished_clients�_max_clientsrfrgr^rhr%Z
socketpair�_s1�_s2�setblockingri)rrjr,rkrr rrr	rL�s
zTestThreadedServer.__init__cs�z<|jr|j��dkr%z|j�d�WntyYnwWt���dSWt���dSWt���dSWt���dSt���w)N���sstop)rq�fileno�sendr=�superr@r��	__class__rr	r@�s�����zTestThreadedServer.stopcCs�z7|j�|j�d�|��Wd�n1swYW|j��|j��dSW|j��|j��dS|j��|j��wr])rgrr�_runrprrqrrrr	rm�s
�
�

�zTestThreadedServer.runcCs|jr�|j|jkrdSt�|j|jggg|j�\}}}|j|vr"dS|j|vr�z	|j��\}}Wnty9Yqt	yF|jsEYdS�w|jd7_|�
|j�z|�
|�|�Wd�n1sgwYWnty�}zd|_z�|j
�|�wd}~ww|jsdSdS)NrF)r^rnro�selectrgrprfZaccept�BlockingIOError�TimeoutErrorr)�_handle_clientrlrirC)r�r�w�xZconnrrBrrr	ry�sB
�

������zTestThreadedServer._runcCs|�t|��dSr)rhrIrKrrr	r}sz!TestThreadedServer._handle_clientcCs
|j��Sr)rgZgetsocknamerrrr	rs
zTestThreadedServer.addr)rDrErFrLr@rmryr}�propertyr�
__classcell__rrrwr	r*�s
	"r*)rZasyncio.eventsrGr9rrzr%r&rcrjrrrIrdr\r.r*rrrr	�<module>si(