HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/test_asyncio/__pycache__/test_sock_lowlevel.cpython-311.pyc
�

��Vc�W��B�ddlZddlZddlZddlZddlmZddlmZmZddlm	Z	m
Z
ddlmZ
ddlmZddlmZd�ZGd	�d
ej��ZGd�d��Zejd
kr)Gd�dee
j��ZGd�dee
j��ZnxddlZeed��rGd�dee
j��Zeed��rGd�dee
j��Zeed��rGd�dee
j��ZGd�dee
j��Zedkrej ��dSdS)�N)�proactor_events)�cycle�islice)�patch�Mock)�utils)�support)�
socket_helperc�.�tjd��dS�N)�asyncio�set_event_loop_policy���8D:\Python311\Lib\test\test_asyncio\test_sock_lowlevel.py�tearDownModuler
s���!�$�'�'�'�'�'rc�<�eZdZdZdZdd�Zd�Zd�Zd�Zd�Z	d�Z
dS)	�MyProtoNc��d|_d|_d|_|�4|���|_|���|_dSdS)N�INITIALr)�	transport�state�nbytes�
create_future�	connected�done)�self�loops  r�__init__zMyProto.__init__sS�������
�����	-�!�/�/�1�1�D�N��*�*�,�,�D�I�I�I�	-�	-rc�L�|j|vrtd|j�d|�����dS)Nzstate: z, expected: )r�AssertionError)r�expecteds  r�
_assert_statezMyProto._assert_states?���:�X�%�	S� �!Q�4�:�!Q�!Q�X�!Q�!Q�R�R�R�	S�	Src��||_|�d��d|_|jr|j�d��|�d��dS)Nr�	CONNECTEDs%GET / HTTP/1.0
Host: example.com

)rr#rr�
set_result�write)rrs  r�connection_madezMyProto.connection_made!s]��"������9�%�%�%� ��
��>�	,��N�%�%�d�+�+�+����F�G�G�G�G�Grc�j�|�d��|xjt|��z
c_dS)Nr%)r#r�len)r�datas  r�
data_receivedzMyProto.data_received)s0�����;�'�'�'����s�4�y�y� ����rc�>�|�d��d|_dS)Nr%�EOF)r#r�rs r�eof_receivedzMyProto.eof_received-s!�����;�'�'�'���
�
�
rc��|�dd��d|_|jr|j�d��dSdS)Nr%r.�CLOSED)r#rrr&)r�excs  r�connection_lostzMyProto.connection_lost1sO�����;��.�.�.���
��9�	'��I� � ��&�&�&�&�&�	'�	'rr)�__name__�
__module__�__qualname__rrrr#r(r,r0r4rrrrrs��������I��D�-�-�-�-�S�S�S�H�H�H�!�!�!����'�'�'�'�'rrc����eZdZd�Z�fd�Z�fd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zejd���Zd�Zd�Zd�Zd�Z�xZ S)�BaseSockTestsMixinc��t�r)�NotImplementedErrorr/s r�create_event_loopz$BaseSockTestsMixin.create_event_loop:s��!�!rc���|���|_|�|j��t�����dSr)r<r�set_event_loop�super�setUp�r�	__class__s �rr@zBaseSockTestsMixin.setUp=sA����*�*�,�,��	����D�I�&�&�&�
���
�
�����rc���|j���stj|j��|���tj��t�����dSr)	r�	is_closed�
test_utils�run_briefly�
doCleanupsr	�
gc_collectr?�tearDownrAs �rrIzBaseSockTestsMixin.tearDownBsg����y�"�"�$�$�	.��"�4�9�-�-�-������������
���������rc��t|jtj���s8|j�d��|�d��|�t��5|j�|j�	||j
����ddd��n#1swxYwY|�t��5|j�|j�|d����ddd��n#1swxYwY|�t��5|j�|j�|d����ddd��n#1swxYwY|�t��5|j�|j�
|t������ddd��n#1swxYwY|�t��5|j�|j�|����ddd��n#1swxYwY|�d��|j�|j�	||j
����|j�|j�|d����|j�|j�|d����}|j�|j�|d����|���|�|�d����dS)NT�GET / HTTP/1.0

