Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/test/test_asyncio/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/test/test_asyncio/__pycache__/test_selector_events.cpython-312.pyc

�

(Μg������dZddlZddlZddlZddlZddlZddlmZddlmZ	ddl	Z	ddlZddlmZm
Z
mZmZddlmZej&Zd�ZGd�d	e�Zdd
�Zd�ZGd�d
ej2�ZGd�dej2�ZGd�dej2�ZGd�dej2�ZGd�dej2�Zedk(rej@�yy#e
$rdZ	Y��wxYw)zTests for selector_events.py�N)�selector_events)�mock)�BaseSelectorEventLoop�_SelectorDatagramTransport�_SelectorSocketTransport�_SelectorTransport)�utilsc�.�tjd�y�N)�asyncio�set_event_loop_policy���C/usr/local/lib/python3.12/test/test_asyncio/test_selector_events.py�tearDownModulers���!�!�$�'rc��eZdZd�Zd�Zy)�TestBaseSelectorEventLoopc��tj�|_tj�|_|xjdz
c_y�N��r�Mock�_ssock�_csock�
_internal_fds��selfs r�_make_self_pipez)TestBaseSelectorEventLoop._make_self_pipe s-���i�i�k����i�i�k������a��rc��yrrrs r�_close_self_pipez*TestBaseSelectorEventLoop._close_self_pipe%s��rN)�__name__�
__module__�__qualname__rr rrrrrs�� �

rrc�^�tj�}|jd�|D��|S)Nc3�2K�|]}t|����y�wr)�
memoryview)�.0�is  r�	<genexpr>z!list_to_buffer.<locals>.<genexpr>+s����,�!�Q�:�a�=�!�s�)�collections�deque�extend)�l�buffers  r�list_to_bufferr/)s'��
�
�
�
 �F�
