HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/test_asyncio/__pycache__/test_selector_events.cpython-37.pyc
B

��g��@s2dZddlZddlZddlZddlZddlmZyddlZWnek
rTdZYnXddlZddl	m
Z
ddl	mZddl	mZddl	m
Z
ddlmZejZGd	d
�d
e
�Zddd
�Zdd�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zedk�r.e��dS)zTests for selector_events.py�N)�mock)�BaseSelectorEventLoop)�_SelectorTransport)�_SelectorSocketTransport)�_SelectorDatagramTransport)�utilsc@seZdZdd�Zdd�ZdS)�TestBaseSelectorEventLoopcCs&t��|_t��|_|jd7_dS)N�)r�Mock�_ssock�_csock�
_internal_fds)�self�r�B/usr/local/lib/python3.7/test/test_asyncio/test_selector_events.py�_make_self_pipes

z)TestBaseSelectorEventLoop._make_self_pipecCsdS)Nr)rrrr�_close_self_pipesz*TestBaseSelectorEventLoop._close_self_pipeN)�__name__�
__module__�__qualname__rrrrrrrsrrcCst��|�S)N)�	bytearray�join)�lrrr�list_to_buffer#srcCs"|jdkrdS|j��d|_dS)N)�_sock�close)�	transportrrr�close_transport's

rcseZdZ�fdd�Zdd�Ze�edkd�dd��Ze	�
d	d�e	�
d
d�dd���Zd
d�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Z d7d8�Z!d9d:�Z"d;d<�Z#e	�
d=�d>d?��Z$d@dA�Z%dBdC�Z&dDdE�Z'dFdG�Z(dHdI�Z)dJdK�Z*dLdM�Z+dNdO�Z,dPdQ�Z-dRdS�Z.dTdU�Z/dVdW�Z0dXdY�Z1dZd[�Z2d\d]�Z3d^d_�Z4d`da�Z5dbdc�Z6ddde�Z7dfdg�Z8dhdi�Z9djdk�Z:dldm�Z;dndo�Z<dpdq�Z=drds�Z>dtdu�Z?�Z@S)v�BaseSelectorEventLoopTestscs:t���t��|_g|jj_t|j�|_|�	|j�dS)N)
�super�setUprr
�selectorZselect�return_valuer�loop�set_event_loop)r)�	__class__rrr 2s



z BaseSelectorEventLoopTests.setUpcCsZt��}t��|j_d|jj_|j�|t���}|�|t	�|j�
�t|�t|�dS)NF)
rr
r#�
add_reader�
_is_coroutineZ_make_socket_transport�asyncio�Protocol�assertIsInstancerr�reprr)r�mrrrr�test_make_socket_transport9s

z5BaseSelectorEventLoopTests.test_make_socket_transportNz
No ssl modulec
Cs0t��}t��|j_d|jj_t��|j_t��|j_t��|j_tj	|jd�}t
���H|j�|t�
�||�}|�td��|��WdQRXt
�|j�WdQRX|�|���|��|��|�|���|��|��|�|���|jj}|�d|���|�d|���|��t
�|j�dS)NF)r#zSSL transport.*not.*initialized�sslr)rr
r#�_add_readerr'�_add_writer�_remove_reader�_remove_writerr(�Future�
test_utils�disable_logger�_make_ssl_transportr)ZassertRaisesRegex�RuntimeError�
is_reading�run_briefly�
assertTrue�
pause_reading�assertFalse�resume_readingr%rZassertIn�lowerr)rr,�waiterr�
class_namerrr�test_make_ssl_transportFs4

z2BaseSelectorEventLoopTests.test_make_ssl_transportzasyncio.selector_events.sslzasyncio.sslproto.sslc	Csdt��}t��|j_t��|j_t��|j_t��|j_|�t��|j�	||||�WdQRXdS)N)
rr
r#r&�
add_writer�
remove_reader�
remove_writer�assertRaisesr7r6)rr,rrr�)test_make_ssl_transport_without_ssl_errorlszDBaseSelectorEventLoopTests.test_make_ssl_transport_without_ssl_errorc	CslGdd�dt�}||j�|_|�|j�|jj}d|j_|jj}d|j_t�	�}|j_
|jj��t�	�|j_}|�
|j���|j��|�|j���|�|jj�|�|jj�|�|jj�|j��|j��|j��|�d�|j��|j��tj|jd�}|�t|jj�|�t|jj|�d}dd�}|�t|jj||�|�t|jj||�dS)	Nc@seZdZdd�ZdS)z8BaseSelectorEventLoopTests.test_close.<locals>.EventLoopcSs&t��|_t��|_|jd7_dS)Nr	)rr
rrr
)rrrrrys

zHBaseSelectorEventLoopTests.test_close.<locals>.EventLoop._make_self_pipeN)rrrrrrrr�	EventLoopxsrG�r	)r#rcSsdS)Nrrrrr�callback�sz7BaseSelectorEventLoopTests.test_close.<locals>.callback)rr!r#r$r�filenor"rrr
r1�	_selectorrr<Z	is_closedr:�assertIsNone�assert_called_withr(r3rEr7Zrun_forever�run_until_completer&rB)	rrGZssockZcsockrCr!�f�fdrIrrr�
test_closews:






z%BaseSelectorEventLoopTests.test_closecCs<t��|j_|jj��d|j_|j��|�|jj�dS)N)rr
r#rCrKrrL)rrrr�test_close_no_selector�s

z1BaseSelectorEventLoopTests.test_close_no_selectorcCs t|jjj_|�|j���dS)N)�BlockingIOErrorr#r�recv�side_effectrL�_read_from_self)rrrr�test_read_from_self_tryagain�sz7BaseSelectorEventLoopTests.test_read_from_self_tryagaincCs t|jjj_|�t|jj�dS)N)�OSErrorr#rrTrUrErV)rrrr�test_read_from_self_exception�sz8BaseSelectorEventLoopTests.test_read_from_self_exceptionc	Cs4t|jjj_t���|�|j���WdQRXdS)N)	rSr#r�sendrUr4r5rL�_write_to_self)rrrr�test_write_to_self_tryagain�s
z6BaseSelectorEventLoopTests.test_write_to_self_tryagaincCs"t�|jjj_|�t|jj�dS)N)r7r#rrZrUrEr[)rrrr�test_write_to_self_exception�sz7BaseSelectorEventLoopTests.test_write_to_self_exceptionc	Cs�t��}t��|j_|j�|j�|d��}|j�t	j
d|jd��|�|jjjddd�d|df�|�
�|�t	j��|j�|�WdQRXdS)Nig{�G�z�?)r#rr	)r4�mock_nonblocking_socketrr
r#�
_sock_recv�create_task�	sock_recvrNr(�sleep�assertEqual�	call_args�cancelrE�CancelledError)r�sockrOrrr�test_sock_recv�sz)BaseSelectorEventLoopTests.test_sock_recvcCs�t��}d|j_t|j_d|j_t��|j_	t��|j_
|j�|j�|d��}|j�
tjd|jd��|jj	jdd}|jj	jddd�}d	|j_td
�|j_||�|j�
tjd|jd��|�|��t�|�d|jj
jd�dS)N�
gig{�G�z�?)r#rr	�����	)ri)rr
rJr"rSrTrU�
gettimeoutr#r&rCr`rarNr(rbrdrXr*�	exceptionrc)rrg�futrI�paramsrrr�test_sock_recv_reconnection�s"z6BaseSelectorEventLoopTests.test_sock_recv_reconnectioncCsBt��}tj|jd�}|��|j�|d|d�|�|jj	�dS)N)r#i)
rr
r(r3r#rer_r<rT�called)rrgrOrrr�test__sock_recv_canceled_fut�s
z7BaseSelectorEventLoopTests.test__sock_recv_canceled_futcCs^t��}d|j_tj|jd�}|��t��|j_|j�	|d|d�|�
d|jjjd�dS)Nri)r#i)rir)rr
rJr"r(r3r#rerCr_rcrd)rrgrOrrr�test__sock_recv_unregister�sz5BaseSelectorEventLoopTests.test__sock_recv_unregistercCsntj|jd�}t��}d|j_t|j_	t��|j_
|j�|d|d�|�d|jj|d|df|jj
j
d�dS)N)r#riir)r(r3r#rr
rJr"rSrTrUr&r_rcrd)rrOrgrrr�test__sock_recv_tryagain�sz3BaseSelectorEventLoopTests.test__sock_recv_tryagaincCsRtj|jd�}t��}d|j_t�}|j_	|j�
|d|d�|�||���dS)N)r#rii)
r(r3r#rr
rJr"rXrTrUr_�assertIsrn)rrOrg�errrrr�test__sock_recv_exceptionsz4BaseSelectorEventLoopTests.test__sock_recv_exceptionc	Cs�t��}t��|j_|j�|j�|d��}|j�t	j
d|jd��|�d|df|jjjddd��|�
�|�t	j��|j�|�WdQRXdS)Nsdatag{�G�z�?)r#rr	)r4r^rr
r#�
_sock_sendallr`�sock_sendallrNr(rbrcrdrerErf)rrgrOrrr�test_sock_sendall
sz,BaseSelectorEventLoopTests.test_sock_sendallcCsrt��}t��|j_|j�|j�|d��}|j�t	j
d|jd��|�|���|�
|���|�|jjj�dS)N�r)r#)r4r^rr
r#ryr`rzrNr(rbr:�donerL�resultr<rr)rrgrOrrr�test_sock_sendall_nodatasz3BaseSelectorEventLoopTests.test_sock_sendall_nodatacCs�t��}d|j_t|j_d|j_t��|j_	t��|j_
|j�|j�|d��}|j�
tjd|jd��|jj	jdd}|jj	jddd�}d	|j_td
�|j_||�|j�
tjd|jd��|�|��t�|�d|jj
jd�dS)Nrigsdatag{�G�z�?)r#rr	rjrkrl)ri)rr
rJr"rSrZrUrmr#rBrDr`rzrNr(rbrdrXr*rnrc)rrgrorIrprrr�test_sock_sendall_reconnection)s z9BaseSelectorEventLoopTests.test_sock_sendall_reconnectioncCsBt��}tj|jd�}|��|j�|d|d�|�|jj	�dS)N)r#sdata)
rr
r(r3r#reryr<rZrr)rrgrOrrr�test__sock_sendall_canceled_futCs
z:BaseSelectorEventLoopTests.test__sock_sendall_canceled_futcCs^t��}d|j_tj|jd�}|��t��|j_|j�	|d|d�|�
d|jjjd�dS)Nri)r#sdata)rir)rr
rJr"r(r3r#rerDryrcrd)rrgrOrrr�test__sock_sendall_unregisterLsz8BaseSelectorEventLoopTests.test__sock_sendall_unregistercCsntj|jd�}t��}d|j_t|j_	t��|j_
|j�|d|d�|�d|jj|d|df|jj
j
d�dS)N)r#risdatar)r(r3r#rr
rJr"rSrZrUrBryrcrd)rrOrgrrr�test__sock_sendall_tryagainWsz6BaseSelectorEventLoopTests.test__sock_sendall_tryagaincCsntj|jd�}t��}d|j_t|j_	t��|j_
|j�|d|d�|�d|jj|d|df|jj
j
d�dS)N)r#risdatar)r(r3r#rr
rJr"�InterruptedErrorrZrUrBryrcrd)rrOrgrrr�test__sock_sendall_interruptedcsz9BaseSelectorEventLoopTests.test__sock_sendall_interruptedcCsRtj|jd�}t��}d|j_t�}|j_	|j�
|d|d�|�|��|�dS)N)r#risdata)
r(r3r#rr
rJr"rXrZrUryrvrn)rrOrgrwrrr�test__sock_sendall_exceptionosz7BaseSelectorEventLoopTests.test__sock_sendall_exceptioncCsXt��}tj|jd�}d|j_d|j_|j�|d|d�|�	|�
��|�|���dS)N)r#ri�sdata)
rr
r(r3r#rJr"rZryr:r}rLr~)rrgrOrrr�test__sock_sendallxsz-BaseSelectorEventLoopTests.test__sock_sendallcCs|t��}tj|jd�}d|j_d|j_t��|j_|j�	|d|d�|�
|���|�d|jj	|d|df|jjj
d�dS)N)r#rirjsdatastar)rr
r(r3r#rJr"rZrBryr<r}rcrd)rrgrOrrr�test__sock_sendall_partial�sz5BaseSelectorEventLoopTests.test__sock_sendall_partialcCs|t��}tj|jd�}d|j_d|j_t��|j_|j�	|d|d�|�
|���|�d|jj	|d|df|jjj
d�dS)N)r#rirsdata)rr
r(r3r#rJr"rZrBryr<r}rcrd)rrgrOrrr�test__sock_sendall_none�sz2BaseSelectorEventLoopTests.test__sock_sendall_nonec	Cs�t��|j_t��|j_t��}t|j_	|j�
|j�|d��}|j��|�
|jj�|�
|jjj�|j��|��|�tj��|j�|�WdQRX|�
|jjj�dS)N)z	127.0.0.1�P)rr
r#rBrDr4r^rS�connectrUr`�sock_connect�	_run_oncer:rr�
reset_mockrerEr(rfrN)rrgrorrr�test_sock_connect_timeout�s

z4BaseSelectorEventLoopTests.test_sock_connect_timeoutzsocket.getaddrinfocCsvd}t��}dd�|_|j�|j�||��}|j�|�|�|d|d|j|j	|j
d�|j�|�|j�d�dS)N)zneed-resolution.comi�cWsdgS)N)NNNN)z	127.0.0.1rr)�argsrrr�<lambda>�r|zZBaseSelectorEventLoopTests.test_sock_connect_resolve_using_socket_params.<locals>.<lambda>rr	)z	127.0.0.1r)r4r^rUr#r`r�rNrMZfamily�type�protor�)rZm_gaiZaddrrgZconrrr�-test_sock_connect_resolve_using_socket_params�s
zHBaseSelectorEventLoopTests.test_sock_connect_resolve_using_socket_paramscCs�tj|jd�}t��}d|j_|j��}|�t	j
t	jt	jddfg�|j�
|||�|�|���|�|���|�|jj�dS)N)r#ri�)z	127.0.0.1i�)r(r3r#rr
rJr"�
create_future�
set_result�socket�AF_INET�SOCK_STREAM�IPPROTO_TCP�
_sock_connectr:r}rLr~r�rr)rrOrg�resolvedrrr�test__sock_connect�s
z-BaseSelectorEventLoopTests.test__sock_connectcCsLt��}t��|j_tj|jd�}|��|j�||d�|�|j	j
�dS)N)r#)z	127.0.0.1i�)rr
r#rDr(r3re�_sock_connect_cbr<�
getsockoptrr)rrgrOrrr�#test__sock_connect_cb_cancelled_fut�sz>BaseSelectorEventLoopTests.test__sock_connect_cb_cancelled_futcCs�t��|j_t��|j_t��|j_t��}d|j_t|j	_
d|j_d}|j��}|�
tjtjtjd|fg�tj|jd�}|j�|||�|j��|�|jjj�|�d|jjjdd�|j�|||�|j�|�|�d|jjjd�dS)Nrir)z	127.0.0.1i�r�)r#)ri)rr
r#�_process_eventsrBrDrJr"rSr�rUr�r�r�r�r�r�r�r(r3r�r�r:rrrcrdr�rN)rrg�addressr�rOrrr�test__sock_connect_writer�s&

z4BaseSelectorEventLoopTests.test__sock_connect_writercCs<tj|jd�}t��}d|j_tj|j	_|j�
||d�dS)N)r#ri)z	127.0.0.1i�)r(r3r#rr
rJr"�errnoZEAGAINr�r�)rrOrgrrr�test__sock_connect_cb_tryagain�s

z9BaseSelectorEventLoopTests.test__sock_connect_cb_tryagaincCsXtj|jd�}t��}d|j_tj|j	_t��|j_
|j�||d�|�|�
�t�dS)N)r#ri)z	127.0.0.1i�)r(r3r#rr
rJr"r�ZENOTCONNr�rDr�r*rnrX)rrOrgrrr�test__sock_connect_cb_exceptions
z:BaseSelectorEventLoopTests.test__sock_connect_cb_exceptionc	Cs�t��}t��|j_|j�|j�|��}|j�t	j
d|jd��|�|jjjdd�|�
|jjjdd|�|��|�t	j��|j�|�WdQRXdS)Ng{�G�z�?)r#rr	rj)r4r^rr
r#�_sock_acceptr`Zsock_acceptrNr(rbr<rdrvrerErf)rrgrOrrr�test_sock_acceptsz+BaseSelectorEventLoopTests.test_sock_acceptcCs|tj|jd�}t��}t��}d|j_|df|j_|j�|d|�|�	|�
��|�|df|���|�d|j
jd�dS)N)r#ri)z	127.0.0.1i�F)Fr)r(r3r#rr
rJr"�acceptr�r:r}rcr~Zsetblockingrd)rrOZconnrgrrr�test__sock_acceptsz,BaseSelectorEventLoopTests.test__sock_acceptcCs@t��}tj|jd�}|��|j�|d|�|�|jj	�dS)N)r#F)
rr
r(r3r#rer�r<r�rr)rrgrOrrr�test__sock_accept_canceled_fut(s
z9BaseSelectorEventLoopTests.test__sock_accept_canceled_futcCs\t��}d|j_tj|jd�}|��t��|j_|j�	|d|�|�
d|jjjd�dS)Nri)r#T)rir)rr
rJr"r(r3r#rerCr�rcrd)rrgrOrrr�test__sock_accept_unregister1sz7BaseSelectorEventLoopTests.test__sock_accept_unregistercCsjtj|jd�}t��}d|j_t|j_	t��|j_
|j�|d|�|�d|jj|d|f|jj
j
d�dS)N)r#riFTr)r(r3r#rr
rJr"rSr�rUr&r�rcrd)rrOrgrrr�test__sock_accept_tryagain<sz5BaseSelectorEventLoopTests.test__sock_accept_tryagaincCsPtj|jd�}t��}d|j_t�}|j_	|j�
|d|�|�||���dS)N)r#riF)
r(r3r#rr
rJr"rXr�rUr�rvrn)rrOrgrwrrr�test__sock_accept_exceptionHsz6BaseSelectorEventLoopTests.test__sock_accept_exceptioncCs�t|jjj_dd�}|j�d|�|�|jjjj�|jjjj	d\}}\}}|�
d|�|�
tj|�|�
||j
�|�|�dS)NcSsdS)NTrrrrrr�Sr|z<BaseSelectorEventLoopTests.test_add_reader.<locals>.<lambda>r	r)�KeyErrorr#rK�get_keyrUr&r:�registerrrrdrc�	selectors�
EVENT_READ�	_callbackrL)r�cbrP�mask�r�wrrr�test_add_readerQsz*BaseSelectorEventLoopTests.test_add_readercCs�t��}t��}t�ddtj||f�|jjj_dd�}|j�	d|�|�
|jj�|�
|jjjj�|�
|jjjj�|jjjjd\}}\}}|�d|�|�tjtjB|�|�||j�|�||�dS)Nr	cSsdS)NTrrrrrr�br|zEBaseSelectorEventLoopTests.test_add_reader_existing.<locals>.<lambda>r)rr
r��SelectorKey�EVENT_WRITEr#rKr�r"r&r:rerrr<r��modifyrdrcr�r�)r�reader�writerr�rPr�r�r�rrr�test_add_reader_existing]sz3BaseSelectorEventLoopTests.test_add_reader_existingcCs�t��}t�ddtjd|f�|jjj_dd�}|j�	d|�|�
|jjjj�|�
|jjjj�|jjjjd\}}\}}|�d|�|�tjtjB|�|�||j�|�||�dS)Nr	cSsdS)NTrrrrrr�rr|zLBaseSelectorEventLoopTests.test_add_reader_existing_writer.<locals>.<lambda>r)rr
r�r�r�r#rKr�r"r&r<r�rrr:r�rdrcr�r�)rr�r�rPr�r�r�rrr�test_add_reader_existing_writernsz:BaseSelectorEventLoopTests.test_add_reader_existing_writercCsBt�ddtjd�|jjj_|�|j�d��|�	|jjj
j�dS)Nr	)NN)r�r�r�r#rKr�r"r<rCr:�
unregisterrr)rrrr�test_remove_reader}sz-BaseSelectorEventLoopTests.test_remove_readercCs�t��}t��}t�ddtjtjB||f�|jjj_	|�
|j�d��|�|jjj
j�|�dtjd|ff|jjjjd�dS)Nr	r)rr
r�r�r�r�r#rKr�r"r:rCr<r�rrrcr�rd)rr�r�rrr�test_remove_reader_read_write�sz8BaseSelectorEventLoopTests.test_remove_reader_read_writecCs"t|jjj_|�|j�d��dS)Nr	)r�r#rKr�rUr<rC)rrrr�test_remove_reader_unknown�sz5BaseSelectorEventLoopTests.test_remove_reader_unknowncCs�t|jjj_dd�}|j�d|�|�|jjjj�|jjjj	d\}}\}}|�
d|�|�
tj|�|�
|�|�
||j�dS)NcSsdS)NTrrrrrr��r|z<BaseSelectorEventLoopTests.test_add_writer.<locals>.<lambda>r	r)r�r#rKr�rUrBr:r�rrrdrcr�r�rLr�)rr�rPr�r�r�rrr�test_add_writer�s
z*BaseSelectorEventLoopTests.test_add_writercCs�t��}t��}t�ddtj||f�|jjj_dd�}|j�	d|�|�
|jj�|�
|jjjj�|�
|jjjj�|jjjjd\}}\}}|�d|�|�tjtjB|�|�||�|�||j�dS)Nr	cSsdS)NTrrrrrr��r|zEBaseSelectorEventLoopTests.test_add_writer_existing.<locals>.<lambda>r)rr
r�r�r�r#rKr�r"rBr:rerrr<r�r�rdrcr�r�)rr�r�r�rPr�r�r�rrr�test_add_writer_existing�sz3BaseSelectorEventLoopTests.test_add_writer_existingcCsBt�ddtjd�|jjj_|�|j�d��|�	|jjj
j�dS)Nr	)NN)r�r�r�r#rKr�r"r<rDr:r�rr)rrrr�test_remove_writer�sz-BaseSelectorEventLoopTests.test_remove_writercCs�t��}t��}t�ddtjtjB||f�|jjj_	|�
|j�d��|�|jjj
j�|�dtj|dff|jjjjd�dS)Nr	r)rr
r�r�r�r�r#rKr�r"r:rDr<r�rrrcr�rd)rr�r�rrr�test_remove_writer_read_write�sz8BaseSelectorEventLoopTests.test_remove_writer_read_writecCs"t|jjj_|�|j�d��dS)Nr	)r�r#rKr�rUr<rD)rrrr�test_remove_writer_unknown�sz5BaseSelectorEventLoopTests.test_remove_writer_unknownc	Csbt��}d|_t��|j_|j�t�ddtj|df�tjfg�|�	|jjj
�|jj�|�dS)NFr	)rr
�
_cancelledr#�
_add_callbackr�r�r�r�r:rrrM)rr�rrr�test_process_events_read�sz3BaseSelectorEventLoopTests.test_process_events_readc	CsRt��}d|_t��|j_|j�t�ddtj|df�tjfg�|jj�	d�dS)NTr	)
rr
�	cancelledr#r1r�r�r�r�rM)rr�rrr�"test_process_events_read_cancelled�sz=BaseSelectorEventLoopTests.test_process_events_read_cancelledc	CsRt��}d|_t��|j_|j�t�ddtjd|f�tjfg�|jj�	|�dS)NFr	)
rr
r�r#r�r�r�r�r�rM)rr�rrr�test_process_events_write�sz4BaseSelectorEventLoopTests.test_process_events_writec	CsRt��}d|_t��|j_|j�t�ddtjd|f�tjfg�|jj�	d�dS)NTr	)
rr
r�r#r2r�r�r�r�rM)rr�rrr�#test_process_events_write_cancelled�sz>BaseSelectorEventLoopTests.test_process_events_write_cancelledc
Cs�t��}t��t��f|j_d}tjj}||jd��@}d|_||jd��"}d|_|jjt��||d�WdQRXWdQRX|�|jj	|�dS)N�dZ_accept_connection2r`)�backlog)
rr
r�r"�patch�objectr#Z_accept_connectionrc�
call_count)rrgr�Zmock_objZaccept2_mockZ	task_mockrrr�test_accept_connection_multiple�s$z:BaseSelectorEventLoopTests.test_accept_connection_multiple)Arrrr r-�unittestZskipIfr.rArr�rFrQrRrWrYr\r]rhrqrsrtrurxr{rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__rr)r%rr0sr
&

,				
	
		rcs�eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
�d�dd��Ze
�d�dd��Z
dd�Zdd�Z�ZS)�SelectorTransportTestscs>t���|��|_t�tj�|_t	�
tj�|_d|jj
_dS)NrH)rr �
new_test_loopr#r4�make_test_protocolr(r)�protocolrr
r�rgrJr")r)r%rrr 
s


zSelectorTransportTests.setUpcCs$t|j|j|jd�}|�t|�|S)N)rr#rgr��
addCleanupr)rrrrr�create_transportsz'SelectorTransportTests.create_transportcCs:|��}|�|j|j�|�|j|j�|�|jd�dS)NrH)r�rv�_loopr#rrgZ_sock_fd)r�trrrr�	test_ctorsz SelectorTransportTests.test_ctorcCs*|��}t��|_|��|j�d�dS)N)r�rr
�_force_close�abortrM)rr�rrr�
test_abort s
z!SelectorTransportTests.test_abortcCsz|��}|��|�|���|�d|jjd�|j�d�|�|j	d�|��|�|j	d�|�d|jjd�dS)Nr	rH)
r�rr:�
is_closingrcr#�remove_reader_countr��connection_lost�
_conn_lost)rr�rrrrQ'sz!SelectorTransportTests.test_closecCsJ|��}|j�d�|��|�|jj�t�|j�|�|j	j
j�dS)Nsdata)r��_buffer�extendrr<r#�readersr4r9r�r�rr)rr�rrr�test_close_write_buffer4sz.SelectorTransportTests.test_close_write_buffercCs�|��}|j�d�|j�dtj�|j�dtj�|�d�|�	|�
��|�|jt��|�
|jj�|�
|jj�|�d�|�
|jj�|�d|jjd�dS)N�1rHr	)r�r�r�r#r/r�sentinelr0r�r:r�rcrr<r��writersr�)rr�rrr�test_force_close=s

z'SelectorTransportTests.test_force_closezasyncio.log.logger.errorcCs:t�}|��}t��|_|�|�|��|j�|�dS)N)rXr�rr
r��_fatal_error�assert_not_calledrM)r�m_exc�excr�rrr�test_fatal_errorNs

z'SelectorTransportTests.test_fatal_errorcCs\Gdd�dt�}|�}|��}t��|_|�|�|jt�d�|t	t	fd�|j�|�dS)Nc@seZdZdS)zISelectorTransportTests.test_fatal_error_custom_exception.<locals>.MyErrorN)rrrrrrr�MyError[sr�z1Fatal error on transport
protocol:.*
transport:.*)�exc_info)
�	Exceptionr�rr
r�r�rMr4�MockPattern�MOCK_ANY)rr�r�r�r�rrr�!test_fatal_error_custom_exceptionYs

z8SelectorTransportTests.test_fatal_error_custom_exceptioncCsrt�}|��}|�|j�|�|j�|�|�|jj�|�|j	j
��|�|j�|�|j�|�|j�dS)N)
rXr�ZassertIsNotNoneZ	_protocolr�Z_call_connection_lostr�r�rMrgrrLr)rr�r�rrr�test_connection_lostis
z+SelectorTransportTests.test_connection_lostcCsv|��}|j�d�|�dtj�|�|jj�|�	d�|�|�
��|�|jj�|�dtj�|�|jj�dS)Nr�rH)r�r�r�r/rr�r:r#r�r�r�r<)rr�rrr�test__add_readerws
z'SelectorTransportTests.test__add_reader)rrrr r�r�r�rQr�r�rr�r�r�r�r�r�rr)r%rr�s
	r�cs�eZdZ�fdd�ZdQdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Ze
�d�dd��Ze
�d�dd��Ze
�d�dd��Ze
�d�dd��Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Ze
�d3�d4d5��Zd6d7�Zd8d9�Zd:d;�Z d<d=�Z!d>d?�Z"d@dA�Z#dBdC�Z$dDdE�Z%dFdG�Z&dHdI�Z'dJdK�Z(dLdM�Z)e
�dN�dOdP��Z*�Z+S)R�SelectorSocketTransportTestscsDt���|��|_t�tj�|_t	�
tj�|_d|_
|jj_dS)NrH)rr r�r#r4r�r(r)r�rr
r�rg�sock_fdrJr")r)r%rrr �s


z"SelectorSocketTransportTests.setUpNcCs&t|j|j|j|d�}|�t|�|S)N)r?)rr#rgr�r�r)rr?rrrr�socket_transport�s
z-SelectorSocketTransportTests.socket_transportcCsTtj|jd�}|j|d�}|j�|�|j�d|j�t�|j�|j	j
�|�dS)N)r#)r?rH)r(r3r#rrN�
assert_reader�_read_readyr4r9r��connection_maderM)rr?r�rrrr��sz&SelectorSocketTransportTests.test_ctorcCs8tj|jd�}|j|d�|j�|�|�|���dS)N)r#)r?)r(r3r#rrNrLr~)rr?rrr�test_ctor_with_waiter�sz2SelectorSocketTransportTests.test_ctor_with_waitercCs�|��}t�|j�|�|j�|�|���|j�d|j	�|�
�|�
�|�|j�|�|���|j�d�|��|��|�|j�|�|���|j�d|j	�|�
�|�|���|j�d�dS)NrH)rr4r9r#r<Z_pausedr:r8rrr;Zassert_no_readerr=r)rr�rrr�test_pause_resume_reading�s$z6SelectorSocketTransportTests.test_pause_resume_readingcCsd|��}t��|_t��|_t��|j_t�|jj	_
d|jj_
|��|jj	��|�|jj�dS)Nr|)rrr
rr�r#�call_exception_handler�LookupErrorr��eof_receivedrUrgrTr"rrMr:rr)rrrrr�test_read_eof_received_error�s


z9SelectorSocketTransportTests.test_read_eof_received_errorcCs^|��}t��|_t��|j_t�|jj_	d|j
j_|�
�|�|jj�|�|jjj�dS)Nsdata)rrr
r�r#rr	r��
data_receivedrUrgrTr"rr:rr)rrrrr�test_data_received_error�s

z5SelectorSocketTransportTests.test_data_received_errorcCs,|��}d|jj_|��|jj�d�dS)Nsdata)rrgrTr"rr�rrM)rrrrr�test_read_ready�s
z,SelectorSocketTransportTests.test_read_readycCs>|��}t��|_d|jj_|��|jj	�
�|j�
�dS)Nr|)rrr
rrgrTr"rr�r
rM)rrrrr�test_read_ready_eof�s

z0SelectorSocketTransportTests.test_read_ready_eofcCsL|��}t��|_d|jj_d|jj_|�	�|jj�
�|�|jj�dS)Nr|T)
rrr
rrgrTr"r�r
rrMr<rr)rrrrr�test_read_ready_eof_keep_open�s


z:SelectorSocketTransportTests.test_read_ready_eof_keep_openzlogging.exceptioncCs6t|jj_|��}t��|_|��|�	|jj
�dS)N)rSrgrTrUrrr
r�rr<rr)rr�rrrr�test_read_ready_tryagain�s


z5SelectorSocketTransportTests.test_read_ready_tryagaincCs6t|jj_|��}t��|_|��|�	|jj
�dS)N)r�rgrTrUrrr
r�rr<rr)rr�rrrr�$test_read_ready_tryagain_interrupteds


zASelectorSocketTransportTests.test_read_ready_tryagain_interruptedc	CsNt�}|jj_|��}t��|_t�	��|�
�WdQRX|j�|�dS)N)�ConnectionResetErrorrgrTrUrrr
r�r4r5rrM)rr�rwrrrr�test_read_ready_conn_reset
s

z7SelectorSocketTransportTests.test_read_ready_conn_resetcCs<t�}|jj_|��}t��|_|��|j�	|d�dS)Nz$Fatal read error on socket transport)
rXrgrTrUrrr
r�rrM)rr�rwrrrr�test_read_ready_errs
z0SelectorSocketTransportTests.test_read_ready_errcCs6d}t|�|jj_|��}|�|�|jj�|�dS)Nsdata)�lenrgrZr"r�writerM)r�datarrrr�
test_write s

z'SelectorSocketTransportTests.test_writecCsJtd�}t|�|jj_|��}|�|�|jj�|�|�|td��dS)Nsdata)	rrrgrZr"rrrMrc)rrrrrr�test_write_bytearray(s
z1SelectorSocketTransportTests.test_write_bytearraycCs:td�}t|�|jj_|��}|�|�|jj�|�dS)Nsdata)�
memoryviewrrgrZr"rrrM)rrrrrr�test_write_memoryview1s

z2SelectorSocketTransportTests.test_write_memoryviewcCsF|��}|j�d�|�d�|�|jjj�|�t	dg�|j�dS)Nsdatar|)
rr�r�rr<rgrZrrrcr)rrrrr�test_write_no_data9s

z/SelectorSocketTransportTests.test_write_no_datacCsH|��}|j�d�|�d�|�|jjj�|�t	ddg�|j�dS)Nsdata1sdata2)
rr�r�rr<rgrZrrrcr)rrrrr�test_write_buffer@s
z.SelectorSocketTransportTests.test_write_buffercCsHd}d|jj_|��}|�|�|j�d|j�|�t	dg�|j
�dS)NsdatarjrHsta)rgrZr"rrr#�
assert_writer�_write_readyrcrr�)rrrrrr�test_write_partialHs

z/SelectorSocketTransportTests.test_write_partialcCs\td�}d|jj_|��}|�|�|j�d|j�|�	t
dg�|j�|�	|td��dS)NsdatarjrHsta)rrgrZr"rrr#rr rcrr�)rrrrrr�test_write_partial_bytearrayRs

z9SelectorSocketTransportTests.test_write_partial_bytearraycCsLtd�}d|jj_|��}|�|�|j�d|j�|�	t
dg�|j�dS)NsdatarjrHsta)rrgrZr"rrr#rr rcrr�)rrrrrr�test_write_partial_memoryview]s

z:SelectorSocketTransportTests.test_write_partial_memoryviewcCsRd}d|jj_d|jj_|��}|�|�|j�d|j�|�	t
dg�|j�dS)NsdatarrH)rgrZr"rJrrr#rr rcrr�)rrrrrr�test_write_partial_nonegs


z4SelectorSocketTransportTests.test_write_partial_nonecCsHt|jj_d}|��}|�|�|j�d|j�|�	t
dg�|j�dS)NsdatarH)rSrgrZrUrrr#rr rcrr�)rrrrrr�test_write_tryagainrs

z0SelectorSocketTransportTests.test_write_tryagainzasyncio.selector_events.loggercCs�t�}|jj_d}|��}t��|_|�|�|j�	|d�d|_
|j��|�|�|�|jjj
�|�|j
d�|�|�|�|�|�|�|�|�|j�	d�dS)Nsdataz%Fatal write error on socket transportr	rjzsocket.send() raised exception.)rXrgrZrUrrr
r�rrMr�r�r<rrrc�warning)r�m_logrwrrrrr�test_write_exception|s$







z1SelectorSocketTransportTests.test_write_exceptioncCs|��}|�t|jd�dS)N�str)rrE�	TypeErrorr)rrrrr�test_write_str�sz+SelectorSocketTransportTests.test_write_strcCs:|��}|��|�|jd�|�d�|�|jd�dS)Nr	sdatarj)rrrcr�r)rrrrr�test_write_closing�s

z/SelectorSocketTransportTests.test_write_closingcCs`d}t|�|jj_|��}|j�|�|j�d|j	�|�	�|�
|jjj�|�|jj
�dS)NsdatarH)rrgrZr"rr�r�r#r0r r:rrr<r�)rrrrrr�test_write_ready�sz-SelectorSocketTransportTests.test_write_readycCs�d}t|�|jj_|��}d|_|j�|�|j�	d|j
�|�
�|�|jjj�|�
|jj�|jj��|jj�d�dS)NsdataTrH)rrgrZr"r�_closingr�r�r#r0r r:rrr<r�rrMr�r�)rrrrrr�test_write_ready_closing�sz5SelectorSocketTransportTests.test_write_ready_closingcCs|��}|�t|j�dS)N)rrE�AssertionErrorr )rrrrr�test_write_ready_no_data�sz5SelectorSocketTransportTests.test_write_ready_no_datacCsbd}d|jj_|��}|j�|�|j�d|j�|��|j�	d|j�|�
tdg�|j�dS)NsdatarjrHsta)rgrZr"rr�r�r#r0r rrcr)rrrrrr�test_write_ready_partial�s
z5SelectorSocketTransportTests.test_write_ready_partialcCsbd}d|jj_|��}|j�|�|j�d|j�|��|j�	d|j�|�
tdg�|j�dS)NsdatarrH)rgrZr"rr�r�r#r0r rrcr)rrrrrr�test_write_ready_partial_none�s
z:SelectorSocketTransportTests.test_write_ready_partial_nonecCs`t|jj_|��}tddg�|_|j�d|j	�|�	�|j�
d|j	�|�tdg�|j�dS)Nsdata1sdata2rHs
data1data2)rSrgrZrUrrr�r#r0r rrc)rrrrr�test_write_ready_tryagain�s
z6SelectorSocketTransportTests.test_write_ready_tryagaincCsHt�}|jj_|��}t��|_|j�	d�|�
�|j�|d�dS)Nsdataz%Fatal write error on socket transport)rXrgrZrUrrr
r�r�r�r rM)rrwrrrr�test_write_ready_exception�s
z7SelectorSocketTransportTests.test_write_ready_exceptioncCsT|��}|�|���|��|jj�tj�|��|�	|jjj
d�|��dS)Nr	)rr:Z
can_write_eof�	write_eofrg�shutdownrMr��SHUT_WRrcr�r)rr�rrr�test_write_eof�sz+SelectorSocketTransportTests.test_write_eofcCs�|��}t|jj_|�d�|��|�|jt	dg��|�
|j�|�|jj
j�dd�|jj_|��|�
|jjj�|jj
�tj�|��dS)NsdatacSsdS)Nr�r)�_rrrr��r|zDSelectorSocketTransportTests.test_write_eof_buffer.<locals>.<lambda>)rrSrgrZrUrr6rcr�rr:Z_eofr<r7rrr rMr�r8r)rr�rrr�test_write_eof_buffer�s

z2SelectorSocketTransportTests.test_write_eof_buffercCs.|��}|��|j�t�d��|��dS)Nr)rrr#rNr(rbr6)rr�rrr�test_write_eof_after_close�sz7SelectorSocketTransportTests.test_write_eof_after_closezasyncio.base_events.loggercCs0t��}|j_|��}|��|�|j�dS)N)rr
r#r2rrrMr)rr'rDrrrr�"test_transport_close_remove_writersz?SelectorSocketTransportTests.test_transport_close_remove_writer)N),rrrr rr�rrrr
rrrrr�rrrrrrrrrr!r"r#r$r%r(r+r,r-r/r1r2r3r4r5r9r;r<r=r�rr)r%rr�sL
	




	


	rcs�eZdZ�fdd�Zd!dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
e�d�dd��Ze�d�dd��Ze�d�dd��Ze�d�dd ��Z�ZS)"�,SelectorSocketTransportBufferedProtocolTestscs`t�������_t�tj��_t	d��_
�fdd��jj_t
�tj��_d�_�jj_dS)Nr	cs�jS)N)�buf)�hint)rrrr�r|zDSelectorSocketTransportBufferedProtocolTests.setUp.<locals>.<lambda>rH)rr r�r#r4r�r(�BufferedProtocolr�rr?�
get_bufferrUrr
r�rgrrJr")r)r%)rrr s


z2SelectorSocketTransportBufferedProtocolTests.setUpNcCs&t|j|j|j|d�}|�t|�|S)N)r?)rr#rgr�r�r)rr?rrrrrs
z=SelectorSocketTransportBufferedProtocolTests.socket_transportcCsTtj|jd�}|j|d�}|j�|�|j�d|j�t�|j�|j	j
�|�dS)N)r#)r?rH)r(r3r#rrNrrr4r9r�rrM)rr?r�rrrr�!sz6SelectorSocketTransportBufferedProtocolTests.test_ctorcCsd|��}t��|_t��|j_t�|jj_	|�
�|�|jj�|�|jjj�|�
|jjj�dS)N)rrr
r�r#rr	r�rBrUrr:rrr<�buffer_updated)rrrrr�test_get_buffer_error*s
zBSelectorSocketTransportBufferedProtocolTests.test_get_buffer_errorcCsf|��}t��|_t��|j_dd�|jj_|�	�|�
|jj�|�
|jjj�|�|jj
j�dS)NcSstd�S)Nr)r)r@rrrr�<r|zXSelectorSocketTransportBufferedProtocolTests.test_get_buffer_zerosized.<locals>.<lambda>)rrr
r�r#rr�rBrUrr:rrr<rC)rrrrr�test_get_buffer_zerosized7s
zFSelectorSocketTransportBufferedProtocolTests.test_get_buffer_zerosizedcs�t�tj�|_|��}d|jj_|�	�|jj
�d�t�tj�}t
d���fdd�|j_|�|�d|jj_|�	�|j�d�|j�d�dS)Nsdatar�cs�S)Nr)r@)r?rrr�Qr|zUSelectorSocketTransportBufferedProtocolTests.test_proto_type_switch.<locals>.<lambda>rirk)r4r�r(r)r�rrgrTr"rrrMrArrBrUZset_protocol�	recv_intorC)rrZ	buf_protor)r?r�test_proto_type_switchDs


zCSelectorSocketTransportBufferedProtocolTests.test_proto_type_switchcCsn|��}t��|_t��|j_t�|jj_	d|j
j_|�
�|�|jj�|�|jjj�|�|jjj�dS)Nri)rrr
r�r#rr	r�rCrUrgrFr"rr:rrrB)rrrrr�test_buffer_updated_error[s

zFSelectorSocketTransportBufferedProtocolTests.test_buffer_updated_errorcCsd|��}t��|_t��|_t��|j_t�|jj	_
d|jj_
|��|jj	��|�|jj�dS)Nr)rrr
rr�r#rr	r�r
rUrgrFr"rrMr:rr)rrrrrris


zISelectorSocketTransportBufferedProtocolTests.test_read_eof_received_errorcCs:|��}d|jj_|��|jj�d�|jj�d�dS)Nrirk)	rrgrFr"rr�rBrMrC)rrrrrrxs

z<SelectorSocketTransportBufferedProtocolTests.test_read_readycCs>|��}t��|_d|jj_|��|jj	�
�|j�
�dS)Nr)rrr
rrgrFr"rr�r
rM)rrrrrr�s

z@SelectorSocketTransportBufferedProtocolTests.test_read_ready_eofcCsL|��}t��|_d|jj_d|jj_|�	�|jj�
�|�|jj�dS)NrT)
rrr
rrgrFr"r�r
rrMr<rr)rrrrrr�s


zJSelectorSocketTransportBufferedProtocolTests.test_read_ready_eof_keep_openzlogging.exceptioncCs6t|jj_|��}t��|_|��|�	|jj
�dS)N)rSrgrFrUrrr
r�rr<rr)rr�rrrrr�s


zESelectorSocketTransportBufferedProtocolTests.test_read_ready_tryagaincCs6t|jj_|��}t��|_|��|�	|jj
�dS)N)r�rgrFrUrrr
r�rr<rr)rr�rrrrr�s


zQSelectorSocketTransportBufferedProtocolTests.test_read_ready_tryagain_interruptedc	CsNt�}|jj_|��}t��|_t�	��|�
�WdQRX|j�|�dS)N)rrgrFrUrrr
r�r4r5rrM)rr�rwrrrrr�s

zGSelectorSocketTransportBufferedProtocolTests.test_read_ready_conn_resetcCs<t�}|jj_|��}t��|_|��|j�	|d�dS)Nz$Fatal read error on socket transport)
rXrgrFrUrrr
r�rrM)rr�rwrrrrr�s
z@SelectorSocketTransportBufferedProtocolTests.test_read_ready_err)N)rrrr rr�rDrErGrHrrrrrr�rrrrr�rr)r%rr>s
	

	



r>cseZdZ�fdd�Zd>dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Ze�d�dd ��Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Ze�d9�d:d;��Z e�d9�d<d=��Z!�Z"S)?�SelectorDatagramTransportTestscs@t���|��|_t�tj�|_t	j
tjd�|_d|jj
_dS)N)Zspec_setrH)rr r�r#r4r�r(ZDatagramProtocolr�rr
r�rgrJr")r)r%rrr �s


z$SelectorDatagramTransportTests.setUpNcCs8|rdnt|jj_t|j|j|j|d�}|�t|�|S)N)r�)	rXrgZgetpeernamerUrr#r�r�r)rr�rrrr�datagram_transport�s
z1SelectorDatagramTransportTests.datagram_transportcCs.|��}d|jj_|��|jj�dd�dS)N)sdata)z0.0.0.0i�sdata)z0.0.0.0i�)rJrg�recvfromr"rr�Zdatagram_receivedrM)rrrrrr�s

z.SelectorDatagramTransportTests.test_read_readycCs6|��}t|jj_t��|_|��|�	|jj
�dS)N)rJrSrgrKrUrr
r�rr<rr)rrrrrr�s


z7SelectorDatagramTransportTests.test_read_ready_tryagaincCs<|��}t�}|jj_t��|_|��|j�	|d�dS)Nz&Fatal read error on datagram transport)
rJr7rgrKrUrr
r�rrM)rrrwrrrr�s
z2SelectorDatagramTransportTests.test_read_ready_errcCsJ|��}t�}|jj_t��|_|��|�	|jj
�|jj�
|�dS)N)rJrXrgrKrUrr
r�rr<rrr��error_receivedrM)rrrwrrr�test_read_ready_oserr�s
z4SelectorDatagramTransportTests.test_read_ready_oserrcCsFd}|��}|�|d�|�|jjj�|�|jjjd|df�dS)Nsdata)z0.0.0.0i�r)rJ�sendtor:rgrrrcrd)rrrrrr�test_sendto�sz*SelectorDatagramTransportTests.test_sendtocCsJtd�}|��}|�|d�|�|jjj�|�|jjjd|df�dS)Nsdata)z0.0.0.0i�r)rrJrNr:rgrrrcrd)rrrrrr�test_sendto_bytearraysz4SelectorDatagramTransportTests.test_sendto_bytearraycCsJtd�}|��}|�|d�|�|jjj�|�|jjjd|df�dS)Nsdata)z0.0.0.0i�r)rrJrNr:rgrrrcrd)rrrrrr�test_sendto_memoryview	sz5SelectorDatagramTransportTests.test_sendto_memoryviewcCsH|��}|j�d�|�dd�|�|jjj�|�dgt|j��dS)N)sdata)z0.0.0.0i90r|r)	rJr��appendrNr<rgrrrc�list)rrrrr�test_sendto_no_datasz2SelectorDatagramTransportTests.test_sendto_no_datacCsJ|��}|j�d�|�dd�|�|jjj�|�ddgt|j��dS)N)sdata1)z0.0.0.0i90sdata2)z0.0.0.0i90)sdata2)z0.0.0.0i90)	rJr�rRrNr<rgrrrcrS)rrrrr�test_sendto_buffersz1SelectorDatagramTransportTests.test_sendto_buffercCshtd�}|��}|j�d�|�|d�|�|jjj�|�ddgt	|j��|�
|jddt�dS)Nsdata2)sdata1)z0.0.0.0i90)z0.0.0.0i90)sdata2)z0.0.0.0i90r	r)rrJr�rRrNr<rgrrrcrSr*�bytes)r�data2rrrr�test_sendto_buffer_bytearray#sz;SelectorDatagramTransportTests.test_sendto_buffer_bytearraycCshtd�}|��}|j�d�|�|d�|�|jjj�|�ddgt	|j��|�
|jddt�dS)Nsdata2)sdata1)z0.0.0.0i90)z0.0.0.0i90)sdata2)z0.0.0.0i90r	r)rrJr�rRrNr<rgrrrcrSr*rV)rrWrrrr�test_sendto_buffer_memoryview/sz<SelectorDatagramTransportTests.test_sendto_buffer_memoryviewcCsJd}t|jj_|��}|�|d�|j�d|j�|�dgt	|j
��dS)Nsdata)z0.0.0.0i90rH)sdata)z0.0.0.0i90)rSrgrNrUrJr#r�
_sendto_readyrcrSr�)rrrrrr�test_sendto_tryagain;s
z3SelectorDatagramTransportTests.test_sendto_tryagainzasyncio.selector_events.loggercCs�d}t�}|jj_|��}t��|_|�|d�|�|jj	�|j�
|d�d|_d|_|�|�|�|�|�|�|�|�|�|�|j
�
d�dS)Nsdatarz'Fatal write error on datagram transportr	)Z123zsocket.send() raised exception.)r7rgrNrUrJrr
r�r:rrrMr�Z_addressr&)rr'rrwrrrr�test_sendto_exceptionGs"