�F�HTTP/1.0 200 OK)�
isinstancerr�BaseProactorEventLoop�	set_debug�setblocking�assertRaises�
ValueError�run_until_complete�sock_connect�address�sock_sendall�	sock_recv�sock_recv_into�	bytearray�sock_accept�close�
assertTrue�
startswith)r�httpd�sockr+s    r�_basetest_sock_client_opsz,BaseSockTestsMixin._basetest_sock_client_opsKs����$�)�_�%J�K�K�	1�
�I����%�%�%����T�"�"�"��"�"�:�.�.�
A�
A��	�,�,��I�*�*�4���?�?�A�A�A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A����
A�
A�
A�
A��"�"�:�.�.�
M�
M��	�,�,��I�*�*�4�1J�K�K�M�M�M�
M�
M�
M�
M�
M�
M�
M�
M�
M�
M�
M����
M�
M�
M�
M��"�"�:�.�.�
5�
5��	�,�,��I�'�'��d�3�3�5�5�5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5��"�"�:�.�.�
A�
A��	�,�,��I�,�,�T�9�;�;�?�?�A�A�A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A����
A�
A�
A�
A��"�"�:�.�.�
1�
1��	�,�,��I�)�)�$�/�/�1�1�1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1�
	
��������	�$�$��I�"�"�4���7�7�	9�	9�	9��	�$�$��I�"�"�4�)B�C�C�	E�	E�	E��y�+�+��I����d�+�+�-�-��	
�	�$�$��I����d�+�+�	-�	-�	-��
�
����������(:�;�;�<�<�<�<�<s[�*9B/�/B3�6B3�4D�D�D�94E9�9E=�E=�AG*�*G.�1G.�3I�I�Ic	���|�d��|j�|j�||j����|j�|j�|d����t
d��}t|��5}|j�|j�||dd�����}|j�|j�|||d�����ddd��n#1swxYwY|�	��|�
|�d����dS)NFrKrLrM)rQrrTrUrVrWrZ�
memoryviewrYr\r]r^)rr_r`r+�bufrs      r�_basetest_sock_recv_intoz+BaseSockTestsMixin._basetest_sock_recv_intoos�����������	�$�$��I�"�"�4���7�7�	9�	9�	9��	�$�$��I�"�"�4�)B�C�C�	E�	E�	E������
��
�
�	>���Y�1�1��	�(�(��s�5�D�5�z�:�:�<�<�F�
�I�(�(��	�(�(��s�6�7�7�|�<�<�
>�
>�
>�		>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	
�
�
����������(:�;�;�<�<�<�<�<s�A7D"�"D&�)D&c��tj��5}tj��}|�||��tj��}|�||��ddd��dS#1swxYwYdSr)rE�run_test_server�socketrare�rr_r`s   r�test_sock_client_opsz'BaseSockTestsMixin.test_sock_client_ops�s���
�
'�
)�
)�	7�U��=�?�?�D��*�*�5�$�7�7�7��=�?�?�D��)�)�%��6�6�6�		7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s�AA4�4A8�;A8c��dK�|�d��|j�||j���d{V��t	j|j�|d����}t	jd���d{V��|���t	j|j�	|d����|j�|d���d{V��}|j�|d���d{V��|�
|�d����dS�NFrLrrKrM)rQrrUrVr
�create_taskrX�sleep�cancelrWr]r^)rr_r`�taskr+s     r�_basetest_sock_recv_racingz-BaseSockTestsMixin._basetest_sock_recv_racing�s=������������i�$�$�T�5�=�9�9�9�9�9�9�9�9�9��"�4�9�#6�#6�t�T�#B�#B�C�C���m�A�������������
�
�
����I�"�"�4�)B�C�C�	E�	E�	E��Y�(�(��t�4�4�4�4�4�4�4�4���i�!�!�$��-�-�-�-�-�-�-�-�-�������(:�;�;�<�<�<�<�<rc	��K�|�d��|j�||j���d{V��t	d��}t|��5}t
j|j�||dd�����}t
j	d���d{V��|�
��t
j|j�|d����}|j�||dd����d{V��}|j�|||d����d{V��|�|�
d����ddd��n#1swxYwY|�d{V��dSrl)rQrrUrVrZrcr
rmrYrnrorWr]r^)rr_r`r+rdrprs       r�_basetest_sock_recv_into_racingz2BaseSockTestsMixin._basetest_sock_recv_into_racing�s�������������i�$�$�T�5�=�9�9�9�9�9�9�9�9�9������
��
�
�	A���&��	�(�(��s�5�D�5�z�:�:�<�<�D��-��"�"�"�"�"�"�"�"�"��K�K�M�M�M��&��	�&�&�t�-F�G�G�I�I�D��9�3�3�D�#�e�t�e�*�E�E�E�E�E�E�E�E�F��)�*�*�4��V�W�W��>�>�>�>�>�>�>�>�>��O�O�D�O�O�,>�?�?�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A��
�
�
�
�
�
�
�
�
s�DE3�3E7�:E7c�����K�|�d��|�d��|�tjtjd��|�d��tj�j	�
||�������}tjd���d{V��|�
��d���d���5|�d{V��d}|dkrX��t��5	|�d	|z���#1swxYwYt#|d
z��}|dk�Xtj�j	�|d����}tjd���d{V��|�����fd�}tj|����}�j	�|d
���d{V��|�tj��|�d{V��}��|�d
����ddd��dS#1swxYwYdS)N�z	127.0.0.1r�rLFr� �T� �shelloc���K�d}	�j��d���d{V��}|s|S||���z
}�=)NrTrw)rrX�strip)�rvrdr�servers  ��r�recv_allz?BaseSockTestsMixin._basetest_sock_send_racing.<locals>.recv_all�s^�������&� $�	� 3� 3�F�D� A� A�A�A�A�A�A�A�C��"�!�	��#�)�)�+�+�%�B�	&rsworld)�bind�listen�
setsockoptrh�
SOL_SOCKET�	SO_SNDBUFrQr
rmrrU�getsocknamern�acceptrR�BlockingIOError�send�intrWro�shutdown�SHUT_WRr]�endswith)r�listenerr`rp�sizerr+r~s`      @r�_basetest_sock_send_racingz-BaseSockTestsMixin._basetest_sock_send_racing�s��������
�
�&�'�'�'��������	
����)�6�+;�T�B�B�B���������"��I�"�"�4��)=�)=�)?�)?�@�@�B�B���m�A�������������"�"�1�%�����5�!�!�!�
� 	5� 	5��J�J�J�J�J�J�J��D��!�)�
%��&�&��7�7�/�/�/��	�	�$��+�.�.�.�/�/�/�/�/����/�/�/�/��4�!�8�}�}��	�!�)�
%��&��	�&�&�t�X�6�6�8�8�D��-��"�"�"�"�"�"�"�"�"��K�K�M�M�M�
&�
&�
&�
&�
&�
&��&�x�x�z�z�2�2�D��)�(�(��x�8�8�8�8�8�8�8�8�8��M�M�&�.�)�)�)��:�:�:�:�:�:�D��O�O�D�M�M�(�3�3�4�4�4�A 	5� 	5� 	5� 	5� 	5� 	5� 	5� 	5� 	5� 	5� 	5� 	5���� 	5� 	5� 	5� 	5� 	5� 	5s1�9+I�$D?�?E	�I�E	�DI�I �#I c��K�|�d��|���}|�d��tj|j�||����}tjd���d{V��|���|�	d��d}td��D]n}	|j�||���d{V��dS#t$r}|}Yd}~�8d}~wt$r'}|}t|dd��dkrYd}~n
Yd}~�gd}~wwxYw|�|��dS)	NruFrrvzMax retries reached��winerrori&')r�r�rQr
rmrrUrnror��range�ConnectionRefusedError�OSError�getattr�skipTest)rr�r`�addrrp�skip_reason�i�es        r�_basetest_sock_connect_racingz0BaseSockTestsMixin._basetest_sock_connect_racing�s������
�
�&�'�'�'��#�#�%�%����������"�4�9�#9�#9�$��#E�#E�F�F���m�A�������������
�
�
��������+���s���	�	�A�

��i�,�,�T�4�8�8�8�8�8�8�8�8�8�����*�
 �
 �
 �������������
�
�
����1�j�!�,�,��5���E�E�E�E�E����������
����	
�
�
�k�"�"�"�"�"s$�!C)�)
D.�3C:�:
D.�D)�)D.c
�L�tj��5}tj��}|5|j�tj|�||��d����ddd��n#1swxYwYtj��}|5|j�tj|�||��d����ddd��n#1swxYwYddd��n#1swxYwYtj��}tj��}|5|5|j�tj|�	||��d����ddd��n#1swxYwYddd��dS#1swxYwYdS�N�
)
rErgrhrrTr
�wait_forrqrsr�)rr_r`r�s    r�test_sock_client_racingz*BaseSockTestsMixin.test_sock_client_racings-��
�
'�
)�
)�	L�U��=�?�?�D��
G�
G��	�,�,�W�-=��3�3�E�4�@�@�"�.F�.F�G�G�G�
G�
G�
G�
G�
G�
G�
G�
G�
G�
G�
G����
G�
G�
G�
G��=�?�?�D��
L�
L��	�,�,�W�-=��8�8���E�E�r�.K�.K�L�L�L�
L�
L�
L�
L�
L�
L�
L�
L�
L�
L�
L����
L�
L�
L�
L�
	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L����	L�	L�	L�	L��=�?�?���}����
�	F�	F�t�	F�	F��I�(�(��)9��/�/��$�?�?��*E�*E�
F�
F�
F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�	F�	Fs��C=�AA8�,C=�8A<	�<C=�?A<	�C=�AC&�C=�&C*	�*C=�-C*	�.C=�=D�D�0F�3AF�5F�F	�F�F	�	F�F� Fc
�>�tj��}tj��}|5|5|j�tj|�||��d����ddd��n#1swxYwYddd��dS#1swxYwYdSr�)rhrrTr
r�r�)rr�r`s   r�test_sock_client_connect_racingz2BaseSockTestsMixin.test_sock_client_connect_racingsD���=�?�?���}����
�	I�	I�t�	I�	I��I�(�(��)9��2�2�8�T�B�B�B�*H�*H�
I�
I�
I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	Is5�B�AA:�.B�:A>	�>B�A>	�B�B�Bc��$K�tj��}|�d��d}d|dzz}|j�||���d{V��|j�|dd|zzdz���d{V��tj|j�||����}|j�||���d{V��}|�|�	d����|�
d	��d
kr=||j�||���d{V��z
}|�
d	��d
k�=|d|�d	��dz�}|t|��d�}|}td��}	tt|	t|������}
|�||
��|t|��z}	|j�||���d{V��}|snStt|	t|������}
|�||
��|t|��z}�w|�|d
��|�d{V��|���dS�NFi@Bs
0123456789r�sPOST /loop HTTP/1.0
sContent-Length: %d
s
rMs

���rxTr)rhrQrrUrWr
rmrXr]r^�find�indexr*r�bytesr�assertEqualr\)rrVr`�	DATA_SIZE�chunkrpr+�headersr��checkerr"s           r�_basetest_huge_contentz)BaseSockTestsMixin._basetest_huge_contents������}������������	���b��1���i�$�$�T�7�3�3�3�3�3�3�3�3�3��i�$�$�T�&@�&?�)�&K�'L�&-�'.�0�0�	0�	0�	0�	0�	0�	0�	0�
�"�4�9�#9�#9�$��#F�#F�G�G���Y�(�(��y�9�9�9�9�9�9�9�9��	
������(:�;�;�<�<�<��i�i��$�$��*�	?��$�)�-�-�d�I�>�>�>�>�>�>�>�>�>�D��i�i��$�$��*�	?��3��
�
�;�/�/�!�3�3�4���C��L�L�M�M�"�����
�&�&������T���3�3�4�4������x�(�(�(���D�	�	���	���,�,�T�9�=�=�=�=�=�=�=�=�D��
���V�G�S��Y�Y�7�7�8�8�H����T�8�,�,�,��C��I�I��D�
	�	
����q�!�!�!��
�
�
�
�
�
�
��
�
�����rc���tj��5}|j�|�|j����ddd��dS#1swxYwYdSr)rErgrrTr�rV�rr_s  r�test_huge_contentz$BaseSockTestsMixin.test_huge_contentCs���
�
'�
)�
)�	<�U��I�(�(��+�+�E�M�:�:�
<�
<�
<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<��3A�A�Ac���K�tj��}|�d��d}d|dzz}|j�||���d{V��|j�|dd|zzdz���d{V��tj|j�||����}t|��}t|��}|j�	||���d{V��}t|d|���}	|�|	�d����|	�
d	��d
krQ|j�	||���d{V��}t|d|���}	|	�
d	��d
k�Q|	d|	�d	��dz�}
|	t|
��d�}	|}t!d��}tt#|t|	������}
|�|	|
��|t|	��z}	|j�	||���d{V��}|d|�}	|	snStt#|t|	������}
|�|	|
��|t|	��z}��|�|d
��|�d{V��|���dSr�)rhrQrrUrWr
rmrZrcrYr�r]r^r�r�r*rrr�r\)rrVr`r�r�rp�arrayrdrr+r�r�r�r"s              r�_basetest_huge_content_recvintoz2BaseSockTestsMixin._basetest_huge_content_recvintoHs�����}������������	���b��1���i�$�$�T�7�3�3�3�3�3�3�3�3�3��i�$�$�T�&@�&?�)�&K�'L�&-�'.�0�0�	0�	0�	0�	0�	0�	0�	0�
�"�4�9�#9�#9�$��#F�#F�G�G���)�$�$��������y�/�/��c�:�:�:�:�:�:�:�:���S��&��\�"�"��	
������(:�;�;�<�<�<��i�i��$�$��*�	'��9�3�3�D�#�>�>�>�>�>�>�>�>�F���W�f�W��&�&�D��i�i��$�$��*�	'��3��
�
�;�/�/�!�3�3�4���C��L�L�M�M�"�����
�&�&������T���3�3�4�4������x�(�(�(���D�	�	���	��9�3�3�D�#�>�>�>�>�>�>�>�>�F��w��w�<�D��
���V�G�S��Y�Y�7�7�8�8�H����T�8�,�,�,��C��I�I��D�	�	
����q�!�!�!��
�
�
�
�
�
�
��
�
�����rc���tj��5}|j�|�|j����ddd��dS#1swxYwYdSr)rErgrrTr�rVr�s  r�test_huge_content_recvintoz-BaseSockTestsMixin.test_huge_content_recvintozs���
�
'�
)�
)�	E�U��I�(�(��4�4�U�]�C�C�
E�
E�
E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	E�	Er�c��K�d}tjtjtj��5}|�d��|j�|||���d{V��|j�|d���d{V��\}}|�||��|�||��ddd��dS#1swxYwYdS)N�F�)rh�AF_INET�
SOCK_DGRAMrQr�sock_sendto�
sock_recvfromr�)r�server_addressr+r`�
received_data�	from_addrs      r�_basetest_datagram_recvfromz.BaseSockTestsMixin._basetest_datagram_recvfroms.������
�]�6�>�6�+<�
=�
=�	8�����U�#�#�#��)�'�'��d�N�C�C�C�C�C�C�C�C�C�-1�Y�-D�-D��d�.�.�(�(�(�(�(�(�$�M�9����]�D�1�1�1����Y��7�7�7�
	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s�BC�C�
Cc��tj��5}|j�|�|����ddd��dS#1swxYwYdSr)rE�run_udp_echo_serverrrTr��rr�s  r�
test_recvfromz BaseSockTestsMixin.test_recvfrom�s���
�
+�
-�
-�	B���I�(�(��0�0��@�@�
B�
B�
B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B��.A�A�Ac��:K�tjtjtj��5}|�d��t	d��}d}|j�|||���d{V��|j�||���d{V��\}}|�|d��|�||��|�||��t	d��}|j�|||���d{V��|j�||d���d{V��\}}|�|d��|�|dd�|dd���|�||��ddd��dS#1swxYwYdS)NFr�r�rw)	rhr�r�rQrZrr��sock_recvfrom_intor�)rr�r`rdr+�	num_bytesr�s       r� _basetest_datagram_recvfrom_intoz3BaseSockTestsMixin._basetest_datagram_recvfrom_into�s����
�]�6�>�6�+<�
=�
=�	8�����U�#�#�#��D�/�/�C�!�D��)�'�'��d�N�C�C�C�C�C�C�C�C�C�)-��)E�)E��c�*�*�$�$�$�$�$�$� �I�y����Y��-�-�-����S�$�'�'�'����Y��7�7�7��D�/�/�C��)�'�'��d�N�C�C�C�C�C�C�C�C�C�)-��)E�)E��c�4�*!�*!�$!�$!�$!�$!�$!�$!� �I�y����Y��-�-�-����S��$��Z��e�t�e��5�5�5����Y��7�7�7�%	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s�EF�F�Fc��tj��5}|j�|�|����ddd��dS#1swxYwYdSr)rEr�rrTr�r�s  r�test_recvfrom_intoz%BaseSockTestsMixin.test_recvfrom_into�s���
�
+�
-�
-�	G���I�(�(��5�5�n�E�E�
G�
G�
G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G�	G�	Gr�c��n��K�d}tjtjtj��5���d��t	�����j�_�j�t����j	�_	|j
���fd���|j
��||���d{V��|j
�
�d���d{V��\}}|�||��|�||��ddd��dS#1swxYwYdS)Nr�F)�side_effectc�0��t�d�j��S)N�sendto)�setattrr�)�	mock_sockr`s��r�<lambda>zGBaseSockTestsMixin._basetest_datagram_sendto_blocking.<locals>.<lambda>�s����	�8�T�[�A�A�rr�)rhr�r�rQr�
gettimeoutr��configure_mockr��filenor�	call_soonr�r�r�)rr�r+r�r�r�r`s     @@r�"_basetest_datagram_sendto_blockingz5BaseSockTestsMixin._basetest_datagram_sendto_blocking�s���������
�]�6�>�6�+<�
=�
=�	8�����U�#�#�#��T�
�
�I�#'�?�I� ���+�+��+�H�H�H�#�{�I���I���A�A�A�A�A�
�
�
��)�'�'�	�4��H�H�H�H�H�H�H�H�H�-1�Y�-D�-D��d�.�.�(�(�(�(�(�(�$�M�9����]�D�1�1�1����Y��7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s�C-D*�*D.�1D.c�>�tjdkr3t|jtj��rt
jd���tj	��5}|j�
|�|����ddd��dS#1swxYwYdS)N�win32z!Not relevant to ProactorEventLoop)�sys�platformrNrr
�ProactorEventLoop�unittest�SkipTestrEr�rTr�r�s  r�test_sendto_blockingz'BaseSockTestsMixin.test_sendto_blocking�s����<�7�"�	M��$�)�W�%>�?�?�
M��'�(K�L�L�L�
�
+�
-�
-�	I���I�(�(��7�7��G�G�
I�
I�
I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	Is�.B�B�Bc�.�tj��5}tjtj��}|�||��tjtj��}|�||��ddd��dS#1swxYwYdSr)rE�run_test_unix_serverrh�AF_UNIXrareris   r�test_unix_sock_client_opsz,BaseSockTestsMixin.test_unix_sock_client_ops�s���
�
,�
.�
.�	7�%��=���0�0�D��*�*�5�$�7�7�7��=���0�0�D��)�)�%��6�6�6�		7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s�A)B
�
B�Bc�"�d}	tj��}|�d��|���}|���n#|���wxYwtj��}|�d��|�t��5|j�|j�	||����ddd��n#1swxYwY|���dS)NruF)
rhr�r�r\rQrRr�rrTrU)rrV�sr`s    r�test_sock_client_failz(BaseSockTestsMixin.test_sock_client_fail�s#����	��
���A�
�F�F�#�$�$�$��m�m�o�o�G�
�G�G�I�I�I�I��A�G�G�I�I�I�I�����}�����������
�
�
�5�
6�
6�	7�	7��I�(�(��	�&�&�t�W�5�5�
7�
7�
7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	
�
�
�����s�<A�A+�04C0�0C4�7C4c��tj��}|�d��|�d��|�d��tj��}|�|�����|j�|��}|j�|��\}}|�	|�
��d��|�	||�����|�	|���|�����|���|���|���dS)NFrurvr)
rhrQr�r��connectr�rr[rTr�r��getpeernamer\)rr��client�f�connr�s      r�test_sock_acceptz#BaseSockTestsMixin.test_sock_accept�s=���=�?�?�����U�#�#�#��
�
�&�'�'�'����������������x�+�+�-�-�.�.�.��I�!�!�(�+�+���Y�1�1�!�4�4�
��d�������*�*�A�.�.�.�����v�1�1�3�3�4�4�4�����+�+�-�-�x�/C�/C�/E�/E�F�F�F��������
�
�����������rc�<�tj��}|�d��|�d��|�d��|���}tj|j�|��d��}|�	t
j
��5|j�|��ddd��n#1swxYwY|���tj��}|�d��|j�
||��}|�	t��5|j�|��ddd��n#1swxYwY|���dS)NFrurvg�������?)rhrQr�r�r�r
r�rr[rR�TimeoutErrorrTr\rUr�)rr��sockaddrr�r�s     r�test_cancel_sock_acceptz*BaseSockTestsMixin.test_cancel_sock_accept�s����=�?�?�����U�#�#�#��
�
�&�'�'�'���������'�'�)�)����T�Y�2�2�8�<�<�c�B�B��
�
�
�w�3�
4�
4�	,�	,��I�(�(��+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	��������������5�!�!�!��I�"�"�6�8�4�4��
�
�
�5�
6�
6�	,�	,��I�(�(��+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	�������s$�3C�C�!C�E=�=F�Fc���tj��5}d}�j��jj|jdtji���}|D]y\}}}}}	t
j|||���}|�d���j��j�	||����n%#t$rY�vwxYw��d���j��fd�|���}	�j�|	��\}
}��
|
tj����
|tj���j�|j����|jd��|
���ddd��dS#1swxYwYdS)N�type)�familyr��protoFzCan not create socket.c�.��t�j���S)N)r)rrr/s�rr�z@BaseSockTestsMixin.test_create_connection_sock.<locals>.<lambda>s����T�Y�/�/�/�r)r`r)rErgrrT�getaddrinforVrh�SOCK_STREAMrQrU�
BaseException�fail�create_connection�assertIsInstancer
�	Transport�Protocolr�
assertGreaterrr\)rr_r`�infosr�r�r��cnamerVr��tr�prs`           r�test_create_connection_sockz.BaseSockTestsMixin.test_create_connection_socks���
�
'�
)�
)�	�U��D��I�0�0�%��	�%��]�=�)/�);�=�=�>�>�E�8=�
4�
4�3���e�U�G��!�=��T��O�O�O�D��$�$�U�+�+�+��I�0�0��	�.�.�t�W�=�=�?�?�?�
�E��%�����D�����
�	�	�2�3�3�3��	�+�+�/�/�/�/�d�,�<�<�A��Y�1�1�!�4�4�F�B���!�!�"�g�&7�8�8�8��!�!�"�g�&6�7�7�7��I�(�(���1�1�1����r�y�!�,�,�,��H�H�J�J�J�3	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s8�AF9�AB=�;F9�=
C
�F9�	C
�
C"F9�9F=�F=)!r5r6r7r<r@rIrarerjrqrsr�r�r�r�r�r�r�r�r�r�r�r�r�r�r
�skip_unless_bind_unix_socketr�r�r�r�r�
__classcell__)rBs@rr9r98s��������"�"�"������
�����"=�"=�"=�H=�=�=�"7�7�7�=�=�=� ���(-5�-5�-5�n#�#�#�<F�F�F� I�I�I�*�*�*�X<�<�<�
0�0�0�dE�E�E�
	8�	8�	8�B�B�B�
8�8�8�,G�G�G�
8�8�8�*I�I�I��/�7�7�0�/�7����"���"���&������rr9r�c��eZdZd�ZdS)�SelectEventLoopTestsc�(�tj��Sr)r
�SelectorEventLoopr/s rr<z&SelectEventLoopTests.create_event_loop'����,�.�.�.rN�r5r6r7r<rrrrr$�#������	/�	/�	/�	/�	/rrc��eZdZd�ZdS)�ProactorEventLoopTestsc�(�tj��Sr)r
r�r/s rr<z(ProactorEventLoopTests.create_event_loop-rrNrrrrrr*rrr�KqueueSelectorc��eZdZd�ZdS)�KqueueEventLoopTestsc�L�tjtj����Sr)r
r
�	selectorsrr/s rr<z&KqueueEventLoopTests.create_event_loop7s#���0��,�.�.�0�0�0rNrrrrrr4s#������
0�
0�
0�
0�
0rr�
EpollSelectorc��eZdZd�ZdS)�EPollEventLoopTestsc�L�tjtj����Sr)r
r
rrr/s rr<z%EPollEventLoopTests.create_event_loop?s���0��1H�1J�1J�K�K�KrNrrrrrr<s(������
L�
L�
L�
L�
Lrr�PollSelectorc��eZdZd�ZdS)�PollEventLoopTestsc�L�tjtj����Sr)r
r
rrr/s rr<z$PollEventLoopTests.create_event_loopFs���0��1G�1I�1I�J�J�JrNrrrrrrCs(������
K�
K�
K�
K�
Krrc��eZdZd�ZdS)rc�L�tjtj����Sr)r
r
r�SelectSelectorr/s rr<z&SelectEventLoopTests.create_event_loopMs���,�Y�-E�-G�-G�H�H�HrNrrrrrrJs(������	I�	I�	I�	I�	Ir�__main__)!rhr
r�r�r�	itertoolsrr�
unittest.mockrr�test.test_asynciorrE�testr	�test.supportr
rrrr9r��TestCaserrr�hasattrrrrr5�mainrrr�<module>r-s���
�
�
�
�����
�
�
�
�����#�#�#�#�#�#�#�#�#�#�#�#�#�#�%�%�%�%�%�%�%�%�1�1�1�1�1�1�������&�&�&�&�&�&�(�(�(�$'�$'�$'�$'�$'�g��$'�$'�$'�Ng�g�g�g�g�g�g�g�T�<�7��,I�/�/�/�/�/�1�)�2�/�/�/�/�/�/�/�/�!3�!+�!4�/�/�/�/������w�y�*�+�+�0�	0�	0�	0�	0�	0�#5�#-�#6�	0�	0�	0��w�y�/�*�*�L�	L�	L�	L�	L�	L�"4�",�"5�	L�	L�	L��w�y�.�)�)�K�	K�	K�	K�	K�	K�!3�!+�!4�	K�	K�	K�I�I�I�I�I�1�)�2�I�I�I��z����H�M�O�O�O�O�O��r