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__/functional.cpython-39.opt-1.pyc

a

XC?h7�@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�A/opt/alt/python39/lib64/python3.9/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	CsZzB|j��|jr0td�t�|j�|�d�Wt�d�d|_nt�d�d|_0dS)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�|durPttd�rL|tjkrLt���}|j}Wd�qP1s@0Ynd}tj|||d�}|durptd��|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��|dkr.td��|�|�t||||�S)Nr"rr#)r%ZSOCK_STREAMr(r)�TestThreadedClient)rZclient_progrrr,rrr	�
tcp_clientEs
�z"FunctionalTestCaseMixin.tcp_clientcOs$ttd�st�|j|dtji|��S�Nr!r)r$r%�NotImplementedErrorr-r!�r�args�kwargsrrr	�unix_serverTs
z#FunctionalTestCaseMixin.unix_servercOs$ttd�st�|j|dtji|��Sr0)r$r%r1r/r!r2rrr	�unix_clientYs
z#FunctionalTestCaseMixin.unix_clientccs�t���p}tj�|d�}z,|VWzt�|�WqjtyBYqj0n$zt�|�WntyfYn00Wd�n1s~0YdS)Nr,)r&ZTemporaryDirectory�os�path�join�unlink�OSError)rZtd�fnrrr	�unix_sock_name^s
�z&FunctionalTestCaseMixin.unix_sock_namec	Cs*z|j��W|�|�n|�|�0dSr)r�stopr�r�exrrr	�_abort_socket_testjsz*FunctionalTestCaseMixin._abort_socket_test)�__name__�
__module__�__qualname__r
rrrrr%ZAF_INETrZLOOPBACK_TIMEOUTr-r/r5r6�
contextlib�contextmanagerr=rArrrr	r
s&��

rc@s<eZdZdd�Zdd�Zddd�dd	�Zd
d�Zdd
�ZdS)�TestSocketWrappercCs
||_dSr)�_TestSocketWrapper__sock�rr,rrr	�__init__xszTestSocketWrapper.__init__cCs<d}t|�|kr8|�|t|��}|dkr.t�||7}q|S)N�)�lenZrecv�ConnectionAbortedError)r�nZbuf�datarrr	�recv_all{s
zTestSocketWrapper.recv_allFN)�server_side�server_hostnamecCs^|j|j||dd�}z2z|��Wn|���Yn0W|j��n|j��0||_dS)NF)rQrRZdo_handshake_on_connect)Zwrap_socketrHZdo_handshaker)rZssl_contextrQrRZssl_sockrrr	�	start_tls�s�
zTestSocketWrapper.start_tlscCst|j|�Sr)�getattrrH)rr'rrr	�__getattr__�szTestSocketWrapper.__getattr__cCsd�t|�j|j�S)Nz	<{} {!r}>)�format�typerBrHrrrr	�__repr__�szTestSocketWrapper.__repr__)rBrCrDrJrPrSrUrXrrrr	rGvs
�rGc@s$eZdZdd�Zdd�Zdd�ZdS)�SocketThreadcCsd|_|��dS�NF)�_activer9rrrr	r>�szSocketThread.stopcCs|��|Sr)�startrrrr	�	__enter__�szSocketThread.__enter__cGs|��dSr)r>)r�excrrr	�__exit__�szSocketThread.__exit__N)rBrCrDr>r]r_rrrr	rY�srYc@seZdZdd�Zdd�ZdS)r.cCs:tj�|ddd�d|_||_||_d|_||_||_dS)Nztest-clientT)	�	threading�ThreadrJ�daemon�_timeout�_sockr[�_prog�_test)r�testr,�progrrrr	rJ�szTestThreadedClient.__init__c
CsJz|�t|j��Wn0tyD}z|j�|�WYd}~n
d}~00dSr)rerGrd�	ExceptionrfrAr?rrr	�run�szTestThreadedClient.runN)rBrCrDrJrjrrrr	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)r`rarJrb�_clientsZ_finished_clients�_max_clientsrcrdr[rer%Z
socketpair�_s1�_s2�setblockingrf)rrgr,rhrr rrr	rJ�szTestThreadedServer.__init__csXzF|jr:|j��dkr:z|j�d�Wnty8Yn0Wt���nt���0dS)N���sstop)rn�fileno�sendr;�superr>r��	__class__rr	r>�szTestThreadedServer.stopcCsnzR|j�$|j�d�|��Wd�n1s20YW|j��|j��n|j��|j��0dSrZ)rdro�_runrmrrnrrrr	rj�s(
�
zTestThreadedServer.runcCs<|j�r8|j|jkrdSt�|j|jggg|j�\}}}|j|vrFdS|j|vrz|j��\}}Wn6tyxYqYqt	j
y�|js�YdS�Yq0|jd7_|�|j�z2|�|�|�Wd�n1s�0YWqt
�y4}z4d|_z�W|j�|�n|j�|�0WYd}~qd}~00qdS)NrF)r[rkrl�selectrdrmrcZaccept�BlockingIOErrorr%rr)�_handle_clientrirfrA)r�r�w�xZconnrr@rrr	rv�s6�


,zTestThreadedServer._runcCs|�t|��dSr)rerGrIrrr	rysz!TestThreadedServer._handle_clientcCs
|j��Sr)rdZgetsocknamerrrr	rszTestThreadedServer.addr)rBrCrDrJr>rjrvry�propertyr�
__classcell__rrrtr	r*�s
	"r*)rZasyncio.eventsrEr7rrwr%r&r`rgrrrGrarYr.r*rrrr	�<module>si(