�M�M�,�!�,�-��Mrc�`�|j�y|jj�d|_yr)�_sock�close)�	transports r�close_transportr40s(�������
�O�O�����I�Orc�6��eZdZ�fd�Zd�Zejdd�ejdd�d���Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
ejd
�d��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z�xZS)�BaseSelectorEventLoopTestsc����t�|��tj�|_g|jj
_t|j�|_|j|j�yr)
�super�setUprr�selector�select�return_valuer�loop�set_event_loop�r�	__class__s �rr9z BaseSelectorEventLoopTests.setUp;sM���
��
���	�	���
�,.��
�
���)�-�d�m�m�<��	����D�I�I�&rc��tj�}tj�|j_tj�|j_|jj|t
j��}|j|t�|j|jjjd�|jj�t|�t|�yr)rrr=�
add_reader�_ensure_fd_no_transport�_make_socket_transportr�Protocol�assertIsInstancer�assertEqual�
call_countr2�reprr4)r�mr3s   r�test_make_socket_transportz5BaseSelectorEventLoopTests.test_make_socket_transportBs����I�I�K��#�y�y�{��	�	��,0�I�I�K��	�	�)��I�I�4�4�Q��8H�8H�8J�K�	����i�)A�B�������:�:�E�E�q�I�	
�	�	�����Y���	�"rzasyncio.selector_events.sslNzasyncio.sslproto.sslc�z�tj�}tj�|j_tj�|j_tj�|j_tj�|j_tj�|j_|jt�5|jj||||�ddd�|j|jjjd�y#1swY�:xYwr)
rrr=rB�
add_writer�
remove_reader�
remove_writerrC�assertRaises�RuntimeError�_make_ssl_transportrGrH)rrJs  r�)test_make_ssl_transport_without_ssl_errorzDBaseSelectorEventLoopTests.test_make_ssl_transport_without_ssl_errorPs���
�I�I�K��#�y�y�{��	�	��#�y�y�{��	�	��"&�)�)�+��	�	��"&�)�)�+��	�	��,0�I�I�K��	�	�)�
�
�
�|�
,��I�I�)�)�!�Q��1�5�-�������:�:�E�E�q�I�-�
,�s�D1�1D:c�r�Gd�dt�}||j�|_|j|j�|jj}d|j
_|jj}d|j
_tj�x}|j_
|jjj�tj�x|j_}|j|jj��|jj�|j|jj��|j!|jj�|j!|jj�|j!|jj�|jj#�|jj#�|jj#�|j#d�|jj�|jj�|jj%�}|j't(|jj*�|j't(|jj,|�d}d�}|j't(|jj.||�|j't(|jj0||�y)Nc��eZdZd�Zy)�8BaseSelectorEventLoopTests.test_close.<locals>.EventLoopc��tj�|_tj�|_|xjdz
c_yrrrs rrzHBaseSelectorEventLoopTests.test_close.<locals>.EventLoop._make_self_pipe_s-��"�i�i�k���"�i�i�k����"�"�a�'�"rN)r!r"r#rrrr�	EventLooprV^s��
(rrX�rrc��yrrrrr�callbackz7BaseSelectorEventLoopTests.test_close.<locals>.callback�s��r)rr:r=r>r�filenor<rrr�_remove_reader�	_selectorr2�assertFalse�	is_closed�
assertTrue�assertIsNone�assert_called_with�
create_futurerPrQ�run_forever�run_until_completerBrM)	rrX�ssock�csockrNr:�f�fdr[s	         r�
test_closez%BaseSelectorEventLoopTests.test_close]s#��	(�-�	(��d�m�m�,��	����D�I�I�&��	�	� � ��$%����!��	�	� � ��$%����!�37�9�9�;�>�
��	�	�0��	�	���!�!�#�)-����4��	�	��h�������,�,�.�/��	�	��������	�	�+�+�-�.����$�)�)�-�-�.����$�)�)�*�*�+����$�)�)�*�*�+����)�)�+�
���&�&�(�
���&�&�(��(�(��+�	
�	�	�����	�	����
�I�I�#�#�%�����,��	�	�(=�(=�>����,��	�	�(D�(D�a�H�
��	����,��	�	�(<�(<�b�(�K����,��	�	�(<�(<�b�(�Krc�2�tj�|j_|jjj�d|j_|jj�|j
|jj�yr)rrr=rNr^r2rbrs r�test_close_no_selectorz1BaseSelectorEventLoopTests.test_close_no_selector�s\��"&�)�)�+��	�	���	�	���!�!�#�"��	�	���	�	�������$�)�)�-�-�.rc��t|jjj_|j|jj
��yr)�BlockingIOErrorr=r�recv�side_effectrb�_read_from_selfrs r�test_read_from_self_tryagainz7BaseSelectorEventLoopTests.test_read_from_self_tryagain�s5��,;��	�	�����)����$�)�)�3�3�5�6rc��t|jjj_|jt|jj�yr)�OSErrorr=rrprqrPrrrs r�test_read_from_self_exceptionz8BaseSelectorEventLoopTests.test_read_from_self_exception�s4��,3��	�	�����)����'�4�9�9�#<�#<�=rc��t|jjj_tj�5|j|jj��ddd�y#1swYyxYwr)	ror=r�sendrq�
test_utils�disable_loggerrb�_write_to_selfrs r�test_write_to_self_tryagainz6BaseSelectorEventLoopTests.test_write_to_self_tryagain�sM��,;��	�	�����)�
�
&�
&�
(����d�i�i�6�6�8�9�)�
(�
(�s�*A1�1A:c��t�|jjj_|jt|jj�yr)rQr=rrxrqrPr{rs r�test_write_to_self_exceptionz7BaseSelectorEventLoopTests.test_write_to_self_exception�s6��,8�N��	�	�����)����,��	�	�(@�(@�Arzsocket.getaddrinfoc
�\�d}tjtjfD]�}|j|�5t	j
|��}d�|_|jj|jj||��}|jj|�|j|d|d|j|j|jd�|jj|�|jjd�ddd���y#1swY��xYw)N)zneed-resolution.comi�)�typec��dgS)N)NNNN�z	127.0.0.1rr)�argss r�<lambda>zZBaseSelectorEventLoopTests.test_sock_connect_resolve_using_socket_params.<locals>.<lambda>�s��#M�"Nrrrr�)�socket�SOCK_STREAM�
SOCK_DGRAM�subTestry�mock_nonblocking_socketrqr=�create_task�sock_connectrfrc�familyr��proto�connect)r�m_gai�addr�	sock_type�sock�cons      r�-test_sock_connect_resolve_using_socket_paramszHBaseSelectorEventLoopTests.test_sock_connect_resolve_using_socket_params�s���,�� �,�,�f�.?�.?�@�I����i�(�!�9�9�y�I��O��!��i�i�+�+�D�I�I�,B�,B�4��,N�O���	�	�,�,�S�1��(�(���G�T�!�W�d�k�k�4�9�9�d�j�j�!�M��	�	�,�,�S�1����/�/�0@�A�)�(�A�(�(�s�CD!�!D+	c�,�t|jjj_d�}|jjd|�|j
|jjjj�|jjjjd\}}\}}|jd|�|jtj|�|j||j�|j|�y)Nc��y�NTrrrrr�z<BaseSelectorEventLoopTests.test_add_reader.<locals>.<lambda>����Trrr)�KeyErrorr=r^�get_keyrqrBra�register�called�	call_argsrG�	selectors�
EVENT_READ�	_callbackrb�r�cbrj�mask�r�ws      r�test_add_readerz*BaseSelectorEventLoopTests.test_add_reader�s���2:��	�	���#�#�/�
���	�	���Q��#�����	�	�+�+�4�4�;�;�<��9�9�.�.�7�7�A�A�!�D���D�&�1�a�����B������-�-�t�4�����Q�[�[�)����!�rc��tj�}tj�}tjddtj||f�|j
jj_d�}|j
jd|�|j|jj�|j|j
jjj�|j|j
jjj�|j
jjj d\}}\}}|j#d|�|j#tjtj$z|�|j#||j&�|j#||�y)Nrc��yr�rrrrr�zEBaseSelectorEventLoopTests.test_add_reader_existing.<locals>.<lambda>�r�rr)rrr��SelectorKey�EVENT_WRITEr=r^r�r<rBra�cancelr�r_r��modifyr�rGr�r��r�reader�writerr�rjr�r�r�s        r�test_add_reader_existingz3BaseSelectorEventLoopTests.test_add_reader_existing�sD������������3<�3H�3H�
�q�)�'�'�&�&�)9�4;��	�	���#�#�0�
���	�	���Q��#�����
�
�,�,�-�������,�,�5�5�<�<�=�����	�	�+�+�2�2�9�9�:��9�9�.�.�5�5�?�?��B���D�&�1�a�����B������.�.��1E�1E�E�t�L�����Q�[�[�)������#rc�.�tj�}tjddtjd|f�|j
jj_d�}|j
jd|�|j|j
jjj�|j|j
jjj�|j
jjjd\}}\}}|j!d|�|j!tjtj"z|�|j!||j$�|j!||�y)Nrc��yr�rrrrr�zLBaseSelectorEventLoopTests.test_add_reader_existing_writer.<locals>.<lambda>�r�rr)rrr�r�r�r=r^r�r<rBr_r�r�rar�r�rGr�r�)rr�r�rjr�r�r�s       r�test_add_reader_existing_writerz:BaseSelectorEventLoopTests.test_add_reader_existing_writer�s"�������3<�3H�3H�
�q�)�'�'�$���49��	�	���#�#�0�
���	�	���Q��#�������,�,�5�5�<�<�=�����	�	�+�+�2�2�9�9�:��9�9�.�.�5�5�?�?��B���D�&�1�a�����B������.�.��1E�1E�E�t�L�����Q�[�[�)������#rc�\�tjddtjd�|jjj
_|j|jjd��|j|jjjj�y�Nr)NN)r�r�r�r=r^r�r<r_rNra�
unregisterr�rs r�test_remove_readerz-BaseSelectorEventLoopTests.test_remove_reader�ss��3<�3H�3H�
�q�)�&�&��46��	�	���#�#�0�������0�0��3�4�����	�	�+�+�6�6�=�=�>rc�r�tj�}tj�}tjddtjtj
z||f�|jjj_	|j|jjd��|j|jjjj�|jdtj
d|ff|jjj j"d�y�Nrr)rrr�r�r�r�r=r^r�r<rarNr_r�r�rGr�r��rr�r�s   r�test_remove_reader_read_writez8BaseSelectorEventLoopTests.test_remove_reader_read_write�s�������������3<�3H�3H�
�q�)�&�&��)>�)>�>�
�V��4��	�	���#�#�0�	
����I�I�#�#�A�&�	(�	
������,�,�7�7�>�>�?����
�	�%�%��f�~�6��I�I���&�&�0�0��3�	5rc��t|jjj_|j|jj
d��yr)r�r=r^r�rqr_rNrs r�test_remove_reader_unknownz5BaseSelectorEventLoopTests.test_remove_reader_unknown��:��2:��	�	���#�#�/�����I�I�#�#�A�&�	(rc�,�t|jjj_d�}|jjd|�|j
|jjjj�|jjjjd\}}\}}|jd|�|jtj|�|j|�|j||j�y)Nc��yr�rrrrr�z<BaseSelectorEventLoopTests.test_add_writer.<locals>.<lambda>�r�rrr)r�r=r^r�rqrMrar�r�r�rGr�r�rbr�r�s      r�test_add_writerz*BaseSelectorEventLoopTests.test_add_writer�s���2:��	�	���#�#�/�
���	�	���Q��#�����	�	�+�+�4�4�;�;�<��9�9�.�.�7�7�A�A�!�D���D�&�1�a�����B������.�.��5����!������Q�[�[�)rc��tj�}tj�}tjddtj||f�|j
jj_d�}|j
jd|�|j|jj�|j|j
jjj�|j|j
jjj�|j
jjj d\}}\}}|j#d|�|j#tj$tjz|�|j#||�|j#||j&�y)Nrc��yr�rrrrr�zEBaseSelectorEventLoopTests.test_add_writer_existing.<locals>.<lambda>r�rr)rrr�r�r�r=r^r�r<rMrar�r�r_r�r�r�rGr�r�r�s        r�test_add_writer_existingz3BaseSelectorEventLoopTests.test_add_writer_existingsD������������3<�3H�3H�
�q�)�&�&���(8�4:��	�	���#�#�0�
���	�	���Q��#�����
�
�,�,�-�������,�,�5�5�<�<�=�����	�	�+�+�2�2�9�9�:��9�9�.�.�5�5�?�?��B���D�&�1�a�����B������.�.��1E�1E�E�t�L������#�����Q�[�[�)rc�\�tjddtjd�|jjj
_|j|jjd��|j|jjjj�yr�)r�r�r�r=r^r�r<r_rOrar�r�rs r�test_remove_writerz-BaseSelectorEventLoopTests.test_remove_writerss��3<�3H�3H�
�q�)�'�'��47��	�	���#�#�0�������0�0��3�4�����	�	�+�+�6�6�=�=�>rc�r�tj�}tj�}tjddtjtj
z||f�|jjj_	|j|jjd��|j|jjjj�|jdtj|dff|jjj j"d�yr�)rrr�r�r�r�r=r^r�r<rarOr_r�r�rGr�r�r�s   r�test_remove_writer_read_writez8BaseSelectorEventLoopTests.test_remove_writer_read_writes�������������3<�3H�3H�
�q�)�&�&��)>�)>�>�
�V��4��	�	���#�#�0�	
����I�I�#�#�A�&�	(�	
������,�,�7�7�>�>�?����
�	�$�$�v�t�n�5��I�I���&�&�0�0��3�	5rc��t|jjj_|j|jj
d��yr)r�r=r^r�rqr_rOrs r�test_remove_writer_unknownz5BaseSelectorEventLoopTests.test_remove_writer_unknown,r�rc	���tj�}d|_tj�|j_|jjt
jddtj|df�tjfg�|j|jjj�|jjj|�y�NFr)rr�
_cancelledr=�
_add_callback�_process_eventsr�r�r�rar�rc�rr�s  r�test_process_events_readz3BaseSelectorEventLoopTests.test_process_events_read1s��������!���"&�)�)�+��	�	���	�	�!�!��#�#��1�i�*�*�V�T�N�<��"�"�$�
%�	&�	
����	�	�/�/�6�6�7��	�	���2�2�6�:rc	�n�tj�}d|_tj�|j_|jjt
jddtj|df�tjfg�|jjjd�y�NTr)
rr�	cancelledr=r]r�r�r�r�rcr�s  r�"test_process_events_read_cancelledz=BaseSelectorEventLoopTests.test_process_events_read_cancelled=s�����������#'�9�9�;��	�	� ��	�	�!�!��#�#��1�i�*�*�V�T�N�<�
�
!�
!�#�
$�	%�	
�	�	� � �3�3�A�6rc	�n�tj�}d|_tj�|j_|jjt
jddtjd|f�tjfg�|jjj|�yr�)
rrr�r=r�r�r�r�r�rc�rr�s  r�test_process_events_writez4BaseSelectorEventLoopTests.test_process_events_writeHs��������!���"&�)�)�+��	�	���	�	�!�!��#�#�A�q�)�*?�*?�%)�6�N�4��#�#�%�
&�	'�	
�	�	���2�2�6�:rc	�n�tj�}d|_tj�|j_|jjt
jddtjd|f�tjfg�|jjjd�yr�)
rrr�r=�_remove_writerr�r�r�r�rcr�s  r�#test_process_events_write_cancelledz>BaseSelectorEventLoopTests.test_process_events_write_cancelledSs�����������#'�9�9�;��	�	� ��	�	�!�!��#�#�A�q�)�*?�*?�%)�6�N�4��#�#�%�
&�	'�	
�	�	� � �3�3�A�6rc�*�tj�}tj�tj�f|j_d}tjj
}||jd�5}|jjtj�||��ddd�|jjtjd��|j|jj|�y#1swY�^xYw)N�d�_accept_connection2)�backlogr)
rr�acceptr<�patch�objectr=�_accept_connectionrfr�sleeprGrH)rr�r��mock_obj�accept2_mocks     r�test_accept_connection_multiplez:BaseSelectorEventLoopTests.test_accept_connection_multiple^s����y�y�{��$(�I�I�K�����#=���� ����:�:�$�$��
�d�i�i�!6�
7�<��I�I�(�(��	�	��T�7�
)�
4�8�	
�	�	�$�$�W�]�]�1�%5�6�������/�/��9�	8�
7�s�;1D	�	D) r!r"r#r9rKrr�rSrkrmrsrvr|r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__�r@s@rr6r69s����'�#��T�Z�Z�-�t�4��T�Z�Z�&��-�	J�.�5�	J�*L�X/�7�>�:�
B�
�T�Z�Z�$�%�B�&�B�"
�$�"
$�?�5�(�

*�*�"?�5�(�

;�	7�	;�	7�:rr6c���eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
jd�d	��Ze
jd�d
��Z
d�Zd�Z�xZS)
�SelectorTransportTestsc�"��t�|��|j�|_t	j
tj�|_tjtj�|_d|jj_y�NrY)r8r9�
new_test_loopr=ry�make_test_protocolrrE�protocolrrr�r�r\r<r?s �rr9zSelectorTransportTests.setUprsZ���
��
���&�&�(��	�"�5�5�g�6F�6F�G��
��I�I�f�m�m�,��	�()��	�	���%rc��t|j|j|jd�}|j	t
|�|Sr)rr=r�r��
addCleanupr4�rr3s  r�create_transportz'SelectorTransportTests.create_transportys5��&�t�y�y�$�)�)�T�]�]�'+�-�	������3��rc���|j�}|j|j|j�|j|j|j
�|j|jd�yr�)r��assertIs�_loopr=r1r��_sock_fd�r�trs  r�	test_ctorz SelectorTransportTests.test_ctorsN��
�
"�
"�
$���
�
�b�h�h��	�	�*��
�
�b�h�h��	�	�*��
�
�b�k�k�1�%rc��|j�}tj�|_|j	�|jjd�yr)r�rr�_force_close�abortrcr�s  r�
test_abortz!SelectorTransportTests.test_abort�s8��
�
"�
"�
$���)�)�+���
���
�
���*�*�4�0rc���|j�}|j�|j|j��|j	d|j
jd�|jjd�|j	|jd�|j�|j	|jd�|j	d|j
jd�y)NrrY)
r�r2ra�
is_closingrGr=�remove_reader_countr��connection_lost�
_conn_lostr�s  rrkz!SelectorTransportTests.test_close�s���
�
"�
"�
$��
���
�����
�
��(�����D�I�I�9�9�!�<�=��
�
�%�%�d�+��������*�
���
��������*�����D�I�I�9�9�!�<�=rc�`�|j�}|jjd�|j�|j	|j
j�tj|j
�|j	|jjj�y�N�data)r��_bufferr,r2r_r=�readersry�run_brieflyr�rr�r�s  r�test_close_write_bufferz.SelectorTransportTests.test_close_write_buffer�ss��
�
"�
"�
$��
�
�
���'�"�
���
�������*�*�+����t�y�y�)�������6�6�=�=�>rc��|j�}|jjd�|jj	dt
j�|jjdt
j�|jd�|j|j��|j|jt��|j|jj�|j|jj�|jd�|j|jj�|jd|jj d�y)N�1rYr)r�rr,r=�_add_readerr�sentinel�_add_writerr�rarrGr/r_r	�writersrr�s  r�test_force_closez'SelectorTransportTests.test_force_close�s���
�
"�
"�
$��
�
�
���$���	�	���a����/��	�	���a����/�
���������
�
��(�������^�%5�6�������*�*�+�������*�*�+�	�����������*�*�+�����D�I�I�9�9�!�<�=rzasyncio.log.logger.errorc���t�}|j�}tj�|_|j|�|j
�|jj|�yr)rur�rrr��_fatal_error�assert_not_calledrc)r�m_exc�excr�s    r�test_fatal_errorz'SelectorTransportTests.test_fatal_error�sN���i��
�
"�
"�
$���)�)�+���
�����
���!�
���*�*�3�/rc�<�Gd�dt�}|�}|j�}tj�|_|j|�|j
tjd�|ttf��|jj
|�y)Nc��eZdZy)�ISelectorTransportTests.test_fatal_error_custom_exception.<locals>.MyErrorN�r!r"r#rrr�MyErrorr����rr�1Fatal error on transport
protocol:.*
transport:.*��exc_info)
�	Exceptionr�rrr�rrcry�MockPattern�MOCK_ANY)rrrrr�s     r�!test_fatal_error_custom_exceptionz8SelectorTransportTests.test_fatal_error_custom_exception�s��	�i�	��i��
�
"�
"�
$���)�)�+���
�����
� � ��"�"�E�
G��x��2�	!�	4�
	���*�*�3�/rc��t�}|j�}|j|j�|j|j�|j|�|jjj|�|jjj�|j|j�|j|j�|j|j�yr)
