Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/test_asyncio/__pycache__/functional.cpython-38.pyc

U

i�f��@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZGdd�d�Z	Gdd�d�Z
Gdd�dej�ZGdd	�d	e�Z
Gd
d�de�ZdS)�Nc@s�eZdZdd�Zdd�dd�Zdd�Zd	d
�Zdd�Zej	d
dddd�dd�Z
ej	dfdd�Zdd�Zdd�Z
ejdd��Zdd�Zd
S)�FunctionalTestCaseMixincCst��S�N)�asyncioZnew_event_loop��self�r�A/opt/alt/python38/lib64/python3.8/test/test_asyncio/functional.py�new_loopsz FunctionalTestCaseMixin.new_loopg{�G�z�?)�delaycCs|j�t�|��dSr)�loopZrun_until_completer�sleep)rr
rrr�run_loop_brieflysz(FunctionalTestCaseMixin.run_loop_brieflycCs|j�|�|j�|�dSr)�._FunctionalTestCaseMixin__unhandled_exceptions�appendrZdefault_exception_handler)rr�contextrrr�loop_exception_handlersz.FunctionalTestCaseMixin.loop_exception_handlercCsB|��|_t�d�|j�|j�g|_tjj|_	dd�tj_dS)NcSsdSrrrrrr�<lambda>!�z/FunctionalTestCaseMixin.setUp.<locals>.<lambda>)
r	rr�set_event_loopZset_exception_handlerrr�events�_get_running_loop�_old_get_running_looprrrr�setUps


zFunctionalTestCaseMixin.setUpc	CsTz2|j��|jr0td�t	�	|j�|�
d�W5|jtj_t�d�d|_XdS)Nz2Unexpected calls to loop.call_exception_handler():z1unexpected calls to loop.call_exception_handler())rrrrrr�closer�print�pprint�failrrrr�tearDown#s


z FunctionalTestCaseMixin.tearDownN���
)�family�addr�timeout�backlog�max_clientsc		Cs�|dkr<ttd�r8|tjkr8t���}|j}W5QRXnd}tj|||d�}|dkr\td��|dkrltd��|�|�t	|||||�S)N�AF_UNIX)z	127.0.0.1r)r!r$�timeout is requiredr�#only blocking sockets are supported)
�hasattr�socketr&�tempfileZNamedTemporaryFile�nameZ
create_server�RuntimeError�
settimeout�TestThreadedServer)	rZserver_progr!r"r#r$r%Ztmp�sockrrr�
tcp_server1s$

�z"FunctionalTestCaseMixin.tcp_servercCsFt�|tj�}|dkrtd��|dkr.td��|�|�t||||�S)Nr'rr()r*ZSOCK_STREAMr-r.�TestThreadedClient)rZclient_progr!r#r0rrr�
tcp_clientIs
�z"FunctionalTestCaseMixin.tcp_clientcOs$ttd�st�|j|dtji|��S�Nr&r!)r)r*�NotImplementedErrorr1r&�r�args�kwargsrrr�unix_serverXs
z#FunctionalTestCaseMixin.unix_servercOs$ttd�st�|j|dtji|��Sr4)r)r*r5r3r&r6rrr�unix_client]s
z#FunctionalTestCaseMixin.unix_clientccsXt���F}tj�|d�}z
|VW5zt�|�Wntk
rFYnXXW5QRXdS)Nr0)r+ZTemporaryDirectory�os�path�join�unlink�OSError)rZtd�fnrrr�unix_sock_namebs

z&FunctionalTestCaseMixin.unix_sock_namec	Cs z|j��W5|�|�XdSr)rr�stop�r�exrrr�_abort_socket_testnsz*FunctionalTestCaseMixin._abort_socket_test)�__name__�
__module__�__qualname__r	r
rrrr*ZAF_INETr1r3r9r:�
contextlib�contextmanagerrArErrrrrs&��

rc@s<eZdZdd�Zdd�Zddd�dd	�Zd
d�Zdd
�ZdS)�TestSocketWrappercCs
||_dSr)�_TestSocketWrapper__sock�rr0rrr�__init__|szTestSocketWrapper.__init__cCs<d}t|�|kr8|�|t|��}|dkr.t�||7}q|S)Nr)�lenZrecv�ConnectionAbortedError)r�nZbuf�datarrr�recv_alls
zTestSocketWrapper.recv_allFN)�server_side�server_hostnamecCsT|j|j||dd�}z(z|��Wn|���YnXW5|j��X||_dS)NF)rTrUZdo_handshake_on_connect)Zwrap_socketrLrZdo_handshake)rZssl_contextrTrUZssl_sockrrr�	start_tls�s�zTestSocketWrapper.start_tlscCst|j|�Sr)�getattrrL)rr,rrr�__getattr__�szTestSocketWrapper.__getattr__cCsd�t|�j|j�S)Nz	<{} {!r}>)�format�typerFrLrrrr�__repr__�szTestSocketWrapper.__repr__)rFrGrHrNrSrVrXr[rrrrrKzs
�rKc@s$eZdZdd�Zdd�Zdd�ZdS)�SocketThreadcCsd|_|��dS)NF)�_activer=rrrrrB�szSocketThread.stopcCs|��|Sr)�startrrrr�	__enter__�szSocketThread.__enter__cGs|��dSr)rB)r�excrrr�__exit__�szSocketThread.__exit__N)rFrGrHrBr_rarrrrr\�sr\c@seZdZdd�Zdd�ZdS)r2cCs:tj�|ddd�d|_||_||_d|_||_||_dS)Nztest-clientT)	�	threading�ThreadrN�daemon�_timeout�_sockr]�_prog�_test)r�testr0�progr#rrrrN�szTestThreadedClient.__init__c
CsHz|�t|j��Wn.tk
rB}z|j�|�W5d}~XYnXdSr)rgrKrf�	ExceptionrhrErCrrr�run�szTestThreadedClient.runN)rFrGrHrNrlrrrrr2�s
r2csHeZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zedd��Z	�Z
S)
r/cCshtj�|ddd�d|_d|_d|_||_||_||_d|_	||_
t��\|_
|_|j
�d�||_dS)Nztest-serverTrF)rbrcrNrd�_clientsZ_finished_clients�_max_clientsrerfr]rgr*Z
socketpair�_s1�_s2�setblockingrh)rrir0rjr#r%rrrrN�szTestThreadedServer.__init__csPz>|jr<|j��dkr<z|j�d�Wntk
r:YnXW5t���XdS)N���sstop)�superrBrp�fileno�sendr?r��	__class__rrrB�s
zTestThreadedServer.stopc	CsFz*|j�|j�d�|��W5QRXW5|j��|j��XdS)Nr)rorrprfrq�_runrrrrrl�s
zTestThreadedServer.runcCs|j�r|j|jkrdSt�|j|jggg|j�\}}}|j|krFdS|j|krz|j��\}}Wn:tk
rzYqYqt	j
k
r�|js�YdS�YqX|jd7_|�|j�z|�|�|�W5QRXWqt
k
�r}z d|_z�W5|j�|�XW5d}~XYqXqdS)NrF)r]rmrn�selectrfroreZaccept�BlockingIOErrorr*r#r.�_handle_clientrkrhrE)r�r�w�xZconnr"rDrrrrx�s<
�


zTestThreadedServer._runcCs|�t|��dSr)rgrKrMrrrr{sz!TestThreadedServer._handle_clientcCs
|j��Sr)rfZgetsocknamerrrrr"szTestThreadedServer.addr)rFrGrHrNrBrlrxr{�propertyr"�
__classcell__rrrvrr/�s
	"r/)rZasyncio.eventsrIr;rryr*r+rbrrKrcr\r2r/rrrr�<module>sn(