z4SelectorDatagramTransportTests.test_sendto_exceptioncCsLd}t|jj_|��}t��|_|�|d�|�|j	d�|�
|jj�dS)Nsdatarr)�ConnectionRefusedErrorrgrNrUrJrr
r�rcr�r<rr)rrrrrr�test_sendto_error_received^s

z9SelectorDatagramTransportTests.test_sendto_error_receivedcCsPd}t|jj_|jdd�}t��|_|�|�|�	|jj
�|�|jj
j
�dS)Nsdata)z0.0.0.0r	)r�)r]rgrZrUrJrr
r�rNr<rrr:r�rL)rrrrrr�$test_sendto_error_received_connectedjs


zCSelectorDatagramTransportTests.test_sendto_error_received_connectedcCs|��}|�t|jdd�dS)Nr)r)rJrEr*rN)rrrrr�test_sendto_strvsz.SelectorDatagramTransportTests.test_sendto_strcCs"|jdd�}|�t|jdd�dS)N)z0.0.0.0r	)r�sstr)z0.0.0.0rj)rJrE�
ValueErrorrN)rrrrr�test_sendto_connected_addrzsz9SelectorDatagramTransportTests.test_sendto_connected_addrcCs@|jdd�}|��|�|jd�|�dd�|�|jd�dS)N)r	)r�r	sdatarj)rJrrcr�rN)rrrrr�test_sendto_closings
z2SelectorDatagramTransportTests.test_sendto_closingcCs~d}t|�|jj_|��}|j�|df�|j�d|j	�|�	�|�
|jjj�|�|jjj
d|df�|�|jj�dS)Nsdata)z0.0.0.0i90rHr)rrgrNr"rJr�rRr#r0rZr:rrrcrdr<r�)rrrrrr�test_sendto_ready�sz0SelectorDatagramTransportTests.test_sendto_readycCs�d}t|�|jj_|��}d|_|j�|df�|j�	d|j
�|�
�|jj�|d�|�
|jj�|jj��|jj�d�dS)NsdataTrrH)rrgrZr"rJr.r�rRr#r0rZrNrMr<r�rr�r�)rrrrrr�test_sendto_ready_closing�sz8SelectorDatagramTransportTests.test_sendto_ready_closingcCsB|��}|j�d|j�|��|�|jjj�|�|jj�dS)NrH)	rJr#r0rZr<rgrNrrr�)rrrrr�test_sendto_ready_no_data�s
z8SelectorDatagramTransportTests.test_sendto_ready_no_datacCsdt|jj_|��}|j�ddg�|j�d|j	�|�	�|j�
d|j	�|�ddgt|j��dS)N)sdata1r)sdata2rrH)
rSrgrNrUrJr�r�r#r0rZrrcrS)rrrrr�test_sendto_ready_tryagain�s
z9SelectorDatagramTransportTests.test_sendto_ready_tryagaincCsHt�}|jj_|��}t��|_|j�	d�|�
�|j�|d�dS)N)sdatarz'Fatal write error on datagram transport)r7rgrNrUrJrr
r�r�rRrZrM)rrwrrrr�test_sendto_ready_exception�s
z:SelectorDatagramTransportTests.test_sendto_ready_exceptioncCsBt|jj_|��}t��|_|j�	d�|�
�|�|jj�dS)N)sdatar)
r]rgrNrUrJrr
r�r�rRrZr<rr)rrrrr� test_sendto_ready_error_received�s

z?SelectorDatagramTransportTests.test_sendto_ready_error_receivedcCsVt|jj_|jdd�}t��|_|j�	d�|�
�|�|jj�|�
|jjj�dS)N)z0.0.0.0r	)r�)sdatar)r]rgrZrUrJrr
r�r�rRrZr<rrr:r�rL)rrrrr�+test_sendto_ready_error_received_connection�s

zJSelectorDatagramTransportTests.test_sendto_ready_error_received_connectionz asyncio.base_events.logger.errorcCs8|jdd�}t�}|�|�|�|jjj�|��dS)N)z0.0.0.0r	)r�)rJr]r�r<r�rLrrr�)rr�rrwrrr�test_fatal_error_connected�s

z9SelectorDatagramTransportTests.test_fatal_error_connectedcCsZGdd�dt�}|jdd�}|�}|�|�|�|jjj�|jt�	d�|t
t
fd�dS)Nc@seZdZdS)z[SelectorDatagramTransportTests.test_fatal_error_connected_custom_error.<locals>.MyExceptionN)rrrrrrr�MyException�srl)z0.0.0.0r	)r�z1Fatal error on transport
protocol:.*
transport:.*)r�)r�rJr�r<r�rLrrrMr4r�r�)rr�rlrrwrrr�'test_fatal_error_connected_custom_error�s
zFSelectorDatagramTransportTests.test_fatal_error_connected_custom_error)N)#rrrr rJrrrrMrOrPrQrTrUrXrYr[rr�r\r^r_r`rbrcrdrerfrgrhrirjrkrmr�rr)r%rrI�s:
		




rI�__main__)r)�__doc__r�r�r�r�rr.�ImportErrorr(Zasyncio.selector_eventsrrrrZtest.test_asynciorr4�ANYr�rrrZTestCaserr�rr>rIr�mainrrrr�<module>sJ

	`|
4-