rur��assertIsNotNone�	_protocolr��_call_connection_lostr�rrcr�r2rbr1)rrr�s   r�test_connection_lostz+SelectorTransportTests.test_connection_lost�s����i��
�
"�
"�
$�����R�\�\�*����R�X�X�&�
� � ��%��
�
�%�%�8�8��=��	�	���*�*�,����"�(�(�#����"�,�,�'����"�(�(�#rc��|j�}|jjd�|jdtj
�|j
|jj�|jd�|j
|j��|j|jj�|jdtj
�|j|jj�y)Nr
rY)r�rr,rrrrar=r	r�rr_r�s  r�test__add_readerz'SelectorTransportTests.test__add_reader�s���
�
"�
"�
$��
�
�
���$��
���q�$�-�-�(�����	�	�)�)�*�
���������
�
��(�������*�*�+�	���q�$�-�-�(�������*�*�+r)r!r"r#r9r�r�r�rkrrrr�rr%r*r,r�r�s@rr�r�psp���*��&�1�>�?�>�"�T�Z�Z�*�+�0�,�0��T�Z�Z�*�+�
0�,�
0�$�
,rr�c�
��eZdZ�fd�Zd6d�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
ejd�d
��Zejd�d��Zejd�d��Zejd�d��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej@e!jDd�d��Z#ej@e!jDd�d��Z$d�Z%d �Z&ej@e!jDd�d!��Z'ej@e!jDd�d"��Z(ej@e!jDd�d#��Z)ej@e!jDd�d$��Z*ejd%�d&��Z+d'�Z,d(�Z-d)�Z.d*�Z/ej`e1jdjfd+�d,��Z4d-�Z5d.�Z6d/�Z7d0�Z8d1�Z9d2�Z:d3�Z;ejd4�d5��Z<�xZ=S)7�SelectorSocketTransportTestsc�0��t�|��|j�|_t	j
tj�|_tjtj�|_dx|_
|jj_yr�)r8r9r�r=ryr�rrEr�rrr�r��sock_fdr\r<r?s �rr9z"SelectorSocketTransportTests.setUp�sa���
��
���&�&�(��	�"�5�5�g�6F�6F�G��
��I�I�f�m�m�,��	�78�8���t�y�y�'�'�4rc���t|j|j|j|��}|r|j|_n|j|_|jt|�|S�N��waiter)	rr=r�r��_write_sendmsg�_write_ready�_write_sendr�r4)rr4�sendmsgr3s    r�socket_transportz-SelectorSocketTransportTests.socket_transport�sU��,�T�Y�Y��	�	�-1�]�]�6�K�	��%.�%=�%=�I�"�%.�%:�%:�I�"������3��rc�f�|jj�}|j|��}|jj|�|jj	d|j
�t
j|j�|jjj|�y�Nr3rY�r=rdr9rf�
assert_reader�_read_readyryr
r��connection_maderc�rr4r�s   rr�z&SelectorSocketTransportTests.test_ctor��{�����(�(�*��
�
"�
"�&�
"�
1���	�	�$�$�V�,��	�	����2�>�>�2����t�y�y�)��
�
�%�%�8�8��<rc���|jj�}|j|��|jj|�|j	|j��yr2)r=rdr9rfrb�result)rr4s  r�test_ctor_with_waiterz2SelectorSocketTransportTests.test_ctor_with_waitersK�����(�(�*�����V��,��	�	�$�$�V�,����&�-�-�/�*rc��|j�}tj|j�|j	|j
�|j
|j��|jjd|j�|j�|j�|j
|j
�|j	|j��|jjd�|j�|j�|j	|j
�|j
|j��|jjd|j�|j�|j	|j��|jjd�yr�)r9ryr
r=r_�_pausedra�
is_readingr=r>�
pause_reading�assert_no_reader�resume_readingr2r�s  r�test_pause_resume_readingz6SelectorSocketTransportTests.test_pause_resume_readings/��
�
"�
"�
$�����t�y�y�)�������$�����
�
��(��	�	����2�>�>�2�
����
��������
�
�#��������)��	�	�"�"�1�%�
����
����������$�����
�
��(��	�	����2�>�>�2�
���
��������)��	�	�"�"�1�%rc�R��|j���fd�|jj_t	j
|j�|j�j��|jjd��j�|j�j��|jjd�j��j�|j�j��|jjd�y)Nc�$���j�Sr)rH)�_r�s �rr�zQSelectorSocketTransportTests.test_pause_reading_connection_made.<locals>.<lambda>(s���b�>N�>N�>PrrY)r9r�r?rqryr
r=r_rGrIrJrar=r>r2r�s @r�"test_pause_reading_connection_madez?SelectorSocketTransportTests.test_pause_reading_connection_made&s����
�
"�
"�
$��4P��
�
�%�%�1����t�y�y�)��������)��	�	�"�"�1�%�
��������
�
��(��	�	����2�>�>�2�
���
��������)��	�	�"�"�1�%rc��|j�}tj�|_tj�|_tj�|j
_t�|jj_
d|jj_
|j�|jjj�|j!|jj"�y�Nr)r9rrr2rr=�call_exception_handler�LookupErrorr��eof_receivedrqr�rpr<r>rcrar�r�s  r�test_read_eof_received_errorz9SelectorSocketTransportTests.test_read_eof_received_error6s����)�)�+�	��)�)�+�	��!%����	��+/�9�9�;��	�	�(�1<���
�
�"�"�.�&)��	�	���#������
�
�"�"�5�5�7����	�.�.�5�5�6rc���|j�}tj�|_tj�|j_t
�|jj_	d|jj_|j�|j|jj�|j|jjj�yr)r9rrrr=rRrSr��
data_receivedrqr�rpr<r>rar�r�s  r�test_data_received_errorz5SelectorSocketTransportTests.test_data_received_errorEs����)�)�+�	�!%����	��+/�9�9�;��	�	�(�2=�-��
�
�#�#�/�&-��	�	���#��������	�.�.�5�5�6�����
�
�3�3�:�:�;rc���|j�}d|jj_|j	�|j
jjd�yr)r9r�rpr<r>r�rWrcr�s  r�test_read_readyz,SelectorSocketTransportTests.test_read_readyRsD���)�)�+�	�&-��	�	���#������
�
�#�#�6�6�w�?rc�(�|j�}tj�|_d|jj
_|j�|jjj�|jj�yrQ)r9rrr2r�rpr<r>r�rTrcr�s  r�test_read_ready_eofz0SelectorSocketTransportTests.test_read_ready_eofZs_���)�)�+�	��)�)�+�	��&)��	�	���#������
�
�"�"�5�5�7����*�*�,rc�t�|j�}tj�|_d|jj
_d|jj_|j�|jjj�|j|jj�y)NrT)
r9rrr2r�rpr<r�rTr>rcr_r�r�s  r�test_read_ready_eof_keep_openz:SelectorSocketTransportTests.test_read_ready_eof_keep_opendsy���)�)�+�	��)�)�+�	��&)��	�	���#�26��
�
�"�"�/������
�
�"�"�5�5�7�������/�/�0r�logging.exceptionc��t|jj_|j	�}tj�|_|j�|j|jj�yr)ror�rprqr9rrrr>r_r��rrr3s   r�test_read_ready_tryagainz5SelectorSocketTransportTests.test_read_ready_tryagainosT��%4��	�	���"��)�)�+�	�!%����	����������/�/�6�6�7rc��t|jj_|j	�}tj�|_|j�|j|jj�yr)�InterruptedErrorr�rprqr9rrrr>r_r�ras   r�$test_read_ready_tryagain_interruptedzASelectorSocketTransportTests.test_read_ready_tryagain_interruptedysT��%5��	�	���"��)�)�+�	�!%����	����������/�/�6�6�7rc�H�t�x}|jj_|j	�}tj�|_tj�5|j�ddd�|jj|�y#1swY�%xYwr)�ConnectionResetErrorr�rprqr9rrr�ryrzr>rc�rr�errr3s    r�test_read_ready_conn_resetz7SelectorSocketTransportTests.test_read_ready_conn_reset�sp��+?�+A�A��d�i�i�n�n�(��)�)�+�	�!%����	��
�
&�
&�
(��!�!�#�)����1�1�#�6�)�
(���#B�B!c��t�x}|jj_|j	�}tj�|_|j�|jj|d�y�Nz$Fatal read error on socket transport)
rur�rprqr9rrrr>rcrhs    r�test_read_ready_errz0SelectorSocketTransportTests.test_read_ready_err�s\��+2�9�4��d�i�i�n�n�(��)�)�+�	�!%����	���������1�1�#&�#I�	Krc���d}t|�|jj_|j	�}|j|�|jjj
|�yr)�lenr�rxr<r9�writerc�r�datar3s   r�
test_writez'SelectorSocketTransportTests.test_write�sK����&)�$�i��	�	���#��)�)�+�	�������	�	���)�)�$�/rc�$�td�}t|�|jj_|j�}|j
|�|jjj|�|j|td��yr)	�	bytearrayrpr�rxr<r9rqrcrGrrs   r�test_write_bytearrayz1SelectorSocketTransportTests.test_write_bytearray�se����!��&)�$�i��	�	���#��)�)�+�	�������	�	���)�)�$�/�����y��1�2rc���td�}t|�|jj_|j�}|j
|�|jjj|�yr)r&rpr�rxr<r9rqrcrrs   r�test_write_memoryviewz2SelectorSocketTransportTests.test_write_memoryview�sP���'�"��&)�$�i��	�	���#��)�)�+�	�������	�	���)�)�$�/rc�8�|j�}|jjtd��|j	d�|j|jjj�|jtdg�|j�y)Nrr)r9r�appendr&rqr_r�rxr�rGr/r�s  r�test_write_no_dataz/SelectorSocketTransportTests.test_write_no_data�sn���)�)�+�	���� � ��G�!4�5��������������.�.�/������	�2�I�4E�4E�Frc�(�|j�}|jjd�|jd�|j	|j
jj�|jtddg�|j�y)N�data1�data2)
r9rr{rqr_r�rxr�rGr/r�s  r�test_write_bufferz.SelectorSocketTransportTests.test_write_buffer�so���)�)�+�	���� � ��*�����!���������.�.�/������8�(<�=�"�*�*�	,rc��d}d|jj_|j�}|j	|�|j
j
d|j�|jtdg�|j�y�Nr�rY�ta)r�rxr<r9rqr=�
assert_writerr6rGr/rrrs   r�test_write_partialz/SelectorSocketTransportTests.test_write_partial�sh����&'��	�	���#��)�)�+�	�������	�	����9�#9�#9�:�������0�)�2C�2C�Drc�`�td�}d|jj_|j	�}|j|�|jjd|j�|jtdg�|j�|j|td��yr�)rvr�rxr<r9rqr=r�r6rGr/rrrs   r�test_write_partial_bytearrayz9SelectorSocketTransportTests.test_write_partial_bytearray�s�����!��&'��	�	���#��)�)�+�	�������	�	����9�#9�#9�:�������0�)�2C�2C�D�����y��1�2rc�*�td�}d|jj_|j	�}|j|�|jjd|j�|jtdg�|j�yr�)r&r�rxr<r9rqr=r�r6rGr/rrrs   r�test_write_partial_memoryviewz:SelectorSocketTransportTests.test_write_partial_memoryview�sm���'�"��&'��	�	���#��)�)�+�	�������	�	����9�#9�#9�:�������0�)�2C�2C�Drc�N�d}d|jj_d|jj_|j	�}|j|�|jjd|j�|jtdg�|j�y�NrrrY)r�rxr<r\r9rqr=r�r6rGr/rrrs   r�test_write_partial_nonez4SelectorSocketTransportTests.test_write_partial_none�sz����&'��	�	���#�()��	�	���%��)�)�+�	�������	�	����9�#9�#9�:������	�2�I�4E�4E�Frc� �t|jj_d}|j	�}|j|�|jjd|j�|jtdg�|j�y�NrrY)ror�rxrqr9rqr=r�r6rGr/rrrs   r�test_write_tryagainz0SelectorSocketTransportTests.test_write_tryagain�sh��%4��	�	���"����)�)�+�	�������	�	����9�#9�#9�:������	�2�I�4E�4E�Frc��tj�|j_d|jj_|jd��}|jjtd��|jd�|j|jjj�|jtdg�|j�y)NrT�r8rr)rrr�r8r<r9rr{r&rqr_r�rGr/r�s  r�test_write_sendmsg_no_dataz7SelectorSocketTransportTests.test_write_sendmsg_no_data�s��� �I�I�K��	�	��)*��	�	���&��)�)�$�)�7�	���� � ��G�!4�5������������*�*�1�1�2������	�2�I�4E�4E�Frz
no sendmsgc��td�}tj�|j_t|�|jj_|jd��}|j|g�|j|jjj�|j|jj�y)NrTr�)r&rrr�r8rpr<r9�
writelinesrar�r_r=rrrs   r�test_writelines_sendmsg_fullz9SelectorSocketTransportTests.test_writelines_sendmsg_full�s����'�"�� �I�I�K��	�	��),�T���	�	���&��)�)�$�)�7�	����d�V�$�����	�	�)�)�0�0�1�������*�*�+rc��td�}tj�|j_d|jj_|j
d��}|j|g�|j|jjj�|j|jj�y)Nrr�Tr�)r&rrr�r8r<r9r�rar�r=rrrs   r�test_writelines_sendmsg_partialz<SelectorSocketTransportTests.test_writelines_sendmsg_partial	s����'�"�� �I�I�K��	�	��)*��	�	���&��)�)�$�)�7�	����d�V�$�����	�	�)�)�0�0�1�����	�	�)�)�*rc��td�}t|�|jj_d|jjj
_|j
�}|j|g�|j|jjj�|j|jj�yr�)
r&rpr�rxr<r\r9r�rar�r_r=rrrs   r�test_writelines_send_fullz6SelectorSocketTransportTests.test_writelines_send_fulls����'�"��&)�$�i��	�	���#�-.��	�	�����*��)�)�+�	����d�V�$�����	�	���-�-�.�������*�*�+rc��td�}d|jj_d|jjj_|j�}|j
|g�|j|jjj�|j|jj�y)Nrr�rY)r&r�rxr<r\r9r�rar�r=rrrs   r�test_writelines_send_partialz9SelectorSocketTransportTests.test_writelines_send_partials����'�"��&'��	�	���#�-.��	�	�����*��)�)�+�	����d�V�$�����	�	���-�-�.�����	�	�)�)�*rc��td�}tj�|j_t|�|jj_|jd��}|jj|�|jjd|j�|j�|j|jjj�|j|jj �y)NrTr�rY)r&rrr�r8rpr<r9rr{r=rr6rar�r_rrrs   r�test_write_sendmsg_fullz4SelectorSocketTransportTests.test_write_sendmsg_full(s����'�"�� �I�I�K��	�	��),�T���	�	���&��)�)�$�)�7�	���� � ��&��	�	���a��!7�!7�8���� �����	�	�)�)�0�0�1�������*�*�+rc�P�td�}tj�|j_d|jj_|j
d��}|jj|�|jjd|j�|j�|j|jjj�|j|jj�|jt!dg�|j�y)Nrr�Tr�rYr�)r&rrr�r8r<r9rr{r=rr6rar�rrGr/rrs   r�test_write_sendmsg_partialz7SelectorSocketTransportTests.test_write_sendmsg_partial5s����'�"�� �I�I�K��	�	��)*��	�	���&��)�)�$�)�7�	���� � ��&��	�	���a��!7�!7�8���� �����	�	�)�)�0�0�1�����	�	�)�)�*�������0�)�2C�2C�Drc�h�td�td�g}tj�|j_d|jj_|j
d��}|jj|�|jjd|j�|j�|j|jjj�|j|jj�|jt!ddg�|j�y)Nr~rr�Tr�rYsta1)r&rrr�r8r<r9rr,r=rr6rar�rrGr/rrs   r�test_write_sendmsg_half_bufferz;SelectorSocketTransportTests.test_write_sendmsg_half_bufferEs����8�$�j��&:�;�� �I�I�K��	�	��)*��	�	���&��)�)�$�)�7�	���� � ��&��	�	���a��!7�!7�8���� �����	�	�)�)�0�0�1�����	�	�)�)�*�������(:�;�Y�=N�=N�Orc��td�}tj�|j_t�x}|jj_|jd��}tj�|_|jj|�|j�|j|jjj�|j|jj �|j#t%g�|j�|jj'|d�y)NrTr��%Fatal write error on socket transport)r&rrr�r8rurqr9rrr,r6rar�r_r=rrGr/rc)rrsrir3s    r�test_write_sendmsg_OSErrorz7SelectorSocketTransportTests.test_write_sendmsg_OSErrorTs����'�"�� �I�I�K��	�	��.5�i�7��d�i�i���+��)�)�$�)�7�	�!%����	����� � ��&���� �����	�	�)�)�0�0�1�������*�*�+������+�Y�->�->�?����1�1�#&�#J�	Lr�asyncio.selector_events.loggerc��t�x}|jj_d}|j	�}tj�|_|j|�|jj|d�d|_
|jj�|j|�|j|jjj�|j|jd�|j|�|j|�|j|�|j|�|jjd�y)Nrr�rr��socket.send() raised exception.)rur�rxrqr9rrrrqrcr�
reset_mockr_r�rG�warning)r�m_logrirsr3s     r�test_write_exceptionz1SelectorSocketTransportTests.test_write_exceptionfs���+2�9�4��d�i�i�n�n�(����)�)�+�	�!%����	����������1�1�#&�#J�	L� !�	���	�	�����������������.�.�/�����-�-�q�1���������������������
�
�
�(�(�)J�Krc�f�|j�}|jt|jd�y)N�str)r9rP�	TypeErrorrqr�s  r�test_write_strz+SelectorSocketTransportTests.test_write_str}s&���)�)�+�	����)�Y�_�_�e�<rc���|j�}|j�|j|jd�|j	d�|j|jd�y)Nrrr�)r9r2rGrrqr�s  r�test_write_closingz/SelectorSocketTransportTests.test_write_closing�sR���)�)�+�	���������-�-�q�1����� �����-�-�q�1rc��d}t|�|jj_|j	�}|j
j
|�|jjd|j�|j�|j|jjj�|j|jj�yr�)rpr�rxr<r9rr{r=rr6rar�r_rrrs   r�test_write_readyz-SelectorSocketTransportTests.test_write_ready�s�����&)�$�i��	�	���#��)�)�+�	���� � ��&��	�	���a��!7�!7�8���� �����	�	���-�-�.�������*�*�+rc�l�td�}t|�|jj_|j�}d|_|jj|�|jjd|j�|j�|j|jjj�|j|jj�|jj j#�|j$j&j#d�y)NrTrY)r&rpr�rxr<r9�_closingrr{r=rr6rar�r_rr2rcr�rrrs   r�test_write_ready_closingz5SelectorSocketTransportTests.test_write_ready_closing�s����'�"��&)�$�i��	�	���#��)�)�+�	�!�	����� � ��&��	�	���a��!7�!7�8���� �����	�	���-�-�.�������*�*�+��	�	���*�*�,��
�
�%�%�8�8��>rz)Assertions are disabled in optimized modec�d�|j�}|jt|j�yr)r9rP�AssertionErrorr6r�s  r�test_write_ready_no_dataz5SelectorSocketTransportTests.test_write_ready_no_data�s&���)�)�+�	����.�)�*@�*@�Arc��td�}d|jj_|j	�}|j
j
|�|jjd|j�|j�|jjd|j�|jtdg�|j
�yr�)
r&r�rxr<r9rr{r=rr6r�rGr/rrs   r�test_write_ready_partialz5SelectorSocketTransportTests.test_write_ready_partial�s����'�"��&'��	�	���#��)�)�+�	���� � ��&��	�	���a��!7�!7�8���� ��	�	����9�#9�#9�:�������0�)�2C�2C�Drc��d}d|jj_|j�}|jj|�|jjd|j�|j�|jjd|j�|jtdg�|j�yr�)r�rxr<r9rr{r=rr6r�rGr/rrs   r�test_write_ready_partial_nonez:SelectorSocketTransportTests.test_write_ready_partial_none�s�����&'��	�	���#��)�)�+�	���� � ��&��	�	���a��!7�!7�8���� ��	�	����9�#9�#9�:������	�2�I�4E�4E�Frc�z�t|jj_|j	�}tddg�}||_|jjd|j�|j�|jjd|j�|j||j�y)Nr~rrY)ror�rxrqr9r/rr=rr6r�rG)rr3r.s   r�test_write_ready_tryagainz6SelectorSocketTransportTests.test_write_ready_tryagain�s���%4��	�	���"��)�)�+�	���8� 4�5��"�	���	�	���a��!7�!7�8���� ��	�	����9�#9�#9�:������!2�!2�3rc�.�t�x}|jj_|j	�}tj�|_|jjd�|j�|jj|d�y)Nrr�)rur�rxrqr9rrrrr,r6rc�rrir3s   r�test_write_ready_exceptionz7SelectorSocketTransportTests.test_write_ready_exception�sp��+2�9�4��d�i�i�n�n�(��)�)�+�	�!%����	����� � ��)���� ����1�1�#&�#J�	Lrc��|j�}|j|j��|j�|jj
j
tj�|j�|j|jj
jd�|j�yr)r9ra�
can_write_eof�	write_eofr��shutdownrcr��SHUT_WRrGrHr2r�s  r�test_write_eofz+SelectorSocketTransportTests.test_write_eof�s|��
�
"�
"�
$������(�(�*�+�
�����	�	���-�-�f�n�n�=�
����������+�+�6�6��:�
���
rc��|j�}t|jj_|jd�|j
�|j|jtdg��|j|j�|j|jjj�d�|jj_|j�|j|jjj�|jjj!t"j$�|j'�y)Nrc��y)N�r)rNs rr�zDSelectorSocketTransportTests.test_write_eof_buffer.<locals>.<lambda>�s��qr)r9ror�rxrqrqr�rGrr/ra�_eofr_r�r�r6rcr�r�r2r�s  r�test_write_eof_bufferz2SelectorSocketTransportTests.test_write_eof_buffer�s���
�
"�
"�
$��%4��	�	���"�
�����
����������^�W�I�%>�?������� �������+�+�2�2�3�%0��	�	���"�
��������	�	���-�-�.��	�	���-�-�f�n�n�=�
���
rc��|j�}|j�|jjt	j
d��|j
�y�Nr)r9r2r=rfrr�r�r�s  r�test_write_eof_after_closez7SelectorSocketTransportTests.test_write_eof_after_close�s=��
�
"�
"�
$��
���
��	�	�$�$�W�]�]�1�%5�6�
���rzasyncio.base_events.loggerc���tj�x}|j_|j	�}|j�|j
|j�yr)rrr=r�r9r2rcr0)rr�rOr3s    r�"test_transport_close_remove_writerz?SelectorSocketTransportTests.test_transport_close_remove_writer�sC��37�9�9�;�>�
��	�	�0��)�)�+�	������(�(����6r)NF)>r!r"r#r9r9r�rDrKrOrUrXrZr\r^rr�rbrerjrnrtrwryr|r�r�r�r�r�r�r��unittest�
skipUnlessr�_HAS_SENDMSGr�r�r�r�r�r�r�r�r�r�r�r�r��skipIf�sys�flags�optimizer�r�r�r�r�r�r�r�r�r�r�s@rr.r.�s����9��=�+�&�.
&� 
7�<�@�-�	1��T�Z�Z�#�$�8�%�8��T�Z�Z�#�$�8�%�8��T�Z�Z�#�$�7�%�7��T�Z�Z�#�$�	K�%�	K�0�3�0�G�,�E�	3�E�	G�G�G��X����5�5�|�D�,�E�,��X����5�5�|�D�+�E�+�,�+��X����5�5�|�D�
,�E�
,��X����5�5�|�D�
E�E�
E��X����5�5�|�D�P�E�P��X����5�5�|�D�L�E�L�"�T�Z�Z�0�1�L�2�L�,=�2�	,�?��X�_�_�S�Y�Y�'�'�)T�U�B�V�B�
	E�	G�
4�	L�����T�Z�Z�,�-�7�.�7rr.c���eZdZ�fd�Zdd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
ejd�d
��Zejd�d��Zejd�d��Zejd�d��Z�xZS)�,SelectorSocketTransportBufferedProtocolTestsc����t�����j��_t	j
tj��_td��_
�fd��jj_tjtj��_dx�_�j j$_y)Nrc����jSr)�buf)�hintrs �rr�zDSelectorSocketTransportBufferedProtocolTests.setUp.<locals>.<lambda>s	���D�H�HrrY)r8r9r�r=ryr�r�BufferedProtocolr�rvr��
get_bufferrqrrr�r�r0r\r<r?s`�rr9z2SelectorSocketTransportBufferedProtocolTests.setUp�s~���
��
���&�&�(��	�"�5�5�g�6N�6N�O��
��Q�<���/D��
�
� � �,��I�I�f�m�m�,��	�78�8���t�y�y�'�'�4rc��t|j|j|j|��}|j	t
|�|Sr2)rr=r�r�r�r4)rr4r3s   rr9z=SelectorSocketTransportBufferedProtocolTests.socket_transports6��,�T�Y�Y��	�	�-1�]�]�6�K�	������3��rc�f�|jj�}|j|��}|jj|�|jj	d|j
�t
j|j�|jjj|�yr;r<r@s   rr�z6SelectorSocketTransportBufferedProtocolTests.test_ctor
rArc��|j�}tj�|_tj�|j_t
�|jj_	|j�|j|jj�|j|jjj�|j|jjj�yr)r9rrrr=rRrSr�r�rqr>rar�r_�buffer_updatedr�s  r�test_get_buffer_errorzBSelectorSocketTransportBufferedProtocolTests.test_get_buffer_errors����)�)�+�	�!%����	��+/�9�9�;��	�	�(�/:�}��
�
� � �,��������	�.�.�5�5�6�����
�
�0�0�7�7�8�������5�5�<�<�=rc��|j�}tj�|_tj�|j_d�|jj_|j�|j|jj�|j|jjj�|j|jjj�y)Nc��td�Sr�)rv)r�s rr�zXSelectorSocketTransportBufferedProtocolTests.test_get_buffer_zerosized.<locals>.<lambda>(s��I�a�Lr)r9rrrr=rRr�r�rqr>rar�r_r�r�s  r�test_get_buffer_zerosizedzFSelectorSocketTransportBufferedProtocolTests.test_get_buffer_zerosized#s����)�)�+�	�!%����	��+/�9�9�;��	�	�(�/H��
�
� � �,��������	�.�.�5�5�6�����
�
�0�0�7�7�8�������5�5�<�<�=rc�~��tjtj�|_|j�}d|jj_|j�|jjjd�tjtj�}td���fd�|j_|j!|�d|jj"_|j�|jjd�|j$jd�y)Nrr�c����Srr)r�r�s �rr�zUSelectorSocketTransportBufferedProtocolTests.test_proto_type_switch.<locals>.<lambda>=s���r�
���)ryr�rrEr�r9r�rpr<r>rWrcr�rvr�rq�set_protocol�	recv_intor�)rr3�	buf_protor�s   @r�test_proto_type_switchzCSelectorSocketTransportBufferedProtocolTests.test_proto_type_switch0s����"�5�5�g�6F�6F�G��
��)�)�+�	�&-��	�	���#������
�
�#�#�6�6�w�?��1�1�'�2J�2J�K�	���l��+;�	���(����y�)�+-��	�	���(��������/�/��3�� � �3�3�B�7rc�>�|j�}tj�|_tj�|j_t
�|jj_	d|jj_|j�|j|jj�|j|jj j�|j|jjj�y)Nr�)r9rrrr=rRrSr�r�rqr�r�r<r>rar�r�r�s  r�test_buffer_updated_errorzFSelectorSocketTransportBufferedProtocolTests.test_buffer_updated_errorGs����)�)�+�	�!%����	��+/�9�9�;��	�	�(�3>�=��
�
�$�$�0�+-��	�	���(��������	�.�.�5�5�6�����
�
�0�0�7�7�8�����
�
�4�4�;�;�<rc��|j�}tj�|_tj�|_tj�|j
_t�|jj_
d|jj_
|j�|jjj�|j!|jj"�yr�)r9rrr2rr=rRrSr�rTrqr�r�r<r>rcrar�r�s  rrUzISelectorSocketTransportBufferedProtocolTests.test_read_eof_received_errorUs����)�)�+�	��)�)�+�	��!%����	��+/�9�9�;��	�	�(�1<���
�
�"�"�.�+,��	�	���(������
�
�"�"�5�5�7����	�.�.�5�5�6rc��|j�}d|jj_|j	�|j
jjd�|j
jjd�y)Nr�r�)	r9r�r�r<r>r�r�rcr�r�s  rrZz<SelectorSocketTransportBufferedProtocolTests.test_read_readyds^���)�)�+�	�+-��	�	���(������
�
� � �3�3�B�7��
�
�$�$�7�7��;rc�(�|j�}tj�|_d|jj
_|j�|jjj�|jj�yr�)r9rrr2r�r�r<r>r�rTrcr�s  rr\z@SelectorSocketTransportBufferedProtocolTests.test_read_ready_eofmsa���)�)�+�	��)�)�+�	��+,��	�	���(������
�
�"�"�5�5�7����*�*�,rc�t�|j�}tj�|_d|jj
_d|jj_|j�|jjj�|j|jj�y)NrT)
r9rrr2r�r�r<r�rTr>rcr_r�r�s  rr^zJSelectorSocketTransportBufferedProtocolTests.test_read_ready_eof_keep_openws{���)�)�+�	��)�)�+�	��+,��	�	���(�26��
�
�"�"�/������
�
�"�"�5�5�7�������/�/�0rr_c��t|jj_|j	�}tj�|_|j�|j|jj�yr)ror�r�rqr9rrrr>r_r�ras   rrbzESelectorSocketTransportBufferedProtocolTests.test_read_ready_tryagain�sV��*9��	�	���'��)�)�+�	�!%����	����������/�/�6�6�7rc��t|jj_|j	�}tj�|_|j�|j|jj�yr)rdr�r�rqr9rrrr>r_r�ras   rrezQSelectorSocketTransportBufferedProtocolTests.test_read_ready_tryagain_interrupted�sV��*:��	�	���'��)�)�+�	�!%����	����������/�/�6�6�7rc�H�t�x}|jj_|j	�}tj�|_tj�5|j�ddd�|jj|�y#1swY�%xYwr)rgr�r�rqr9rrr�ryrzr>rcrhs    rrjzGSelectorSocketTransportBufferedProtocolTests.test_read_ready_conn_reset�sr��0D�0F�F��d�i�i�!�!�-��)�)�+�	�!%����	��
�
&�
&�
(��!�!�#�)����1�1�#�6�)�
(�rkc��t�x}|jj_|j	�}tj�|_|j�|jj|d�yrm)
rur�r�rqr9rrrr>rcrhs    rrnz@SelectorSocketTransportBufferedProtocolTests.test_read_ready_err�s^��07�	�9��d�i�i�!�!�-��)�)�+�	�!%����	���������1�1�#&�#I�	Krr)r!r"r#r9r9r�r�r�r�r�rUrZr\r^rr�rbrerjrnr�r�s@rr�r��s����	9��=�>�>�8�.=�
7�<�-�	1��T�Z�Z�#�$�8�%�8��T�Z�Z�#�$�8�%�8��T�Z�Z�#�$�7�%�7��T�Z�Z�#�$�	K�%�	Krr�c�L��eZdZ�fd�Zd!d�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zej&d�d��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z ej&d�d��Z!ej&d�d ��Z"�xZ#S)"�SelectorDatagramTransportTestsc�$��t�|��|j�|_t	j
tj�|_tjtj��|_d|jj_y)N)�spec_setrY)r8r9r�r=ryr�r�DatagramProtocolr�rrr�r�r\r<r?s �rr9z$SelectorDatagramTransportTests.setUp�sZ���
��
���&�&�(��	�"�5�5�g�6N�6N�O��
��I�I�v�}�}�5��	�()��	�	���%rc���|rdnt|jj_t	|j
|j|j|��}|jt|�|S)N��address)	rur��getpeernamerqrr=r�r�r4)rrr3s   r�datagram_transportz1SelectorDatagramTransportTests.datagram_transport�sO��4;�D���	�	���)�.�t�y�y�$�)�)�/3�}�}�7>�@�	�	
�����3��rc���|j�}d|jj_|j	�|j
jjdd�y)N)r��0.0.0.0i�rr)rr��recvfromr<r>r��datagram_receivedrcr�s  rrZz.SelectorDatagramTransportTests.test_read_ready�sL���+�+�-�	�*F��	�	���'������
�
�'�'�:�:��&�	(rc�d�|j�}|j|tj�yr)rrFr�DatagramTransportr�s  r�test_transport_inheritancez9SelectorDatagramTransportTests.test_transport_inheritance�s&���+�+�-�	����i��)B�)B�Crc��|j�}t|jj_tj�|_|j�|j|jj�yr)rror�r
rqrrrr>r_r�r�s  rrbz7SelectorDatagramTransportTests.test_read_ready_tryagain�sV���+�+�-�	�)8��	�	���&�!%����	����������/�/�6�6�7rc��|j�}t�x}|jj_tj�|_|j�|jj|d�y)Nz&Fatal read error on datagram transport)
rrQr�r
rqrrrr>rc�rr3ris   rrnz2SelectorDatagramTransportTests.test_read_ready_err�s^���+�+�-�	�/;�~�=��d�i�i� � �,�!%����	���������1�1�#&�#K�	Mrc�T�|j�}t�x}|jj_tj�|_|j�|j|jj�|jjj|�yr)rrur�r
rqrrrr>r_r�r��error_receivedrcrs   r�test_read_ready_oserrz4SelectorDatagramTransportTests.test_read_ready_oserr�su���+�+�-�	�/6�y�8��d�i�i� � �,�!%����	����������/�/�6�6�7��
�
�$�$�7�7��<rc��d}|j�}|j|d�|j|jjj�|j|jjjd|df�y�Nrrr)r�sendtorar�r�rGr�rrs   r�test_sendtoz*SelectorDatagramTransportTests.test_sendto�sq�����+�+�-�	�����0�1�����	�	�(�(�/�/�0�����I�I���&�&�q�)�D�2C�+D�	Frc�&�td�}|j�}|j|d�|j|jjj
�|j
|jjjd|df�yr)rvrrrar�r�rGr�rrs   r�test_sendto_bytearrayz4SelectorDatagramTransportTests.test_sendto_bytearray�sv����!���+�+�-�	�����0�1�����	�	�(�(�/�/�0�����I�I���&�&�q�)�D�2C�+D�	Frc�&�td�}|j�}|j|d�|j|jjj
�|j
|jjjd|df�yr)r&rrrar�r�rGr�rrs   r�test_sendto_memoryviewz5SelectorDatagramTransportTests.test_sendto_memoryview�sv���'�"���+�+�-�	�����0�1�����	�	�(�(�/�/�0�����I�I���&�&�q�)�D�2C�+D�	Frc�(�|j�}|jjd�|jdd�|j	|j
jj�|jdgt|j��y)N�r�r	i90rr�	rrr{rr_r�r�rG�listr�s  r�test_sendto_no_dataz2SelectorDatagramTransportTests.test_sendto_no_datasu���+�+�-�	���� � �!>�?�����b�!�������)�)�0�0�1����
*�+�T�)�2C�2C�-D�	Frc�*�|j�}|jjd�|jdd�|j	|j
jj�|jddgt|j��y)N�r~rrr�rrr r�s  r�test_sendto_bufferz1SelectorDatagramTransportTests.test_sendto_buffer	s{���+�+�-�	���� � �!?�@�����#5�6�������)�)�0�0�1����
+�
+�
-���"�"�#�	%rc��td�}|j�}|jjd�|j	|d�|j|jjj�|jddgt|j��|j|jddt�y�Nrr$rr%rr)rvrrr{rr_r�r�rGr!rF�bytes�r�data2r3s   r�test_sendto_buffer_bytearrayz;SelectorDatagramTransportTests.test_sendto_buffer_bytearrays����(�#���+�+�-�	���� � �!?�@����� 2�3�������)�)�0�0�1����
+�
+�
-���"�"�#�	%�	
���i�/�/��2�1�5�u�=rc��td�}|j�}|jjd�|j	|d�|j|jjj�|jddgt|j��|j|jddt�yr()r&rrr{rr_r�r�rGr!rFr)r*s   r�test_sendto_buffer_memoryviewz<SelectorDatagramTransportTests.test_sendto_buffer_memoryviews����8�$���+�+�-�	���� � �!?�@����� 2�3�������)�)�0�0�1����
+�
+�
-���"�"�#�	%�	
���i�/�/��2�1�5�u�=rc�"�d}t|jj_|j	�}|j|d�|j
j
d|j�|jdgt|j��y)NrrrYr)ror�rrqrr=r��
_sendto_readyrGr!rrrs   r�test_sendto_tryagainz3SelectorDatagramTransportTests.test_sendto_tryagain+st����'6��	�	���$��+�+�-�	�����1�2��	�	����9�#:�#:�;����
*�+�T�)�2C�2C�-D�	Frr�c�F�d}t�x}|jj_|j	�}tj�|_|j|d�|j|jj�|jj|d�d|_d|_|j|�|j|�|j|�|j|�|j|�|jjd�y)Nrr�'Fatal write error on datagram transportr)�123r�)rQr�rrqrrrrrar�rcr�_addressr�)rr�rsrir3s     r�test_sendto_exceptionz4SelectorDatagramTransportTests.test_sendto_exception7s�����-9�^�;��d�i�i���*��+�+�-�	�!%����	������r�"����	�.�.�5�5�6����1�1�#&�#L�	N� !�	��%�	���������������������������
�
�
�(�(�)J�Krc�>�d}t|jj_|j	�}tj�|_|j|d�|j|jd�|j|jj�y)Nrrr)�ConnectionRefusedErrorr�rrqrrrrrGrr_r�rrs   r�test_sendto_error_receivedz9SelectorDatagramTransportTests.test_sendto_error_receivedNsu����'=��	�	���$��+�+�-�	�!%����	������r�"�����-�-�q�1�����/�/�6�6�7rc�f�d}t|jj_|j	d��}tj�|_|j|�|j|jj�|j|jjj�y)Nr�r	rr)r8r�rxrqrrrrrr_r�rar�rrrs   r�$test_sendto_error_received_connectedzCSelectorDatagramTransportTests.test_sendto_error_received_connectedZs|����%;��	�	���"��+�+�N�+�C�	�!%����	�����������/�/�6�6�7�����
�
�4�4�;�;�<rc�h�|j�}|jt|jdd�y)Nr�r)rrPr�rr�s  r�test_sendto_strz.SelectorDatagramTransportTests.test_sendto_strfs*���+�+�-�	����)�Y�%5�%5�u�b�Arc�l�|jd��}|jt|jdd�y)Nr;rsstr)r	r�)rrP�
ValueErrorrr�s  r�test_sendto_connected_addrz9SelectorDatagramTransportTests.test_sendto_connected_addrjs3���+�+�N�+�C�	�����	�(�(�&�.�	Brc���|jd��}|j�|j|jd�|j	dd�|j|jd�y)N)rrrrr�)rr2rGrrr�s  r�test_sendto_closingz2SelectorDatagramTransportTests.test_sendto_closingos[���+�+�D�+�9�	���������-�-�q�1�����$�'�����-�-�q�1rc�(�d}t|�|jj_|j	�}|j
j
|df�|jjd|j�|j�|j|jjj�|j|jjjd|df�|j|jj�y)NrrrYr)rpr�rr<rrr{r=rr0rar�rGr�r_rrrs   r�test_sendto_readyz0SelectorDatagramTransportTests.test_sendto_readyvs�����(+�D�	��	�	���%��+�+�-�	���� � �$�(:�!;�<��	�	���a��!8�!8�9����!�����	�	�(�(�/�/�0�����I�I���&�&�q�)�D�2D�+E�	G�������*�*�+rc�L�d}t|�|jj_|j	�}d|_|jj|df�|jjd|j�|j�|jjj|d�|j|jj�|jjj�|j j"jd�y)NrTrrY)rpr�rxr<rr�rr{r=rr0rrcr_rr2r�rrrs   r�test_sendto_ready_closingz8SelectorDatagramTransportTests.test_sendto_ready_closing�s�����&)�$�i��	�	���#��+�+�-�	�!�	����� � �$���,��	�	���a��!8�!8�9����!��	�	���+�+�D�"�5�������*�*�+��	�	���*�*�,��
�
�%�%�8�8��>rc�8�|j�}|jjd|j�|j�|j	|j
jj�|j	|jj�yr�)	rr=rr0r_r�rr�rr�s  r�test_sendto_ready_no_dataz8SelectorDatagramTransportTests.test_sendto_ready_no_data�sl���+�+�-�	��	�	���a��!8�!8�9����!�������)�)�0�0�1�������*�*�+rc��t|jj_|j	�}|j
j
ddg�|jjd|j�|j�|jjd|j�|jddgt|j
��y)N)r~r)rrrY)
ror�rrqrrr,r=rr0r�rGr!r�s  r�test_sendto_ready_tryagainz9SelectorDatagramTransportTests.test_sendto_ready_tryagain�s���'6��	�	���$��+�+�-�	���� � �.�.�!A�B��	�	���a��!8�!8�9����!��	�	����9�#:�#:�;����
�^�,���"�"�#�	%rc�.�t�x}|jj_|j	�}tj�|_|jjd�|j�|jj|d�y)N�rrr3)rQr�rrqrrrrrr{r0rcr�s   r�test_sendto_ready_exceptionz:SelectorDatagramTransportTests.test_sendto_ready_exception�sr��-9�^�;��d�i�i���*��+�+�-�	�!%����	����� � ��/����!����1�1�#&�#L�	Nrc�4�t|jj_|j	�}tj�|_|jjd�|j�|j|jj�y)NrM)
r8r�rrqrrrrrr{r0r_r�r�s  r� test_sendto_ready_error_receivedz?SelectorDatagramTransportTests.test_sendto_ready_error_received�sj��'=��	�	���$��+�+�-�	�!%����	����� � ��/����!�����/�/�6�6�7rc��t|jj_|j	d��}tj�|_|jjd�|j�|j|jj�|j|jjj�y)Nr;rrM)r8r�rxrqrrrrrr{r0r_r�rar�rr�s  r�+test_sendto_ready_error_received_connectionzJSelectorDatagramTransportTests.test_sendto_ready_error_received_connection�s���%;��	�	���"��+�+�N�+�C�	�!%����	����� � ��/����!�����/�/�6�6�7�����
�
�4�4�;�;�<rz asyncio.base_events.logger.errorc���|jd��}t�}|j|�|j|jj
j�|j�y)Nr;r)rr8rr_r�rr�r)rrr3ris    r�test_fatal_error_connectedz9SelectorDatagramTransportTests.test_fatal_error_connected�sU���+�+�N�+�C�	�$�&�����s�#�������5�5�<�<�=�
���!rc�6�Gd�dt�}|jd��}|�}|j|�|j|jj
j�|jtjd�|ttf��y)Nc��eZdZy)�[SelectorDatagramTransportTests.test_fatal_error_connected_custom_error.<locals>.MyExceptionNrrrr�MyExceptionrW�rrrXr;rrr )r"rrr_r�rr�rcryr#r$)rrrXr3ris     r�'test_fatal_error_connected_custom_errorzFSelectorDatagramTransportTests.test_fatal_error_connected_custom_error�s���	�)�	��+�+�N�+�C�	��m�����s�#�������5�5�<�<�=�
� � ��"�"�E�
G�!�8�X�6�	!�	8rr)$r!r"r#r9rrZrrbrnrrrrr"r&r,r.r1rr�r6r9r<r>rArCrErGrIrKrNrPrRrTrYr�r�s@rr�r��s����*��(�D�8�	M�=�F�F�F�F�%�
>�
>�
F��T�Z�Z�0�1�L�2�L�,
8�
=�B�B�
2�,�?�,�%�
N�8�	=��T�Z�Z�2�3�"�4�"��T�Z�Z�2�3�
8�4�
8rr��__main__)r)!�__doc__r*r�r�r�r�rrr�ssl�ImportError�asyncio.selector_eventsrrrr�test.test_asyncior	ry�ANYr$rrr/r4�TestCaser6r�r.r�r�r!�mainrrr�<module>rcs���"���
�
��#�����9�9�2��8�8��(�
� 5�
���t:��!4�!4�t:�n	y,�Z�0�0�y,�xK7�:�#6�#6�K7�\pK�:�3F�3F�pK�fl8�Z�%8�%8�l8�^	�z���H�M�M�O���_.��
�C��s�C � C*�)C*

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists