403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/test_asyncio/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/test_asyncio/__pycache__/test_unix_events.cpython-313.pyc
�

��iR��l�SrSSKrSSKrSSKrSSKrSSKJr SSKrSSK	r	SSK
r
SSKrSSKrSSK
r
SSKrSSKrSSKJr SSKrSSKJr SSKJr SSKJr SSKJr SS	KJr \R2S
:Xa\R4"S5eSSKrSSKJr SS
KJr SSKJr  Sr!\RDr#Sr$Sr%Sr&\RN"\	S5"SS\ RP55r)\RN"\*"\
S5S5"SS\ RP55r+\RN"\*"\S5S5"SS\ RP55r,"SS\ RP5r-"S S!\ RP5r."S"S#\RP5r/"S$S%\RP5r0"S&S'5r1"S(S)\1\ RP5r2"S*S+\1\ RP5r3"S,S-\RP5r4"S.S/\RP5r5\Rl"5"S0S1\Rn55r8\9S2:Xa\Rt"5 gg)3zTests for unix_events.py.�N)�_cleanup_tests)�mock)�support)�	os_helper)�
socket_helper)�wait_process)�hashlib_helper�win32z	UNIX only)�log)�unix_events)�utilsc�0�[R"S5 g�N)�asyncio�set_event_loop_policy���7C:\Python313\\Lib\test\test_asyncio\test_unix_events.py�tearDownModuler#s���!�!�$�'rc��SU-$)N��r��exitcodes r�EXITCODEr*s
���8��rc�F�SUs=::aS::dO [SU35eSU-
$)N��Dzinvalid signum r)�AssertionError)�signums r�SIGNALr .s+�����"����v�h�7�8�8��6�>�rc�b�URcgURR5 SUlgr)�_pipe�close)�	transports r�close_pipe_transportr%4s(�������
�O�O�����I�OrzSignals are not supportedc�R^�\rSrSrU4SjrSrSrSr\R"S5S5r
\R"S5S5r\R"S5S	5r\R"S5S
5r
\R"S5\R"S5S55r\R"S5\R"S5S
55r\R"S5S5r\R"S5S5r\R"S5\R"S5S55r\R"S5S5r\R"S5S5r\R"S5S5r\R"S5\R"S5S55rSrU=r$)�SelectorEventLoopSignalTests�=c�>�[TU]5 [R"5UlURUR5 gr��super�setUpr�SelectorEventLoop�loop�set_event_loop��self�	__class__s �rr,�"SelectorEventLoopSignalTests.setUp@�.���
��
���-�-�/��	����D�I�I�&rc���UR[URRS5 UR[URR[
RS-5 g)N�1r)�assertRaises�	TypeErrorr.�
_check_signal�
ValueError�signal�NSIG�r1s r�test_check_signal�.SelectorEventLoopSignalTests.test_check_signalEsI������t�y�y�.�.��	5������	�	�/�/����q��	Brc�\�URR[RS-5 g)Nr)r.�_handle_signalr;r<r=s r�test_handle_signal_no_handler�:SelectorEventLoopSignalTests.test_handle_signal_no_handlerKs���	�	� � ����q��1rc��[R"[R"5S[R"5S9nUR	5 XR
R[RS-'[R"5UR
l	UR
R[RS-5 UR
RR[RS-5 g)Nr�r.r)r�Handler�Mock�cancelr.�_signal_handlersr;r<�remove_signal_handlerrA�assert_called_with)r1�hs  r�$test_handle_signal_cancelled_handler�ASelectorEventLoopSignalTests.test_handle_signal_cancelled_handlerNs����N�N�4�9�9�;�� $�	�	��
-��	���
�67�	�	�"�"�6�;�;��?�3�*.�)�)�+��	�	�'��	�	� � ����q��1��	�	�'�'�:�:�6�;�;��?�Krzasyncio.unix_events.signalc��[RUl[RUl[URlUR
[URR[RS5 g)Nc��g�NTrrrr�<lambda>�RSelectorEventLoopSignalTests.test_add_signal_handler_setup_error.<locals>.<lambda>`���4r)r;r<�
valid_signalsr:�
set_wakeup_fd�side_effectr7�RuntimeErrorr.�add_signal_handler�SIGINT�r1�m_signals  r�#test_add_signal_handler_setup_error�@SelectorEventLoopSignalTests.test_add_signal_handler_setup_errorWsP������
�!'�!5�!5���-7����*������I�I�(�(��M�M�<�	)rc��[RUlSnUnU"5nURUR5 X44H>nUR	[
SURR[RU5 M@ g)Nc��# �g7frrrrr�simple_coroutine�^SelectorEventLoopSignalTests.test_add_signal_handler_coroutine_error.<locals>.simple_coroutinefs����s�z1coroutines cannot be used with add_signal_handler)	r;r<�
addCleanupr#�assertRaisesRegexr8r.rYrZ)r1r\ra�	coro_func�coro_obj�funcs      r�'test_add_signal_handler_coroutine_error�DSelectorEventLoopSignalTests.test_add_signal_handler_coroutine_errorbsg������
�	�%�	��;��������'��)�D��"�"��N��	�	�,�,��
�
�t�
%�*rc��[RUl[RUlSnURR	[R
U5 URRR[R
5nURU[R5 URURU5 g)Nc��grQrrrrrR�FSelectorEventLoopSignalTests.test_add_signal_handler.<locals>.<lambda>x���Tr)
r;r<rUr.rY�SIGHUPrI�get�assertIsInstancerrF�assertEqual�	_callback)r1r\�cbrLs    r�test_add_signal_handler�4SelectorEventLoopSignalTests.test_add_signal_handlerss~������
�!'�!5�!5���
���	�	�$�$�V�]�]�B�7��I�I�&�&�*�*�6�=�=�9�����a����0�������b�)rc��[RUl[RUlSnX!l"SS[5nX1RlUR
UURR[RS5 g)Nc�$�US:Xa
[5eg)N���)r:)�fds rrV�YSelectorEventLoopSignalTests.test_add_signal_handler_install_error.<locals>.set_wakeup_fd�s���R�x� �l�"�rc�,�\rSrSr\R
rSrg)�OSelectorEventLoopSignalTests.test_add_signal_handler_install_error.<locals>.Err�rN)�__name__�
__module__�__qualname__�__firstlineno__�errno�EFAULT�__static_attributes__rrr�Errr|�����L�L�Err�c��grQrrrrrR�TSelectorEventLoopSignalTests.test_add_signal_handler_install_error.<locals>.<lambda>�rTr)
r;r<rUrV�OSErrorrWr7r.rYrZ)r1r\rVr�s    r�%test_add_signal_handler_install_error�BSelectorEventLoopSignalTests.test_add_signal_handler_install_error~se������
�!'�!5�!5���	#�"/��	!�'�	!�&)���#������I�I�(�(��M�M�<�	)rzasyncio.base_events.loggerc���[RUl[RUl"SS[5nX2RlSUR
R[R'UR[UR
R[RS5 URURR5 URSUR R"5 g)Nc�,�\rSrSr\R
rSrg)�PSelectorEventLoopSignalTests.test_add_signal_handler_install_error2.<locals>.Err�rN�r~rr�r�r��EINVALr�rrrr�r��r�rr�c��grQrrrrrR�USelectorEventLoopSignalTests.test_add_signal_handler_install_error2.<locals>.<lambda>����Drc��grQrrrrrRr��rTrr)r;r<rUr�rWr.rIrnr7rXrYrZ�assertFalse�info�calledrqrV�
call_count�r1�	m_loggingr\r�s    r�&test_add_signal_handler_install_error2�CSelectorEventLoopSignalTests.test_add_signal_handler_install_error2�s�������
�!'�!5�!5���	!�'�	!�&)���#�4@��	�	�"�"�6�=�=�1������I�I�(�(��M�M�<�	)�	
������.�.�/�����H�2�2�=�=�>rc��"SS[5nX2Rl[RUl[RUlUR[URR[RS5 URURR5 URSURR5 g)Nc�,�\rSrSr\R
rSrg)�PSelectorEventLoopSignalTests.test_add_signal_handler_install_error3.<locals>.Err�rNr�rrrr�r��r�rr�c��grQrrrrrR�USelectorEventLoopSignalTests.test_add_signal_handler_install_error3.<locals>.<lambda>�rTr�)r�r;rWr<rUr7rXr.rYrZr�r�r�rqrVr�r�s    r�&test_add_signal_handler_install_error3�CSelectorEventLoopSignalTests.test_add_signal_handler_install_error3�s���	!�'�	!�&)���#�����
�!'�!5�!5��������I�I�(�(��M�M�<�	)�	
������.�.�/�����H�2�2�=�=�>rc�8�[RUl[RUlURR	[R
S5 UR
URR[R
55 UR
URR5 UR
URR5 UR[R
UR4URRS5 g)Nc��grQrrrrrR�ISelectorEventLoopSignalTests.test_remove_signal_handler.<locals>.<lambda>�r�rr)
r;r<rUr.rYrn�
assertTruerJrVr�rq�SIG_DFL�	call_argsr[s  r�test_remove_signal_handler�7SelectorEventLoopSignalTests.test_remove_signal_handler�s�������
�!'�!5�!5����	�	�$�$�V�]�]�L�A�����I�I�+�+�F�M�M�:�	<�����.�.�5�5�6�������.�.�/����
�]�]�H�,�,�-�x���/H�/H��/K�	Mrc���[RUl[RUl[RUlURR[RS5 [
5URR[R'URR5 URURR[R55 URURR5 URURR5 UR[RUR 4URR"S5 g)Nc��grQrrrrrR�KSelectorEventLoopSignalTests.test_remove_signal_handler_2.<locals>.<lambda>�r�rr)r;r<rZrUr.rY�objectrIrnrV�
reset_mockr�rJr�r�rq�default_int_handlerr�r[s  r�test_remove_signal_handler_2�9SelectorEventLoopSignalTests.test_remove_signal_handler_2�s�������
� �-�-���!'�!5�!5����	�	�$�$�V�]�]�L�A�4:�H��	�	�"�"�6�=�=�1����)�)�+�����I�I�+�+�F�M�M�:�	<�����/�/�6�6�7�������.�.�/����
�]�]�H�8�8�9��O�O�%�%�a�(�	*rc�`�[RUl[RUlURR	[R
S5 [URlURR[R
5 URUR5 g)Nc��grQrrrrrR�WSelectorEventLoopSignalTests.test_remove_signal_handler_cleanup_error.<locals>.<lambda>�r�r)r;r<rUr.rYrnr:rVrWrJr�r�)r1r�r\s   r�(test_remove_signal_handler_cleanup_error�ESelectorEventLoopSignalTests.test_remove_signal_handler_cleanup_error�si������
�!'�!5�!5����	�	�$�$�V�]�]�L�A�-7����*��	�	�'�'��
�
�6����	���'rc�J�[RUl[RUlURR	[R
S5 [URlUR[URR[R
5 g)Nc��grQrrrrrR�OSelectorEventLoopSignalTests.test_remove_signal_handler_error.<locals>.<lambda>�r�r)
r;r<rUr.rYrnr�rWr7rJr[s  r� test_remove_signal_handler_error�=SelectorEventLoopSignalTests.test_remove_signal_handler_error�sc������
�!'�!5�!5����	�	�$�$�V�]�]�L�A�&-����#�����T�Y�Y�4�4�f�m�m�	Erc�^�[RUl[RUlURR	[R
S5 "SS[5nX!RlUR[URR[R
5 g)Nc��grQrrrrrR�PSelectorEventLoopSignalTests.test_remove_signal_handler_error2.<locals>.<lambda>�r�rc�,�\rSrSr\R
rSrg)�KSelectorEventLoopSignalTests.test_remove_signal_handler_error2.<locals>.Err��rNr�rrrr�r��r�rr�)r;r<rUr.rYrnr�rWr7rXrJ)r1r\r�s   r�!test_remove_signal_handler_error2�>SelectorEventLoopSignalTests.test_remove_signal_handler_error2�sm������
�!'�!5�!5����	�	�$�$�V�]�]�L�A�	!�'�	!�&)���#�����$�)�)�9�9�6�=�=�	Jrc�^�[RUl[RUlURR	[R
S5 URR	[RS5 UR[URR5S5 URR5 URR5 UR[URR5S5 URRS5 g)Nc��grQrrrrrR�9SelectorEventLoopSignalTests.test_close.<locals>.<lambda>�r�rc��grQrrrrrRr��s��Trr�rrx)r;r<rUr.rYrn�SIGCHLDrq�lenrIrVr�r#�assert_called_once_withr[s  r�
test_close�'SelectorEventLoopSignalTests.test_close�s�������
�!'�!5�!5����	�	�$�$�V�]�]�L�A��	�	�$�$�V�^�^�\�B�����T�Y�Y�7�7�8�!�<����)�)�+��	�	��������T�Y�Y�7�7�8�!�<����6�6�r�:rzasyncio.unix_events.sysc��[RUl[RUlURR	[R
S5 UR
[URR5S5 SURl
URR5 UR[S5 URR5 SSS5 UR
[URR5S5 URURR 5 g!,(df   Nc=f)Nc��grQrrrrrR�GSelectorEventLoopSignalTests.test_close_on_finalizing.<locals>.<lambda>
r�rrTz skipping signal handlers removalr)r;r<rUr.rYrnrqr�rI�
is_finalizing�return_valuer��assertWarnsRegex�ResourceWarningr#r�r�)r1r\�m_syss   r�test_close_on_finalizing�5SelectorEventLoopSignalTests.test_close_on_finalizings�������
�!'�!5�!5����	�	�$�$�V�]�]�L�A�����T�Y�Y�7�7�8�!�<�+/����(����"�"�$�
�
"�
"�?�#E�G��I�I�O�O��G�	
����T�Y�Y�7�7�8�!�<�������/�/�0�G�G�s�D>�>
ErE)r~rr�r�r,r>rBrMr�patchr]rhrtr�r�r�r�r�r�r�r�r�r�r��
__classcell__�r2s@rr'r'=s����'�
B�2�L�
�Z�Z�,�-�)�.�)�
�Z�Z�,�-�%�.�%� 
�Z�Z�,�-�*�.�*�
�Z�Z�,�-�)�.�)�$
�Z�Z�,�-�	�Z�Z�,�-�?�.�.�?� 
�Z�Z�,�-�	�Z�Z�,�-�?�.�.�?�
�Z�Z�,�-�M�.�M�
�Z�Z�,�-�*�.�*�"
�Z�Z�,�-�	�Z�Z�,�-�(�.�.�(�
�Z�Z�,�-�E�.�E�
�Z�Z�,�-�
J�.�
J�
�Z�Z�,�-�;�.�;� 
�Z�Z�)�*�	�Z�Z�,�-�1�.�+�1rr'�AF_UNIXzUNIX Sockets are not supportedc�L^�\rSrSrU4Sjr\RS5r\RS5rSr	Sr
SrSrS	r
S
r\R "\"\S5S5\RS
55rSrSr\R."S5S5rSrSrSrSrSrSrU=r$)� SelectorEventLoopUnixSocketTestsic�>�[TU]5 [R"5UlURUR5 grr*r0s �rr,�&SelectorEventLoopUnixSocketTests.setUpr4rc���[R"5n[R"[R5nUR	U5 URS5 UR
5 URRSU5nURRU5nUR
5 URRUR55 SSS5 g!,(df   g=f)Nrc��grrrrrrR�]SelectorEventLoopUnixSocketTests.test_create_unix_server_existing_path_sock.<locals>.<lambda>,���r)�
test_utils�unix_socket_path�socketr��bind�listenr#r.�create_unix_server�run_until_complete�wait_closed)r1�path�sock�coro�srvs     r�*test_create_unix_server_existing_path_sock�KSelectorEventLoopUnixSocketTests.test_create_unix_server_existing_path_sock$s���
�
(�
(�
*�d��=�=����0�D��I�I�d�O��K�K��N��J�J�L��9�9�/�/��d�C�D��)�)�.�.�t�4�C��I�I�K��I�I�(�(����):�;�+�
*�
*�s�CC'�'
C5c�p�[R"5n[R"U5nURRSU5nURR
U5nUR5 URR
UR55 SSS5 g!,(df   g=f)Nc��grrrrrrR�SSelectorEventLoopUnixSocketTests.test_create_unix_server_pathlike.<locals>.<lambda>5r�r)	r�r�r�FakePathr.r�r�r#r�)r1r��srv_coror�s    r� test_create_unix_server_pathlike�ASelectorEventLoopUnixSocketTests.test_create_unix_server_pathlike1sx��
�
(�
(�
*�d��%�%�d�+�D��y�y�3�3�L�$�G�H��)�)�.�.�x�8�C��I�I�K��I�I�(�(����):�;�+�
*�
*�s�BB'�'
B5c�\�[R"5n[R"U5nURRSU5nUR
[5 URRU5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��grrrrrrR�WSelectorEventLoopUnixSocketTests.test_create_unix_connection_pathlike.<locals>.<lambda>=r�r)	r�r�rr�r.�create_unix_connectionr7�FileNotFoundErrorr��r1r�r�s   r�$test_create_unix_connection_pathlike�ESelectorEventLoopUnixSocketTests.test_create_unix_connection_pathlike:sx��
�
(�
(�
*�d��%�%�d�+�D��9�9�3�3�L�$�G�D��"�"�#4�5��	�	�,�,�T�2�6�+�
*�6�5��+�
*�s$�A	B�B�;B�
B	�B�
B+c�r�[R"5nUR[RU5 [US5R
5 URRSU5nUR[S5 URRU5 SSS5 g!,(df   g=f)N�wbc��grrrrrrR�`SelectorEventLoopUnixSocketTests.test_create_unix_server_existing_path_nonsock.<locals>.<lambda>I���DrzAddress.*is already in use)r��gen_unix_socket_pathrcr�unlink�openr#r.r�rdr�r�rs   r�-test_create_unix_server_existing_path_nonsock�NSelectorEventLoopUnixSocketTests.test_create_unix_server_existing_path_nonsockCs����.�.�0�����	�(�(�$�/��T�4���� ��y�y�+�+�L�$�?��
�
#�
#�G�$@�B��I�I�(�(��.�B�B�B�s�B(�(
B6c���URRSSSS9nUR[S5 URR	U5 SSS5 g!,(df   g=f)Nc��grrrrrrR�SSelectorEventLoopUnixSocketTests.test_create_unix_server_ssl_bool.<locals>.<lambda>Or	r�spamT)r��sslz"ssl argument must be an SSLContext)r.r�rdr8r��r1r�s  r� test_create_unix_server_ssl_bool�ASelectorEventLoopUnixSocketTests.test_create_unix_server_ssl_boolNs[���y�y�+�+�L�v�04�,�6��
�
#�
#�I�$H�J��I�I�(�(��.�J�J�J���A�
A&c���URRSSS9nUR[S5 URR	U5 SSS5 g!,(df   g=f)Nc��grrrrrrR�XSelectorEventLoopUnixSocketTests.test_create_unix_server_nopath_nosock.<locals>.<lambda>Vr	r�r�z#path was not specified, and no sock�r.r�rdr:r�rs  r�%test_create_unix_server_nopath_nosock�FSelectorEventLoopUnixSocketTests.test_create_unix_server_nopath_nosockUsT���y�y�+�+�L�t�+�D��
�
#�
#�J�$I�K��I�I�(�(��.�K�K�K�s�A�
A%c�4�[R"5nU URRSSUS9nUR[S5 URRU5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��grrrrrrR�XSelectorEventLoopUnixSocketTests.test_create_unix_server_path_inetsock.<locals>.<lambda>^r�r�r�r��"A UNIX Domain Stream.*was expected)r�r.r�rdr:r��r1r�r�s   r�%test_create_unix_server_path_inetsock�FSelectorEventLoopUnixSocketTests.test_create_unix_server_path_inetsock[sx���}�}���
��9�9�/�/��4�59�0�;�D��'�'�
�(L�N��	�	�,�,�T�2�N��T�N�N���T�s#�3B	�A8�'B	�8
B	�B	�	
Bc�p�[R"[R[R5nU URR	SSUS9nUR[S5 URRU5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��grrrrrrR�USelectorEventLoopUnixSocketTests.test_create_unix_server_path_dgram.<locals>.<lambda>gr�rr"r#)r�r��
SOCK_DGRAMr.r�rdr:r�r$s   r�"test_create_unix_server_path_dgram�CSelectorEventLoopUnixSocketTests.test_create_unix_server_path_dgramds����}�}�V�^�^�V�->�->�?��
��9�9�/�/��4�59�0�;�D��'�'�
�(L�N��	�	�,�,�T�2�N��T�N�N���T�s#�3B'�)B�B'�
B$	� B'�'
B5�
SOCK_NONBLOCKz$no socket.SOCK_NONBLOCK (linux only)c�0�[R"5nUR[RU5 [
R
"[
R[
R[
R-5nU URU5 URRSSUS9nURRU5nUR5 URRUR55 SSS5 g!,(df   g=f)Nc��grrrrrrR�^SelectorEventLoopUnixSocketTests.test_create_unix_server_path_stream_bittype.<locals>.<lambda>xr�rr")r�r
rcrrr�r��SOCK_STREAMr-r�r.r�r�r#r�)r1�fnr�r�r�s     r�+test_create_unix_server_path_stream_bittype�LSelectorEventLoopUnixSocketTests.test_create_unix_server_path_stream_bittypems����
,�
,�
.�����	�(�(�"�-��}�}�V�^�^�#�/�/�&�2F�2F�F�H��
��I�I�b�M��9�9�/�/��4�59�0�;�D��)�)�.�.�t�4�C��I�I�K��I�I�(�(����):�;�
�T�T�s
�<BD�
Dc���URRSSSS9nUR[S5 URR	U5 SSS5 g!,(df   g=f)Nc��grrrrrrR�fSelectorEventLoopUnixSocketTests.test_create_unix_server_ssl_timeout_with_plain_sock.<locals>.<lambda>r	rrr�r��ssl_handshake_timeout�1ssl_handshake_timeout is only meaningful with sslrrs  r�3test_create_unix_server_ssl_timeout_with_plain_sock�TSelectorEventLoopUnixSocketTests.test_create_unix_server_ssl_timeout_with_plain_sock~s_���y�y�+�+�L�v�BC�,�E��
�
#�
#��C�E�
�I�I�(�(��.�E�E�E�rc�2�[R"5nU URRSUS9nUR[S5 URRU5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��grrrrrrR�\SelectorEventLoopUnixSocketTests.test_create_unix_connection_path_inetsock.<locals>.<lambda>�r�r�r�r#)r�r.rrdr:r�r$s   r�)test_create_unix_connection_path_inetsock�JSelectorEventLoopUnixSocketTests.test_create_unix_connection_path_inetsock�sv���}�}���
��9�9�3�3�L�9=�4�?�D��'�'�
�(L�N��	�	�,�,�T�2�N��T�N�N���T�s#�2B�
A7�&B�7
B	�B�
Bzasyncio.unix_events.socketc���[R"5nX!Rl[UR
lURRSSS9nUR[5 URRU5 SSS5 URURR5 [UR
lURRSSS9nUR[5 URRU5 SSS5 URURR5 g!,(df   N�=f!,(df   NE=f)Nc��grrrrrrR�USelectorEventLoopUnixSocketTests.test_create_unix_server_bind_error.<locals>.<lambda>�r	rz/testrc��grrrrrrRrE�r	r)rrGr�r�r�r�rWr.r�r7r�r�r#r��MemoryError)r1�m_socketr�r�s    r�"test_create_unix_server_bind_error�CSelectorEventLoopUnixSocketTests.test_create_unix_server_bind_error�s����y�y�{��'+���$� '��	�	���y�y�+�+�L�w�+�G��
�
�
�w�
'��I�I�(�(��.�(�����
�
�)�)�*� +��	�	���y�y�+�+�L�w�+�G��
�
�
�{�
+��I�I�(�(��.�,�����
�
�)�)�*�(�
'��,�
+�s�+E�9E�
E�
E"c��URRS[R[	5S9nUR[S5 URRU5 SSS5 g!,(df   g=f)Nc��grrrrrrR�XSelectorEventLoopUnixSocketTests.test_create_unix_connection_path_sock.<locals>.<lambda>����Drr@zpath and sock can not be)r.r�os�devnullr�rdr:r�rs  r�%test_create_unix_connection_path_sock�FSelectorEventLoopUnixSocketTests.test_create_unix_connection_path_sock�sX���y�y�/�/��"�*�*�6�8�0�5��
�
#�
#�J�0J�
K��I�I�(�(��.�L�
K�
K�s�	A.�.
A<c���URRSS5nUR[S5 URR	U5 SSS5 g!,(df   g=f)Nc��grrrrrrR�\SelectorEventLoopUnixSocketTests.test_create_unix_connection_nopath_nosock.<locals>.<lambda>�rNrzno path and sock were specified�r.rrdr:r�rs  r�)test_create_unix_connection_nopath_nosock�JSelectorEventLoopUnixSocketTests.test_create_unix_connection_nopath_nosock�sT���y�y�/�/��$� ��
�
#�
#�J�$E�G��I�I�(�(��.�G�G�G�s�A�
A'c���URRS[RSS9nUR	[
S5 URR
U5 SSS5 g!,(df   g=f)Nc��grrrrrrR�_SelectorEventLoopUnixSocketTests.test_create_unix_connection_nossl_serverhost.<locals>.<lambda>�rNrr)�server_hostnamez"server_hostname is only meaningful�r.rrOrPrdr:r�rs  r�,test_create_unix_connection_nossl_serverhost�MSelectorEventLoopUnixSocketTests.test_create_unix_connection_nossl_serverhost�s_���y�y�/�/��"�*�*�f�0�>��
�
#�
#�J�$H�J��I�I�(�(��.�J�J�J���A&�&
A4c���URRS[RSS9nUR	[
S5 URR
U5 SSS5 g!,(df   g=f)Nc��grrrrrrR�_SelectorEventLoopUnixSocketTests.test_create_unix_connection_ssl_noserverhost.<locals>.<lambda>�rNrT)rz/you have to pass server_hostname when using sslr]rs  r�,test_create_unix_connection_ssl_noserverhost�MSelectorEventLoopUnixSocketTests.test_create_unix_connection_ssl_noserverhost�sd���y�y�/�/��"�*�*�$�0�0���
#�
#��I�K�
�I�I�(�(��.�K�K�K�r`c���URRSSSS9nUR[S5 URR	U5 SSS5 g!,(df   g=f)Nc��grrrrrrR�jSelectorEventLoopUnixSocketTests.test_create_unix_connection_ssl_timeout_with_plain_sock.<locals>.<lambda>�r�rrrr8r:rVrs  r�7test_create_unix_connection_ssl_timeout_with_plain_sock�XSelectorEventLoopUnixSocketTests.test_create_unix_connection_ssl_timeout_with_plain_sock�s_���y�y�/�/��6�BC�0�E��
�
#�
#��C�E�
�I�I�(�(��.�E�E�E�rrE) r~rr�r�r,r�skip_unless_bind_unix_socketr�r�rr
rrr%r+�unittest�
skipUnless�hasattrr�r3r;rArr�rIrQrWr^rdrir�r�r�s@rr�r�s����'�
�/�/�
<�0�
<��/�/�<�0�<�3�	/�/�/�3�3�������9�?�A��/�/�<�0�A�<�/�3�
�Z�Z�,�-�+�.�+�"/�/�/�/�/�/rr��sendfilezsendfile is not supportedc��^�\rSrSrSS-r"SS\R5r\U4Sj5r	\U4Sj5r
U4SjrSS	jrS
r
SrSrS
rSrSrSrSrSrSrSrSrSrU=r$)�&SelectorEventLoopUnixSockSendfileTestsi�s�12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde�c�2�\rSrSrSrSrSrSrSrSr	g)	�.SelectorEventLoopUnixSockSendfileTests.MyProtoi�c��SUlSUl[5UlUR	5UlSUlUR	5Ulg)NF)�started�closed�	bytearray�data�
create_future�futr$�_ready)r1r.s  r�__init__�7SelectorEventLoopUnixSockSendfileTests.MyProto.__init__�s@�� �D�L��D�K�!��D�I��)�)�+�D�H�!�D�N��,�,�.�D�Krc�T�SUlXlURRS5 grQ)rvr$r|�
set_result)r1r$s  r�connection_made�>SelectorEventLoopUnixSockSendfileTests.MyProto.connection_made�s ���D�L�&�N��K�K�"�"�4�(rc�:�URRU5 gr)ry�extend)r1rys  r�
data_received�<SelectorEventLoopUnixSockSendfileTests.MyProto.data_received�s���I�I���T�"rc�H�SUlURRS5 grQ)rwr{r�)r1�excs  r�connection_lost�>SelectorEventLoopUnixSockSendfileTests.MyProto.connection_lost�s���D�K��H�H����%rc��8# �URIShv�N gN7fr)r{r=s rr��:SelectorEventLoopUnixSockSendfileTests.MyProto.wait_closed�s����(�(�N�N�s���)r|rwryr{rvr$N)
r~rr�r�r}r�r�r�r�r�rrr�MyProtort�s��	/�	)�
	#�	&�	rr�c�>�[[RS5nURUR5 SSS5 [
TU]5 g!,(df   N=f)Nr)rr�TESTFN�write�DATAr+�
setUpClass)�cls�fpr2s  �rr��1SelectorEventLoopUnixSockSendfileTests.setUpClass�s>���
�)�"�"�D�
)�R��H�H�S�X�X��*�
����*�
)�s�A�
Ac�j>�[R"[R5 [TU]5 gr)rrr�r+�
tearDownClass)r�r2s �rr��4SelectorEventLoopUnixSockSendfileTests.tearDownClass�s"�������)�)�*�
���rc�>�[R"5UlURUR5 [	[
RS5UlURURR5 [TU]-5 g)N�rb)r�new_event_loopr.r/rrr��filercr#r+r,r0s �rr,�,SelectorEventLoopUnixSockSendfileTests.setUp�sV����*�*�,��	����D�I�I�&���)�)�4�0��	�����	�	���(�
��
�rc��[R"[R[R5nURS5 UR	[R
[RS5 UR	[R
[RS5 U(aURUR5 U$)NFrr)
r��AF_INETr1�setblocking�
setsockopt�
SOL_SOCKET�	SO_SNDBUF�	SO_RCVBUFrcr#)r1�cleanupr�s   r�make_socket�2SelectorEventLoopUnixSockSendfileTests.make_socket�sz���}�}�V�^�^�V�-?�-?�@�����������)�)�6�+;�+;�T�B�����)�)�6�+;�+;�T�B���O�O�D�J�J�'��rc�8�URRU5$r)r.r�rs  r�run_loop�/SelectorEventLoopUnixSockSendfileTests.run_loops���y�y�+�+�D�1�1rc�(^^^�TR5nTRTR5m[R"5nTRSS9nUR[RU45 TRTRRU4SjUS95mTRTRRU[RU455 TRTR5 UUU4SjnTRU5 UT4$)NF)r�c�>�T$rr)�protos�rrR�@SelectorEventLoopUnixSockSendfileTests.prepare.<locals>.<lambda>
s���Err@c��>�TRR5 TRTR55 TR5 TRTR55 gr)r$r#r�r�)r�r1�servers���rr��?SelectorEventLoopUnixSockSendfileTests.prepare.<locals>.cleanupsF����O�O�!�!�#��M�M�%�+�+�-�.��L�L�N��M�M�&�,�,�.�/r)r�r�r.r�find_unused_portr��HOSTr��
create_server�sock_connectr|rc)r1r��port�srv_sockr�r�r�s`    @@r�prepare�.SelectorEventLoopUnixSockSendfileTests.prepares�������!�����T�Y�Y�'���-�-�/���#�#�E�#�2���
�
�}�)�)�4�0�1����t�y�y�6�6��� 7� *�+���
�
�d�i�i�,�,�T�M�4F�4F��3M�N�O��
�
�e�l�l�#�	0�	
���� ��U�{�rc
��UR5up[R"S/S9 UR[R
S5 UR
URRXRSS55 SSS5 SSS5 URURR5S5 g!,(df   NA=f!,(df   NJ=f)Nzasyncio.unix_events.os)�specz$os[.]sendfile[(][)] is not availabler)r�rr�rdr�SendfileNotAvailableErrorr�r.�_sock_sendfile_nativer�rq�tell)r1r�r�s   r� test_sock_sendfile_not_available�GSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_not_availables����l�l�n���
�Z�Z�0�r�
:��'�'��(I�(I�(N�P��
�
�d�i�i�=�=�d�I�I�>?��G�H�P�;�
	
��������)�1�-�	P�P��;�
:�s#�!C�	7B;�C�;
C		�C�
Cc	�\�UR5up[5nUR[RS5 URURRXSS55 SSS5 URURR5S5 g!,(df   N9=f�N�not a regular filer)r�r�rdrr�r�r.r�rqr�r��r1r�r��fs    r�test_sock_sendfile_not_a_file�DSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_not_a_file"s����l�l�n����H��
�
#�
#�G�$E�$E�$8�:��M�M�$�)�)�9�9�$�:;�T�C�
D�:�	
��������)�1�-�	:�:�s�-B�
B+c	�r�UR5up[R"5nUR[R
S5 UR
URRXSS55 SSS5 URURR5S5 g!,(df   N9=fr�)r��io�BytesIOrdrr�r�r.r�rqr�r�r�s    r�test_sock_sendfile_iobuffer�BSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_iobuffer+s����l�l�n����J�J�L��
�
#�
#�G�$E�$E�$8�:��M�M�$�)�)�9�9�$�:;�T�C�
D�:�	
��������)�1�-�	:�:�s�-B(�(
B6c	��UR5up[R"5nSURlUR[RS5 URURRXSS55 SSS5 URURR5S5 g!,(df   N9=f)Nrxr�r)r�rrG�filenor�rdrr�r�r.r�rqr�r�r�s    r�#test_sock_sendfile_not_regular_file�JSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_not_regular_file4s����l�l�n����I�I�K�� "�����
�
#�
#�G�$E�$E�$8�:��M�M�$�)�)�9�9�$�:;�T�C�
D�:�	
��������)�1�-�	:�:�s�-B9�9
Cc�^�UR5upURR5nURR	5nURRUSXSS[
UR5S5 UR5 [R"[R5 URU5 SSS5 UR[5 URR R#U5 SSS5 g!,(df   NR=f!,(df   g=f�Nr)r�r.rzr�r��_sock_sendfile_native_implr�r�rH�
contextlib�suppressr�CancelledErrorr�r7�KeyError�	_selector�get_key�r1r�r�r{r�s     r�test_sock_sendfile_cancel1�ASelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_cancel1>s����l�l�n����i�i�%�%�'�����!�!�#���	�	�,�,�S�$��-.��c�$�)�)�n�a�	I��
�
��
�
 �
 ��!7�!7�
8��M�M�#��9�
�
�
�x�
(��I�I���'�'��-�)�
(�9�
8��
(�
(�s�/D
�&D�
D�
D,c�B�UR5upURR5nURR	5nURRUSXSS[
UR5S5 UR5 URRX1R	5XSS[
UR5S5 UR[5 URRRU5 SSS5 g!,(df   g=fr�)
r�r.rzr�r�r�r�r�rHr7r�r�r�r�s     r�test_sock_sendfile_cancel2�ASelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_cancel2Ks����l�l�n����i�i�%�%�'�����!�!�#���	�	�,�,�S�$��-.��c�$�)�)�n�a�	I��
�
���	�	�,�,�S�+�+�-��-.��c�$�)�)�n�a�	I�
�
�
�x�
(��I�I���'�'��-�)�
(�
(�s�!&D�
Dc�<�UR5upURR5n[R"5nSUR
l[R"S[5S9 URRUSXSS[UR5S5 SSS5 URRRU5nURU5 UR R#[R$5 g!,(df   Nn=f)NF�os.sendfile�rWr)r�r�r�rrG�	cancelledr�r��BlockingIOErrorr.r�r�r�r�r��assertIsNotNone�add_done_callbackr��ANY)r1r�r�r�r{�keys      r�!test_sock_sendfile_blocking_error�HSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_blocking_errorXs����l�l�n������!�!�#���i�i�k��%*��
�
�"�
�Z�Z�
�?�3D�
E��I�I�0�0��d�D�12�D�#�d�i�i�.�!�
M�F��i�i�!�!�)�)�$�/�����S�!����5�5�d�h�h�?�F�
E�s�05D
�
Dc���UR5upURR5nURR	5n[
R"S[5S9 URRUSXSS[UR5S5 SSS5 UR[5 URRRU5 SSS5 UR5nUR!U["R$5 UR'SURR)55 g!,(df   N�=f!,(df   Nz=f)Nr�r�r)r�r�r�r.rzrr�r�r�r�r�r7r�r�r��	exceptionrprr�rqr�)r1r�r�r�r{r�s      r�&test_sock_sendfile_os_error_first_call�MSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_os_error_first_calles����l�l�n������!�!�#���i�i�%�%�'��
�Z�Z�
�7�9�
=��I�I�0�0��d�D�12�D�#�d�i�i�.�!�
M�>��
�
�x�
(��I�I���'�'��-�)��m�m�o�����c�7�#D�#D�E�����D�I�I�N�N�,�-�>�
=��)�
(�s�$5D?�6&E�?
E
�
Ec���UR5upURR5nURR	5n[5n[R"SUS9 URRXAR5XSS[UR5S5 SSS5 UR[5 URRRU5 SSS5 UR5nUR!Xe5 UR#SURR%55 g!,(df   N�=f!,(df   Nk=f�Nr�r�i�)r�r�r�r.rzr�rr�r�r�r�r7r�r�r�r��assertIsrqr��r1r�r�r�r{�errr�s       r�%test_sock_sendfile_os_error_next_call�LSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_os_error_next_callss����l�l�n������!�!�#���i�i�%�%�'���i��
�Z�Z�
�3�
7��I�I�0�0��k�k�m�15�15�t�S����^�15�
7�8�
�
�
�x�
(��I�I���'�'��-�)��m�m�o���
�
�c������t�y�y�~�~�/�0�8�
7��
)�
(�s�&AD?�&E�?
E
�
Ec���UR5upURR5nURR	5n[
R"5n[R"SUS9 URRXAR5XSS[UR5S5 SSS5 UR[5 URRRU5 SSS5 UR!5nUR#Xe5 UR%SURR'55 g!,(df   N�=f!,(df   Nk=fr�)r�r�r�r.rzrr�rr�r�r�r�r7r�r�r�r�r�rqr�r�s       r�test_sock_sendfile_exception�CSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_exception�s����l�l�n������!�!�#���i�i�%�%�'���/�/�1��
�Z�Z�
�3�
7��I�I�0�0��k�k�m�15�15�t�S����^�15�
7�8�
�
�
�x�
(��I�I���'�'��-�)��m�m�o���
�
�c������t�y�y�~�~�/�0�8�
7��
)�
(�s�1AE
�&E�

E�
E))r�r.)T)r~rr�r�r�r�Protocolr��classmethodr�r�r,r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�s@rrqrq�s������$�D��'�"�"��2����
� �� ���2��,.�.�.�.�.�.�@�.�1�"1�1rrqc�6^�\rSrSrU4SjrSSjrSr\R"S5S5r	\R"S5S5r
\R"S5S5r\R"S	5\R"S5S
55r\R"S5S5r
\R"S5S5r\R"S5S
5r\R"S5S5r\R"S5S5rSrSrSrSrSrSrSrU=r$)�UnixReadPipeTransportTestsi�c�>�[TU]5 UR5Ul[R
"[R5Ul[R"[RS9Ul
SURRl[R "S5nUR#5 UR%UR&5 [R "S5nUR#5n[R"5n[(R*UlXClUR%UR&5 g�N)�spec_set�zos.set_blockingzos.fstat)r+r,�
new_test_loopr.r��make_test_protocolrr��protocolrrGr��	RawIOBase�piper�r�r��startrc�stop�stat�S_IFIFO�st_mode�r1�blocking_patcher�
fstat_patcher�m_fstat�str2s     �rr,� UnixReadPipeTransportTests.setUp�s����
��
���&�&�(��	�"�5�5�g�6F�6F�G��
��I�I�r�|�|�4��	�()��	�	���%��:�:�&7�8����� ����(�-�-�.��
�
�:�.�
��%�%�'��
�Y�Y�[���\�\��
�!�����
�*�*�+rc��[R"URURURUS9nUR[U5 U$�N��waiter)r�_UnixReadPipeTransportr.rrrcr%�r1rr$s   r�read_pipe_transport�.UnixReadPipeTransportTests.read_pipe_transport�s@���6�6�t�y�y�$�)�)�7;�}�}�>D�F�	�	
���,�i�8��rc�`�URR5nURUS9nURRU5 URR
R
U5 URRSUR5 URUR55 g�Nrr)r.rzrr�rr�rK�
assert_reader�_read_ready�assertIsNone�result�r1r�trs   r�	test_ctor�$UnixReadPipeTransportTests.test_ctor�s}�����(�(�*��
�
%�
%�V�
%�
4���	�	�$�$�V�,��
�
�%�%�8�8��<��	�	����2�>�>�2����&�-�-�/�*rzos.readc���UR5nSUlUR5 URSUR5 UR
RRS5 g�N�datar)rr�rrK�max_sizerr��r1�m_readr s   r�test__read_ready�+UnixReadPipeTransportTests.test__read_ready�sN��
�
%�
%�
'��%���
�����!�!�!�R�[�[�1��
�
�#�#�6�6�w�?rc��UR5nSUlUR5 URSUR5 URURR5 [R"UR5 URRR5 URRRS5 g)Nrr)
rr�rrKr&r�r.�readersr��run_brieflyr�eof_receivedr�r's   r�test__read_ready_eof�/UnixReadPipeTransportTests.test__read_ready_eof�s���
�
%�
%�
'��!���
�����!�!�!�R�[�[�1�������*�*�+����t�y�y�)��
�
�"�"�5�5�7��
�
�%�%�8�8��>rc�0�UR5n[UlUR5 UR	SUR
5 [R"UR5 URURRR5 g�Nr)
rr�rWrrKr&r�r-r.r�rr�r�r's   r�test__read_ready_blocked�3UnixReadPipeTransportTests.test__read_ready_blocked�sf��
�
%�
%�
'��,���
�����!�!�!�R�[�[�1����t�y�y�)�������4�4�;�;�<r�asyncio.log.logger.errorc�l�UR5n[5nXAl[R"5UlUR
5 URSUR5 UR
RU5 UR[R"S5[[[4S9 g)Nrz;Fatal read error on pipe transport
protocol:.*
transport:.*)�exc_info)rr�rWrrG�_closerrKr&r��MockPattern�MOCK_ANY)r1r(�m_logexcr r�s     r�test__read_ready_error�1UnixReadPipeTransportTests.test__read_ready_error�s����
%�
%�
'���i�� ���I�I�K��	�
�����!�!�!�R�[�[�1�
�	�	�$�$�S�)��#�#��"�"�.�
/��x��2�		$�	4rc���UR5n[R"5nURR	SU5 UR5 UR
URR5 gr2)rrrGr.�
add_reader�
pause_readingr�r,)r1r(r �ms    r�test_pause_reading�-UnixReadPipeTransportTests.test_pause_reading�sS��
�
%�
%�
'���I�I�K���	�	���Q��"�
����������*�*�+rc��UR5nUR5 UR5 URR	SUR
5 gr2)rr@�resume_readingr.rrr's   r�test_resume_reading�.UnixReadPipeTransportTests.test_resume_reading�s@��
�
%�
%�
'��
����
�����	�	����2�>�>�2rc��UR5n[R"5UlUR	5 URRS5 gr)rrrGr8r#rKr's   rr��%UnixReadPipeTransportTests.test_close�s8��
�
%�
%�
'���I�I�K��	�
���
�
�	�	�$�$�T�*rc���UR5nSUl[R"5UlUR5 UR
URR5 grQ)r�_closingrrGr8r#r�r�r's   r�test_close_already_closing�5UnixReadPipeTransportTests.test_close_already_closingsE��
�
%�
%�
'������I�I�K��	�
���
�������)�)�*rc�l�UR5n[5nURU5 URUR	55 URURR5 [R"UR5 URRRU5 gr)
rr�r8r��
is_closingr�r.r,r�r-rr�rK)r1r(r r�s    r�test__close�&UnixReadPipeTransportTests.test__closesv��
�
%�
%�
'���h��
�	�	�#������
�
��(�������*�*�+����t�y�y�)��
�
�%�%�8�8��=rc��UR5nURUR5 URUR5 SnUR	U5 UR
RRU5 URRR5 URUR5 URUR5 gr)rr��	_protocol�_loop�_call_connection_lostrr�rKrr#r�r1r r�s   r�test__call_connection_lost�5UnixReadPipeTransportTests.test__call_connection_losts���
�
%�
%�
'�����R�\�\�*����R�X�X�&���
� � ��%��
�
�%�%�8�8��=��	�	���*�*�,����"�,�,�'����"�(�(�#rc���UR5nURUR5 URUR5 [	5nURU5 URRRU5 URRR5 URUR5 URUR5 gr)rr�rSrTr�rUrr�rKrr#rrVs   r�#test__call_connection_lost_with_err�>UnixReadPipeTransportTests.test__call_connection_lost_with_errs���
�
%�
%�
'�����R�\�\�*����R�X�X�&��i��
� � ��%��
�
�%�%�8�8��=��	�	���*�*�,����"�,�,�'����"�(�(�#rc���UR5nUR5 [R"UR5 URUR5 UR5 gr)rr#r�r-r.rrTr@�r1r s  r�!test_pause_reading_on_closed_pipe�<UnixReadPipeTransportTests.test_pause_reading_on_closed_pipe,sI��
�
%�
%�
'��
���
����t�y�y�)����"�(�(�#�
���rc�d�UR5nUR5 UR5 gr)rr@r]s  r�!test_pause_reading_on_paused_pipe�<UnixReadPipeTransportTests.test_pause_reading_on_paused_pipe3s(��
�
%�
%�
'��
����
���rc���UR5nUR5 [R"UR5 URUR5 UR5 gr)rr#r�r-r.rrTrEr]s  r�"test_resume_reading_on_closed_pipe�=UnixReadPipeTransportTests.test_resume_reading_on_closed_pipe9sI��
�
%�
%�
'��
���
����t�y�y�)����"�(�(�#�
���rc�D�UR5nUR5 gr)rrEr]s  r�"test_resume_reading_on_paused_pipe�=UnixReadPipeTransportTests.test_resume_reading_on_paused_pipe@s��
�
%�
%�
'��	���r�r.rrr)r~rr�r�r,rr!rr�r)r/r3r<rBrFr�rLrPrWrZr^rardrgr�r�r�s@rr�r��sN���,�$�+�
�Z�Z�	��@��@�
�Z�Z�	��	?��	?�
�Z�Z�	��=��=�
�Z�Z�*�+�	�Z�Z�	��
4��,�
4�
�Z�Z�	��,��,�
�Z�Z�	��3��3�
�Z�Z�	��+��+�
�Z�Z�	��+��+�
�Z�Z�	��>��>�$�$�����rr�c�\^�\rSrSrU4SjrSSjrSrSr\R"S5S5r
\R"S5S5r\R"S5S	5r\R"S5S
5r
\R"S5S5r\R"S5\R"S5S
55r\R"S5S5rSr\R"S5S5r\R"S5S5r\R"S5S5r\R"S5S5r\R"S5\R"S5S55r\R"S5S5r\R"S5S5rSrSrSrSrSrSrSrU=r $) �UnixWritePipeTransportTestsiGc�>�[TU]5 UR5Ul[R
"[R5Ul[R"[RS9Ul
SURRl[R "S5nUR#5 UR%UR&5 [R "S5nUR#5n[R"5n[(R*UlXClUR%UR&5 gr�)r+r,rr.r�rr�BaseProtocolrrrGr�rrr�r�r�rrcrr�S_IFSOCKr
rs     �rr,�!UnixWritePipeTransportTests.setUpIs����
��
���&�&�(��	�"�5�5�g�6J�6J�K��
��I�I�r�|�|�4��	�()��	�	���%��:�:�&7�8����� ����(�-�-�.��
�
�:�.�
��%�%�'��
�Y�Y�[���]�]��
�!�����
�*�*�+rc��[R"URURURUS9nUR[U5 U$r)r�_UnixWritePipeTransportr.rrrcr%rs   r�write_pipe_transport�0UnixWritePipeTransportTests.write_pipe_transport[s@���7�7��	�	�4�9�9�8<�
�
�?E�G�	�	
���,�i�8��rc�b�URR5nURUS9nURRU5 URR
R
U5 URRSUR5 URSUR55 gr)r.rzrrr�rr�rKrrrqrrs   rr!�%UnixWritePipeTransportTests.test_ctorbs�����(�(�*��
�
&�
&�f�
&�
5���	�	�$�$�V�,��
�
�%�%�8�8��<��	�	����2�>�>�2�����v�}�}��/rc�b�UR5nURUR55 gr)rrr��
can_write_eofr]s  r�test_can_write_eof�.UnixWritePipeTransportTests.test_can_write_eofks%��
�
&�
&�
(������(�(�*�+rzos.writec�
�UR5nSUlURS5 URSS5 UR	UR
R5 UR[5UR5 g)N�r%r)
rrr�r�rKr�r.�writersrqrx�_buffer�r1�m_writer s   r�
test_write�&UnixWritePipeTransportTests.test_writeosb��
�
&�
&�
(�� ���
������"�"�1�g�.�������*�*�+������b�j�j�1rc��UR5nURS5 URUR5 URURR
5 UR
[S5UR5 g)Nr)	rrr�r�r�r.r|rqrxr}r~s   r�test_write_no_data�.UnixWritePipeTransportTests.test_write_no_dataxs]��
�
&�
&�
(��
����
�������(�������*�*�+�����3�����4rc���UR5nSUlURS5 URR	SUR
5 UR
[S5UR5 g)Nr�r%r�ta)	rrr�r�r.�
assert_writer�_write_readyrqrxr}r~s   r�test_write_partial�.UnixWritePipeTransportTests.test_write_partial�sU��
�
&�
&�
(�� ���
������	�	����2�?�?�3�����5�)�2�:�:�6rc�~�UR5nURRSUR5 [	S5UlUR
S5 URUR5 URRSUR5 UR[	S5UR
5 g)Nrspreviousr%spreviousdata)rrr.�
add_writerr�rxr}r�r�r�r�rqr~s   r�test_write_buffer�-UnixWritePipeTransportTests.test_write_buffer�s���
�
&�
&�
(���	�	���Q����0��{�+��
�
�����������(��	�	����2�?�?�3�����?�3�R�Z�Z�@rc�0�UR5n[5UlURS5 UR	S[S55 URRSUR5 UR[S5UR5 gr$)rrr�rWr�rKrxr.r�r�rqr}r~s   r�test_write_again�,UnixWritePipeTransportTests.test_write_again�sm��
�
&�
&�
(��-�/���
������"�"�1�i��&8�9��	�	����2�?�?�3�����7�+�R�Z�Z�8rzasyncio.unix_events.loggerc��UR5n[5nXAl[R"5UlUR
S5 URSS5 URURR5 UR[5UR5 UR
RUS5 URSUR5 UR
S5 URSUR5 UR
S5 UR
S5 UR
S5 UR
S5 URRS5 UR!5 g)Nr%rz#Fatal write error on pipe transportrr�z=pipe closed by peer or os.write(pipe, data) raised exception.)rrr�rWrrG�_fatal_errorr�rKr�r.r|rqrxr}�
_conn_lost�warningr#)r1r�m_logr r�s     r�test_write_err�*UnixWritePipeTransportTests.test_write_err�s���
&�
&�
(���i��!���)�)�+���
������"�"�1�g�.�������*�*�+������b�j�j�1�
���*�*��A�	C�	
����B�M�M�*�
���������B�M�M�*�
�����
�����
�����
�����
�
�
�(�(�K�	M�
���
rc��UR5nUR5 URS5 URURS5 URS5 URURS5 g)Nr%rr�)rrrr�rqr�r~s   r�test_write_close�,UnixWritePipeTransportTests.test_write_close�sZ��
�
&�
&�
(��
����
������������*�
������������*rc��UR5nUR5 URURR5 URURR
5 UR
UR55 [R"UR5 URRRS5 gr)
rrrr�r.r,r|r�rOr�r-rr�rKr]s  rr)�,UnixWritePipeTransportTests.test__read_ready�s���
�
&�
&�
(��
����������*�*�+�������*�*�+�����
�
��(����t�y�y�)��
�
�%�%�8�8��>rc�P�UR5nURRSUR5 [	S5UlSUlUR5 URURR5 UR[	5UR
5 g)Nrr%r{)
rrr.r�r�rxr}r�r�r|rqr~s   r�test__write_ready�-UnixWritePipeTransportTests.test__write_ready�st��
�
&�
&�
(���	�	���Q����0��w�'��
� ���
����������*�*�+������b�j�j�1rc�T�UR5nURRSUR5 [	S5UlSUlUR5 URRSUR5 UR[	S5UR
5 g)Nrr%��a)	rrr.r�r�rxr}r�r�rqr~s   r�test__write_ready_partial�5UnixWritePipeTransportTests.test__write_ready_partial�sv��
�
&�
&�
(���	�	���Q����0��w�'��
� ���
�����	�	����2�?�?�3�����4��"�*�*�5rc��UR5nURRSUR5 [	S5Ul[
5UlUR5 URS[	S55 URRSUR5 UR[	S5UR
5 g)Nrr%)rrr.r�r�rxr}r�rWrKr�rqr~s   r�test__write_ready_again�3UnixWritePipeTransportTests.test__write_ready_again�s���
�
&�
&�
(���	�	���Q����0��w�'��
�-�/���
�����"�"�1�i��&8�9��	�	����2�?�?�3�����7�+�R�Z�Z�8rc��UR5nURRSUR5 [	S5UlSUlUR5 URS[	S55 URRSUR5 UR[	S5UR
5 g)Nrr%r)
rrr.r�r�rxr}r�rKr�rqr~s   r�test__write_ready_empty�3UnixWritePipeTransportTests.test__write_ready_empty�s���
�
&�
&�
(���	�	���Q����0��w�'��
� ���
�����"�"�1�i��&8�9��	�	����2�?�?�3�����7�+�R�Z�Z�8rr5c���UR5nURRSUR5 [	S5Ul[
5=UlnUR5 URURR5 URURR5 UR[	5UR
5 URUR55 UR5 URSUR5 [ R""UR5 UR$R&R)U5 g)Nrr%r)rrr.r�r�rxr}r�rWr�r|r,rqr�rO�assert_not_calledr�r�r-rr�rK)r1rr;r r�s     r�test__write_ready_err�1UnixWritePipeTransportTests.test__write_ready_err�s����
&�
&�
(���	�	���Q����0��w�'��
�$+�I�-���c�
����������*�*�+�������*�*�+������b�j�j�1�����
�
��(��"�"�$�����B�M�M�*����t�y�y�)��
�
�%�%�8�8��=rc�:�UR5nURRSUR5 SUl[S5UlSUlUR5 URURR5 URURR5 UR[5UR5 URRRS5 URR R5 g)NrTr%r{)rrr.r�r�rKrxr}r�r�r|r,rqrr�rKrr#r~s   r�test__write_ready_closing�5UnixWritePipeTransportTests.test__write_ready_closings���
�
&�
&�
(���	�	���Q����0�����w�'��
� ���
����������*�*�+�������*�*�+������b�j�j�1��
�
�%�%�8�8��>��	�	���*�*�,rc��UR5nURRSUR5 URR	SUR
5 SS/UlUR5 URUR5 URURR5 URURR5 UR/UR5 URUR55 [R "UR5 UR"R$R'S5 g)Nrsdar�)rrr.r�r�r?rr}�abortr�r�r,r|rqr�rOr�r-rr�rKr~s   r�
test_abort�&UnixWritePipeTransportTests.test_aborts���
�
&�
&�
(���	�	���Q����0��	�	���Q����/��U�^��
�
���
�������(�������*�*�+�������*�*�+�����R�Z�Z�(�����
�
��(����t�y�y�)��
�
�%�%�8�8��>rc��UR5nURUR5 URUR5 SnUR	U5 UR
RRU5 URRR5 URUR5 URUR5 gr)rrr�rSrTrUrr�rKrr#rrVs   rrW�6UnixWritePipeTransportTests.test__call_connection_lost!s���
�
&�
&�
(�����R�\�\�*����R�X�X�&���
� � ��%��
�
�%�%�8�8��=��	�	���*�*�,����"�,�,�'����"�(�(�#rc���UR5nURUR5 URUR5 [	5nURU5 URRRU5 URRR5 URUR5 URUR5 gr)rrr�rSrTr�rUrr�rKrr#rrVs   rrZ�?UnixWritePipeTransportTests.test__call_connection_lost_with_err.s���
�
&�
&�
(�����R�\�\�*����R�X�X�&��i��
� � ��%��
�
�%�%�8�8��=��	�	���*�*�,����"�,�,�'����"�(�(�#rc���UR5n[R"5UlUR	5 URR5 UR	5 gr)rrrrG�	write_eofr#rKr]s  rr��&UnixWritePipeTransportTests.test_close;sA��
�
&�
&�
(���y�y�{���
���
�
���'�'�)�	���
rc���UR5n[R"5UlSUlUR5 UR
URR5 grQ)rrrrGr�rKr#r�r�r]s  r�test_close_closing�.UnixWritePipeTransportTests.test_close_closingDsE��
�
&�
&�
(���y�y�{������
���
�������,�,�-rc�V�UR5nUR5 URUR55 UR	UR
R5 [R"UR
5 URRRS5 gr)rrr�r�rOr�r.r,r�r-rr�rKr]s  r�test_write_eof�*UnixWritePipeTransportTests.test_write_eofKsm��
�
&�
&�
(��
��������
�
��(�������*�*�+����t�y�y�)��
�
�%�%�8�8��>rc���UR5nS/UlUR5 URUR	55 URURRR5 g)Nr%)	rrr}r�r�rOr�rr�r�r]s  r�test_write_eof_pending�2UnixWritePipeTransportTests.test_write_eof_pendingSsR��
�
&�
&�
(���Y��
�
��������
�
��(�������6�6�=�=�>rrir)!r~rr�r�r,rrr!rxrr�r�r�r�r�r�r�r�r)r�r�r�r�r�r�r�rWrZr�r�r�r�r�r�r�s@rrkrkGs����,�$�0�,�
�Z�Z�
��2��2�
�Z�Z�
��5��5�
�Z�Z�
��7��7�
�Z�Z�
��A��A�
�Z�Z�
��9��9�
�Z�Z�,�-�	�Z�Z�
����.��2
�Z�Z�
��+��+�?�
�Z�Z�
��2��2�
�Z�Z�
��6��6�
�Z�Z�
��9��9�
�Z�Z�
��9��9�
�Z�Z�*�+�	�Z�Z�
��
>��,�
>�
�Z�Z�
��-��-�
�Z�Z�
��?��?�$�$��.�?�?�?rrkc� �\rSrSrSrSrSrg)�AbstractChildWatcherTestsi[c��UR[5 "SS[R5nSSS5 g!,(df   g=f)Nc��\rSrSrSrg)�FAbstractChildWatcherTests.test_warns_on_subclassing.<locals>.MyWatcheri_rN)r~rr�r�r�rrr�	MyWatcherr�_s��rr�)�assertWarns�DeprecationWarningr�AbstractChildWatcher)r1r�s  r�test_warns_on_subclassing�3AbstractChildWatcherTests.test_warns_on_subclassing]s/��
�
�
�0�
1�
�G�8�8�
�2�
1�
1�s	�9�
Ac�"�[R"5n[R"5nUR	[
URX5 UR	[
URU5 UR	[
URU5 UR	[
UR5 UR	[
UR5 UR	[
UR5 UR	[
URXU5 gr)
rrGrr�r7�NotImplementedError�add_child_handler�remove_child_handler�attach_loopr#�	is_active�	__enter__�__exit__�r1r��watchers   r�test_not_implemented�.AbstractChildWatcherTests.test_not_implementedbs����I�I�K���.�.�0�������!:�!:�A�	B������!=�!=�q�	B������!4�!4�a�	9��������	0������!2�!2�	4������!2�!2�	4������!1�!1�1��	<rrN)r~rr�r�r�r�r�rrrr�r�[s���
<rr�c��\rSrSrSrSrg)�BaseChildWatcherTestsiuc��[R"5n[R"5nUR	[
URU5 gr)rrGr�BaseChildWatcherr7r��_do_waitpidr�s   rr��*BaseChildWatcherTests.test_not_implementedws6���I�I�K���.�.�0�������!4�!4�a�	9rrN)r~rr�r�r�r�rrrr�r�us��9rr�c�r^�\rSrSr\R
R
\RS5r	U4Sjr
SrSrSr
SrSr\S	5r\S
5r\S5r\S5r\S
5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S5rSrU=r$)�ChildWatcherTestsMixini~r�c�n>�[TU]5 UR5UlSUl0Ul[RRURS5Ul	UR5UlURRUR5 SSS5 g!,(df   g=f)NFrY)
r+r,rr.�running�zombiesrr�r��m_add_signal_handler�create_watcherr�r�r0s �rr,�ChildWatcherTestsMixin.setUp�s����
��
���&�&�(��	�������
�Z�Z�
�
��	�	�/�1�48�4M��.�.�0�D�L��L�L�$�$�T�Y�Y�/�1�1�1�s
�AB&�&
B4c�V�[UR[R5(dUS:waUR	US5 US:aUR
R
5$XR
RU54$![a Of=fUR(ag[5e)Nrxr)rr)�
isinstancer�r�SafeChildWatcher�
assertGreaterr��popitem�popr�r��ChildProcessError)r1�pid�flagss   r�waitpid�ChildWatcherTestsMixin.waitpid�s����d�l�l�G�$<�$<�=�=�������s�A�&�	��Q�w��|�|�+�+�-�-��L�L�,�,�S�1�1�1���	��	���<�<��#�%�%s�A?�#A?�?
B�Bc� �X RU'gr)r�)r1r��statuss   r�
add_zombie�!ChildWatcherTestsMixin.add_zombie�s��"���S�rc�H�US:�aUS-
$SUs=:aS:a	US-
$ U$U$)Nri�r)r1r�s  r�waitstatus_to_exitcode�-ChildWatcherTestsMixin.waitstatus_to_exitcode�s:���E�>��E�>�!�
�V�
#�e�
#��E�>�!�$��M�6�Mrc��URR[RURR
5 gr)r�r�r;r�r��	_sig_chldr=s r�test_create_watcher�*ChildWatcherTestsMixin.test_create_watcher�s)���!�!�9�9��N�N�D�L�L�2�2�	4rc�^�U4SjnU$)Nc��>�SnU"SUR5 U"SUR5nT"X5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc�H�[R"X[RS9$)N)�wraps�new_callable)rr�rG)�target�wrappers  rr��IChildWatcherTestsMixin.waitpid_mocks.<locals>.wrapped_func.<locals>.patch�s���z�z�&�/3�y�y�:�:rz*asyncio.unix_events.waitstatus_to_exitcodez
os.waitpid)r�r�)r1r��	m_waitpidrgs   �r�wrapped_func�:ChildWatcherTestsMixin.waitpid_mocks.<locals>.wrapped_func�sR���
:��C�T�E`�E`�a��|�T�\�\�2�i��T�%�3�b�a�2�2��b�a�s!�A�	A�A�
A	�A�
A%r)rgrs` r�
waitpid_mocks�$ChildWatcherTestsMixin.waitpid_mocks�s���	&��rc��[R"5nUR SUlURR	SUSSS5 SSS5 URUR5 URR5 URUR5 SUlURS[S55 URR5 URSSSSS5 UR5 URS[S55 UR URR5 SSS5 URUR5 URR5 URR5 URUR5 g!,(df   GNu=f!,(df   N�=f)	NT�*�	�
�F��
)rrGr�r�r�r�r�r�r�rr�r��ignore_warningsr��clear�r1r
�callbacks   r�test_sigchld�#ChildWatcherTestsMixin.test_sigchld�sL���9�9�;��
�\�\��D�L��L�L�*�*�2�x��B��C��	
������)�	
����� �������)��������H�R�L�)������ ��(�(��R��B��;�����	
����H�R�L�)�
�
!�
!��L�L�"�"�$�"�	
������)�	
����������� �������)�?�\��,"�
!�s�'F7�)G	�7
G�	
Gc��[R"5n[R"5nUR SUlURR	SUSS5 SSS5 URUR5 URUR5 UR URR	SUSS5 SSS5 URUR5 URUR5 URR5 URUR5 URUR5 URS[S55 URR5 URSS	SS5 URUR5 UR5 URR5 URUR5 URUR5 URS[S
55 SUlURR5 URSS
SS5 URUR5 UR5 URS[S55 URS[S
55 UR URR5 SSS5 URUR5 URUR5 URR5 URR5 URUR5 URUR5 g!,(df   GNC=f!,(df   GN�=f!,(df   N�=f)NT�+���,��r�����lFr�)rrGr�r�r�r�r�r�r�r r�r�rrr�r�r1r
�	callback1�	callback2s    r�test_sigchld_two_children�0ChildWatcherTestsMixin.test_sigchld_two_children�s����I�I�K�	��I�I�K�	��\�\��D�L��L�L�*�*�2�y�!�Q�?��	
����)�)�*�����)�)�*��\�\��L�L�*�*�2�y�#�r�B��	
����)�)�*�����)�)�*�	
����� �����)�)�*�����)�)�*�	
����F�1�I�&������ ��)�)�"�b�!�Q�7�����)�)�*�����	
����� �����)�)�*�����)�)�*�	
����H�S�M�*��������� ��)�)�"�c�3��;�����)�)�*�����	
����H�R�L�)�����H�R�L�)�
�
!�
!��L�L�"�"�$�"�	
����)�)�*�����)�)�*�	
����������� �����)�)�*�����)�)�*�w�\���\��P"�
!�s#�&N�'N+�N=�
N(�+
N:�=
Oc��[R"5n[R"5nUR SUlURR	SUSS5 SSS5 URUR5 URUR5 UR URR	SUSS5 SSS5 URUR5 URUR5 URR5 URUR5 URUR5 URS[S55 URS[S	55 S
UlURR5 URSSSS5 URSSSS5 UR5 UR5 URS[S55 URS[S
55 UR URR5 SSS5 URUR5 URUR5 g!,(df   GN9=f!,(df   GN�=f!,(df   Ni=f)NT�-�r�.i{r"�NrF���rr%)rrGr�r�r�r�r�r�r�rr r�r�rr&s    r�.test_sigchld_two_children_terminating_together�EChildWatcherTestsMixin.test_sigchld_two_children_terminating_togethers����I�I�K�	��I�I�K�	��\�\��D�L��L�L�*�*�2�y�"�a�@��	
����)�)�*�����)�)�*��\�\��L�L�*�*�2�y�$��C��	
����)�)�*�����)�)�*�	
����� �����)�)�*�����)�)�*�	
����H�R�L�)�����F�1�I�&��������� ��)�)�"�b�"�a�8��)�)�"�b�$��;���������	
����H�R�L�)�����H�R�L�)�
�
!�
!��L�L�"�"�$�"�	
����)�)�*�����)�)�*�Q�\���\��8"�
!�s#�&J�'J!�5J3�
J�!
J0�3
Kc�T�[R"5nUR URS[	S55 URR5 URR
SUSS5 SSS5 URSSSS5 UR5 URS[S55 UR URR5 SSS5 URUR5 g!,(df   N�=f!,(df   N;=f)N�2r{rr)
rrGr�r�rr�r�r�r�r rr�r�rs   r�test_sigchld_race_condition�2ChildWatcherTestsMixin.test_sigchld_race_conditionOs����9�9�;��
�\�\��O�O�B����,��L�L�"�"�$��L�L�*�*�2�x��B�?��	�(�(��Q��2�6�����	
����F�1�I�&�
�
!�
!��L�L�"�"�$�"�	
������)��\��"�
!�s�AD�	D�
D�
D'c�d�[R"5n[R"5nUR SUlURR	SUS5 SSS5 URUR5 URUR5 UR URR	SUS5 SSS5 URUR5 URUR5 SUlURS[S55 URR5 URSSS5 URUR5 UR5 URS[S55 UR URR5 SSS5 URUR5 URUR5 g!,(df   GN�=f!,(df   GNR=f!,(df   Ni=f)	NT�3��Fri����r)rrGr�r�r�r�r�r�r r�r�r�rrr&s    r�test_sigchld_replace_handler�3ChildWatcherTestsMixin.test_sigchld_replace_handleres����I�I�K�	��I�I�K�	��\�\��D�L��L�L�*�*�2�y�"�=��	
����)�)�*�����)�)�*��\�\��L�L�*�*�2�y�"�=��	
����)�)�*�����)�)�*��������F�1�I�&������ ��)�)�"�b�"�5�����)�)�*�����	
����H�R�L�)�
�
!�
!��L�L�"�"�$�"�	
����)�)�*�����)�)�*�=�\���\��$"�
!�s#�%G=�&H�#H!�=
H�
H�!
H/c�^�[R"5nUR SUlURR	SUS5 SSS5 URUR5 URRS5 URUR5 SUlURS[S55 UR URR5 SSS5 URUR5 g!,(df   N�=f!,(df   N;=f)NT�4i�F�c)rrGr�r�r�r�r�r�r�rrr�rs   r�test_sigchld_remove_handler�2ChildWatcherTestsMixin.test_sigchld_remove_handler�s����9�9�;���\�\��D�L��L�L�*�*�2�x��>��	
������)�	
���)�)�"�-�������)��������H�R�L�)�
�
!�
!��L�L�"�"�$�"�	
������)�#�\��"�
!�s�%D
�D�
D�
D,c��[R"5nUR SUlURR	SUS5 SSS5 URUR5 SURS'SUlURR5 URSSS5 UR5 URS[S55 UR URR5 SSS5 URUR5 g!,(df   N�=f!,(df   N;=f)NT�5i��i�F�e)rrGr�r�r�r�r�r�r�r�r�r�rrrs   r�test_sigchld_unknown_status�2ChildWatcherTestsMixin.test_sigchld_unknown_status�s����9�9�;���\�\��D�L��L�L�*�*�2�x��=��	
������)� ����R���������� ��(�(��T�3�7�����	
����H�S�M�*�
�
!�
!��L�L�"�"�$�"�	
������)�)�\��""�
!�s�%D#�$D4�#
D1�4
Ec��[R"5n[R"5n[R"5nUR SUlURR	SUS5 URR	SUS5 URR	SUS5 SSS5 URURR
S55 URURR
S55 URURR
S55 URURR
S55 URS[S55 URS[S55 URS[S55 S	UlUR URR5 SSS5 URUR5 URUR5 URSSS5 g!,(df   GN�=f!,(df   Nj=f)
NT�6r�7r��8r�rF)rrGr�r�r�r�r�r�r�rrr�r�r�)r1r
r'r(�	callback3s     r�test_remove_child_handler�0ChildWatcherTestsMixin.test_remove_child_handler�s����I�I�K�	��I�I�K�	��I�I�K�	��\�\��D�L��L�L�*�*�2�y�!�<��L�L�*�*�2�y�!�<��L�L�*�*�2�y�!�<�	�	
������9�9�"�=�>�	
������9�9�"�=�>�������:�:�2�>�?�������:�:�2�>�?�	
����H�Q�K�(�����H�Q�K�(�����H�Q�K�(����
�
!�
!��L�L�"�"�$�"�	
����)�)�*�����)�)�*��)�)�"�a��3�1�\��&"�
!�s�AH,�?H>�,
H;�>
Ic���[R"5nUR SUlURR	SU5 SSS5 [
Ul[RR[RS5nURURR5S5 URUR5 SSS5 g!,(df   N�=f!,(df   g=f)NT�9�error)rrGr�r�r�r:rWr�r�r�loggerrqr�r�r�)r1r
r�m_errors    r� test_sigchld_unhandled_exception�7ChildWatcherTestsMixin.test_sigchld_unhandled_exception�s����9�9�;���\�\��D�L��L�L�*�*�2�x�8��
!+�	��
�Z�Z�
�
�s�z�z�&�(�+2����T�\�\�3�3�5�t�<��O�O�G�N�N�+�	(�(��\��(�(�s�$C�AC'�
C$�'
C5c���[R"5nUR SUlURR	SU5 SSS5 URUR5 SUlURS[S55 [R"S[R5 UR5 UR URR5 SSS5 [UR[ R"5(aURUR5 gUR%SS5 g!,(df   GN=f!,(df   Nx=f)NT�:Fr{�)rrGr�r�r�r�r�r�rrOr��WNOHANGr�rr�r�r�FastChildWatcherr�rs   r�#test_sigchld_child_reaped_elsewhere�:ChildWatcherTestsMixin.test_sigchld_child_reaped_elsewhere�s����9�9�;��
�\�\��D�L��L�L�*�*�2�x�8��	
������)��������H�Q�K�(�	�
�
�2�r�z�z�"������
!�
!��L�L�"�"�$�"��d�l�l�G�$<�$<�=�=�
���X�_�_�-��,�,�R��5�1�\�� "�
!�s�$E�E�
E�
E'c�h�[R"5n[R"5nUR UR SUlURS[
S55 URS[
S55 URR5 URRSU5 URRSU5 SSS5 SSS5 URSS5 URUR5 g!,(df   ND=f!,(df   NM=f)NTiOriQr-iP)rrGrr�r�r�rr�r�r�r�r�r&s    r�,test_sigchld_unknown_pid_during_registration�CChildWatcherTestsMixin.test_sigchld_unknown_pid_during_registrations����I�I�K�	��I�I�K�	�
�
!�
!�4�<�<��D�L��O�O�C��!��-��O�O�C��"��.��L�L�"�"�$��L�L�*�*�3�	�:��L�L�*�*�3�	�:�$0�
!�	�)�)�#�q�1�����)�)�*�$0�<��
!�
!�s$�
D#�BD�D#�
D 	�D#�#
D1c�d�[R"5nUR SUlURR	SU5 SSS5 UR
nUR
5Ul[RRnU"US5nU"UR
S5nURRUR
5 UR[R5 UR[RURR5 SSS5 SSS5 SUlURS[S55 URR5 URSS5 g!,(df   GN?=f!,(df   Nw=f!,(df   N�=f)NT�<rJrYFr)rrGr�r�r�r.rr�r�r�r�r;r�r�r�r)r1r
r�old_loopr��m_old_remove�	m_new_adds       r�
test_set_loop�$ChildWatcherTestsMixin.test_set_loop%s)���9�9�;��
�\�\��D�L��L�L�*�*�2�x�8��
�9�9���&�&�(��	��
�
�!�!��
�8�4�
5��
�4�9�9�2�
3�y��L�L�$�$�T�Y�Y�/��0�0����
 ��-�-������� 6� 6�
8�
4�6��������H�Q�K�(������ ��(�(��Q�/�1�\��4�
3��6�
5�s0�$E>�F!�&A9F�F!�>
F
�
F	�F!�!
F/c�0�[R"5n[R"5n[R"5nUR SUlURR	SU5 URR	SU5 URR	SU5 SSS5 UR
nSUl[RRUS5nUR[S5 URRS5 SSS5 UR[R5 SSS5 URS[S55 URS[!S55 UR#UR$5 UR#UR$5 UR#UR$5 UR'5Ul[RRUR
S	5nURRUR
5 UR[RURR(5 URSS5 URSS
5 UR#UR$5 SSS5 UR+5 UR+5 SUlURS[S55 URR)5 UR#UR$5 UR#UR$5 URSS5 g!,(df   GN�=f!,(df   GNT=f!,(df   GN?=f!,(df   N�=f)
NTr(�>inrJzA loop is being detached�rrYr0Fr9)rrGr�r�r�r.r�r�r��RuntimeWarningr�r�r;r�r�rr r�r�rr�r�)r1r
r'r(rKra�m_remove_signal_handlerr�s        r�test_set_loop_race_condition�3ChildWatcherTestsMixin.test_set_loop_race_conditionDs����I�I�K�	��I�I�K�	��I�I�K�	�
�\�\��D�L��L�L�*�*�2�y�9��L�L�*�*�2�y�9��L�L�*�*�3�	�:�	��9�9����	�
�Z�Z�
�
��1�3�6M��&�&�"�$>�@����(�(��.�@�
$�;�;����
 �3�	
����H�R�L�)�����F�1�I�&�	
����)�)�*�����)�)�*�����)�)�*��&�&�(��	�
�Z�Z�
�
��	�	�/�1�4H��L�L�$�$�T�Y�Y�/� �8�8������� 6� 6�
8��-�-�b�"�5��-�-�b�"�5����Y�-�-�.�1�	���������������X�b�\�*������ �����)�)�*�����)�)�*��)�)�#�r�2�k�\��@�@��3�3��,1�1�s>�AM�#M5�:M#�'M5�BN�
M �#
M2	�-M5�5
N�
Nc��[R"5nUR SUlUR	S[S55 UR	S[S55 URR
5 URRSU5 URRSU5 UR[URR5S5 [UR[R5(a/UR[URR5S5 [RR!UR"S5nURR%5 UR'[(R*5 UR-URR5 [UR[R5(a%UR-URR5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)	NT�?r�Ar"�@rrJ)rrGr�r�r�rr�r�rqr��
_callbacksr�rrY�_zombiesr�r�r.r#r�r;r�r�)r1r
r'rjs    rr��!ChildWatcherTestsMixin.test_close�sx���I�I�K�	�
�\�\��D�L��O�O�B����,��O�O�B����-��L�L�"�"�$��L�L�*�*�2�y�9��L�L�*�*�2�y�9����S����!8�!8�9�1�=��$�,�,��(@�(@�A�A�� � ��T�\�\�%:�%:�!;�Q�?����"�"��I�I�+�-�0G����"�"�$�'�?�?��N�N�$�� � ����!8�!8�9��d�l�l�G�,D�,D�E�E��$�$�T�\�\�%:�%:�;�-��\�-�-���\�s%�EH2�#B-H!�H2�!
H/	�+H2�2
I)r.r�r�r�r�) r~rr�r�rr�r�rrQrr,r�r�r�rr
rr)r1r5r;r@rErLrSrZr]rdrkr�r�r�r�s@rr�r�~s[����j�j�'�'��
�
�I�>�O�	0�
&�#��4�	��#*��#*�J�@+��@+�D�-+��-+�^�*��*�*�#+��#+�J�*��*�.�*��*�4�4��4�@�,��,�"�6��6�<�+��+�(�0��0�<�;3��;3�z�<��<rr�c��\rSrSrSrSrg)�SafeChildWatcherTestsi�c���[R"5 [R"S[5 [R
"5sSSS5 $!,(df   g=f�N�ignore)�warnings�catch_warnings�simplefilterr�rr�r=s rr��$SafeChildWatcherTests.create_watcher��7��
�
$�
$�
&��!�!�(�,>�?��+�+�-�'�
&�
&���0A�
ArN�r~rr�r�r�r�rrrruru����.rruc��\rSrSrSrSrg)�FastChildWatcherTestsi�c���[R"5 [R"S[5 [R
"5sSSS5 $!,(df   g=frw)ryrzr{r�rrYr=s rr��$FastChildWatcherTests.create_watcher�r}r~rNrrrrr�r��r�rr�c�\�\rSrSrSr\R"S5S5rSrSr	Sr
Srg	)
�PolicyTestsi�c�,�[R"5$r)r�DefaultEventLoopPolicyr=s r�
create_policy�PolicyTests.create_policy�s���-�-�/�/rz!asyncio.unix_events.can_use_pidfdc���SUlUR5nURUR5 UR	[
5 UR
5nSSS5 URW[R5 URURU5 UR	[
5 URX2R
55 SSS5 SUlUR5nURUR5 UR	[
5 UR
5nSSS5 URU[R5 URURU5 UR	[
5 URX2R
55 SSS5 g!,(df   GNb=f!,(df   N�=f!,(df   N�=f!,(df   g=f)NFT)r�r�r�_watcherr�r��get_child_watcherrpr�ThreadedChildWatcherr��PidfdChildWatcher)r1�m_can_use_pidfd�policyr�s    r�test_get_default_child_watcher�*PolicyTests.test_get_default_child_watcher�sa��',��$��#�#�%�����&�/�/�*�
�
�
�0�
1��.�.�0�G�2����g�w�'C�'C�D��
�
�f�o�o�w�/�
�
�
�0�
1��M�M�'�#;�#;�#=�>�2�(,��$��#�#�%�����&�/�/�*�
�
�
�0�
1��.�.�0�G�2����g�w�'@�'@�A��
�
�f�o�o�w�/�
�
�
�0�
1��M�M�'�#;�#;�#=�>�2�
1�!2�
1��
2�
1��2�
1��
2�
1�s0�F4�2 G�!G� G(�4
G�
G�
G%�(
G6c���UR5n[R"5 [R"S[5 [
R"5nURU5 SSS5 URURW5 UR[5 URX!R55 SSS5 g!,(df   Nh=f!,(df   g=frw)r�ryrzr{r�rrY�set_child_watcherr�r�r�r�)r1r�r�s   r� test_get_child_watcher_after_set�,PolicyTests.test_get_child_watcher_after_set�s����#�#�%��
�
$�
$�
&��!�!�(�,>�?��.�.�0�G��$�$�W�-�'�
	
�
�
�f�o�o�w�/�
�
�
�0�
1��M�M�'�#;�#;�#=�>�2�
1�
'�
&��2�
1�s�AC
�! C�

C�
C)c�z^^�UU4SjnTR5m[R"5 [R"S[5 TR[R"55 SSS5 [R"US9nUR5 UR5 g!,(df   NC=f)Nc�>�TRTR55 TRTR5[R
5 [R"5 [R"S[5 TR5nSSS5 TRW[R5 TRUR5 TR5R5 g!,(df   Nh=frw)r/r�rp�get_event_loopr�AbstractEventLoopryrzr{r�r�r�rrTr#)r�r�r1s ��rr��4PolicyTests.test_get_child_watcher_thread.<locals>.f�s�����!�!�&�"7�"7�"9�:��!�!�&�"7�"7�"9�")�";�";�
=��(�(�*��%�%�h�0B�C� �2�2�4��+�
�!�!�'�7�+C�+C�D����g�m�m�,��!�!�#�)�)�+�+�*�s�$,C2�2
Drx�r)r�ryrzr{r�r�rr��	threading�Threadr�join)r1r��thr�s`  @r�test_get_child_watcher_thread�)PolicyTests.test_get_child_watcher_thread�s~���	,��#�#�%��
�
$�
$�
&��!�!�(�,>�?��$�$�W�%=�%=�%?�@�'��
�
�Q�
'��
���
�
���	�
'�
&�s�AB,�,
B:c��UR5nUR5nURU5 [R"5 [R
"S[5 [R"5nURU5 SSS5 WRU5 URURU5 UR5nURU5 URURU5 URS5 URURS5 UR5 UR5 g!,(df   N�=frw)r�r�r/ryrzr{r�rr�r�r�r�rTr#)r1r�r.r��new_loops     r�,test_child_watcher_replace_mainloop_existing�8PolicyTests.test_child_watcher_replace_mainloop_existing�s����#�#�%���$�$�&�����d�#��
$�
$�
&��!�!�(�,>�?��.�.�0�G��$�$�W�-�'�	���D�!��
�
�g�m�m�T�*��(�(�*�����h�'��
�
�g�m�m�X�.����d�#��
�
�g�m�m�T�*��
�
������%'�
&�s
�AE	�	
ErN)r~rr�r�r�rr�r�r�r�r�r�rrrr�r��s4��0�
�Z�Z�3�4�?�5�?�.	?��2rr�c�,�\rSrSrSrSrSrSrSrg)�TestFunctionalic�x�[R"5Ul[R"UR5 gr)rr�r.r/r=s rr,�TestFunctional.setUps$���*�*�,��	����t�y�y�)rc�d�URR5 [R"S5 gr)r.r#rr/r=s r�tearDown�TestFunctional.tearDowns���	�	�������t�$rc�<^�U4SjnSnU"5 TRR[5U5 SSS5 U"5 TRR[5U5 SSS5 U"5 TRR	[55 SSS5 U"5 TRR[55 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nd=f!,(df   g=f)Nc�0>�TR[S5$)NzInvalid file object)rdr:r=s�r�
assert_raises�FTestFunctional.test_add_reader_invalid_argument.<locals>.assert_raisess����)�)�*�6L�M�Mrc��grrrrrrR�ATestFunctional.test_add_reader_invalid_argument.<locals>.<lambda>rmr)r.r?r�r��
remove_reader�
remove_writer)r1r�rss`  r� test_add_reader_invalid_argument�/TestFunctional.test_add_reader_invalid_arguments����	N���
�_��I�I� � ���2�.��
�_��I�I� � ���2�.���_��I�I�#�#�F�H�-��
�_��I�I�#�#�F�H�-��_��_��
�_���_��
�_�s/�%C�%C+�:$C<�-$D
�
C(�+
C9�<
D
�
Dc�"^^^�U4SjmUUU4Sjn[R"5umnTRRU"55 TR	5 UR	5 g!TR	5 UR	5 f=f)Nc�0>�TR[S5$)Nz'File descriptor .* is used by transport)rdrXr=s�rr��LTestFunctional.test_add_reader_or_writer_transport_fd.<locals>.assert_raises)s����)�)��:�<�
<rc���># �TRRSTS9IShv�NupSnT"5 TRRTU5 SSS5 T"5 TRRTR5U5 SSS5 T"5 TRR	T5 SSS5 T"5 TRR	TR55 SSS5 T"5 TRRTU5 SSS5 T"5 TRRTR5U5 SSS5 T"5 TRR
T5 SSS5 T"5 TRR
TR55 SSS5 UR5 gGN�!,(df   GN�=f!,(df   GNc=f!,(df   GNJ=f!,(df   GN#=f!,(df   GN	=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!UR5 f=f7f)Nc�,�[R"5$r)rr�rrrrR�WTestFunctional.test_add_reader_or_writer_transport_fd.<locals>.runner.<locals>.<lambda>0s
���(�(�*rr@c��grrrrrrRr�3s��Tr)r.�create_connectionr?r�r�r�r�r#)r �prrsr��rsockr1s   ���r�runner�ETestFunctional.test_add_reader_or_writer_transport_fd.<locals>.runner.s������9�9�6�6�*��7�8�8�F�B�
�!��"�_��I�I�(�(���3�%�"�_��I�I�(�(������<�%�#�_��I�I�+�+�E�2�%�"�_��I�I�+�+�E�L�L�N�;�%�#�_��I�I�(�(���3�%�"�_��I�I�(�(������<�%�#�_��I�I�+�+�E�2�%�"�_��I�I�+�+�E�L�L�N�;�%����
�78�%�_��$�_��%�_��$�_��%�_��$�_��%�_��$�_�����
�s��I7�G�I7�
I"�G�I"� +G'�I"�G9�6I"�*H�/I"�>H�I"�*+H/�I"�$I�I"�*I�9I"�I7�
G$�I"�'
G6�1I"�9
H�I"�
H�I"�
H,�'I"�/
H=�9I"�
I�
I"�
I�I"�"I4�4I7)r��
socketpairr.r�r#)r1r��wsockr�r�s`  @@r�&test_add_reader_or_writer_transport_fd�5TestFunctional.test_add_reader_or_writer_transport_fd(sb���	<�
	�<�(�(�*���u�	��I�I�(�(���2��K�K�M��K�K�M��
�K�K�M��K�K�M�s� A,�,"BrEN)	r~rr�r�r,r�r�r�r�rrrr�r�s��*�%�.� )rr�c�"�\rSrSrSr\R"S5\R"SSS9S55r	\R"S5\R"SSS9S55r
\R"S5\R"SSS9S	55rS
rg)�TestForkiTc	��(# �[R"5n[R"5up#UR	[R
U5 UR	[R
U5 [R"5nUS:Xa�UR[5 [R"5R5nSSS5 [R"US[[U55R5-5 [R$"S5 g[R&"US5nUR)USSSU5 UR+[-USS5[U55 [/USS9 g!,(df   N�=f![a [R"US5 N�[ a;n[R"US[#U5R5-5 SnAN�SnAff=f![R$"S5 f=f7f)NrsLOOP:sNO LOOPsERROR:�drr)r�get_running_looprOrrcr#�forkr�r��get_event_loop_policyr�r��str�id�encoderX�
BaseException�ascii�_exit�readrq�assertNotEqual�intr)r1r.�r�wr��ers       r�test_fork_not_share_event_loop�'TestFork.test_fork_not_share_event_loopWsf����'�'�)���w�w�y���������!�$�������!�$��g�g�i���!�8�	
��%�%�&8�9�"�8�8�:�I�I�K�D�:�����H�s�2�d�8�}�';�';�'=�=�>�������W�W�Q��_�F����V�B�Q�Z��6�:�����F�1�2�J���D��:���q�)�:�9�� �
(�����J�'� �
;�����I��a����(9�9�:�:��
;�������sb�BH�F
� $E<�AF
�A6H�<
F
�F
�
!G4�.G7�0	G4�91G/�*G7�/G4�4G7�7H�H�md5z'TSAN doesn't support threads after forkT)�threadc�*^^^^^^�TR[5 [R"S5mTR	5nTRUR
5 UR
5mUR
5mUR
5mUU4SjmUUUUU4Sjn[R"U"55 TR[RS9 TRTR55 TRTR55 g)Nr�c�>�U4Sjn[R"[RU5 TR5 [R"S5 M)Nc�P>�TR5 [R"5 gr)�set�sys�exit)�args�
child_handleds �r�
on_sigterm�JTestFork.test_fork_signal_handling.<locals>.child_main.<locals>.on_sigterm�s����!�!�#����
rr)r;�SIGTERMr��time�sleep)r�r��
child_starteds ��r�
child_main�6TestFork.test_fork_signal_handling.<locals>.child_mains;���
�
�M�M�&�.�.�*�5�������
�
�1�
�rc���># �[R"5nUR[RU4Sj5 TRTS9nUR
5 TR5 [R"UR[R5 UR[RS9 SnTR[R"U"55IShv�NS5 gN
7f)Nc�$>�TR5$r)r�)r��parent_handleds �rrR�BTestFork.test_fork_signal_handling.<locals>.main.<locals>.<lambda>�s���.�BT�BT�BVrr���timeoutc��L# �[R"S5IShv�N gN7f�Ng�������?r)rr�rrrrg�>TestFork.test_fork_signal_handling.<locals>.main.<locals>.func�s����m�m�C�(�(�(��)�s�$�"�$r)rr�rYr;r��Processr�waitrO�killr�r�r�
SHORT_TIMEOUTrq�create_task)r.�processrgr�r��ctxr�r1s   �����r�main�0TestFork.test_fork_signal_handling.<locals>.main�s������+�+�-�D��#�#�F�N�N�4V�W��k�k��k�4�G��M�M�O���� ��G�G�G�K�K����0��L�L��!6�!6�L�7�
�

���7�#6�#6�t�v�#>�>��C�>�s�C!C1�$C/�%C1r�)rc�multiprocessing_cleanup_tests�multiprocessing�get_context�Manager�shutdown�Eventr�runr�rr�r��is_setr�)r1�managerrr�r�r�r�r�s`  @@@@@r�test_fork_signal_handling�"TestFork.test_fork_signal_handlingqs����	
���5�6��)�)�&�1���+�+�-������(�(�)��
�
��
��
�
��
� �����	�	D�	D�"	���D�F�����7�#8�#8��9�����.�.�0�1����
�,�,�.�/rc�^^�UR[5 [R"S5nUR	5nURUR
5 UR
SS5mU4SjmURU4SjS9nUR5 UR5 URTRS5 g)Nr��irc��\># �[R"S5IShv�N STlgN7fr�)rr��value)rs�rr��2TestFork.test_fork_asyncio_run.<locals>.child_main�s$�����-�-��$�$�$��F�L�
%�s�,�*�
,c�:>�[R"T"55$r�rr�r�s�rrR�0TestFork.test_fork_asyncio_run.<locals>.<lambda>�����W�[�[���-Frr�r�rcrrrrr�Valuer�rr�rqr�r1r�r
r�r�rs    @@r�test_fork_asyncio_run�TestFork.test_fork_asyncio_run�s����	
���5�6��)�)�&�1���+�+�-������(�(�)����s�A�&��	��+�+�%F�+�G���
�
������������r�*rc�^^�UR[5 [R"S5nUR	5nURUR
5 UR
SS5mU4SjmURU4SjS9nUR5 UR5 URTRS5 g)Nr�rrc��># �[R"[RSS5IShv�NnUR	5IShv�NTlgN"N7f)Nz-c�pass)r�create_subprocess_execr��
executabler�r)�procrs �rr��9TestFork.test_fork_asyncio_subprocess.<locals>.child_main�s:���� �7�7�����f�U�U�D�!%����,�F�L�V�,�s!�*A�A�A�A�A�Ac�:>�[R"T"55$rrrs�rrR�7TestFork.test_fork_asyncio_subprocess.<locals>.<lambda>�rrr�rrrs    @@r�test_fork_asyncio_subprocess�%TestFork.test_fork_asyncio_subprocess�s����	
���5�6��)�)�&�1���+�+�-������(�(�)����s�A�&��	-��+�+�%F�+�G���
�
������������q�)rrN)
r~rr�r�r�r	�requires_hashdigestr�skip_if_sanitizerrrr%r�rrrr�r�Ts���*�4�'�'��.����H�QU�V�+0�W�/�+0�Z�'�'��.����H�QU�V�+�W�/�+�$�'�'��.����H�QU�V�*�W�/�*rr��__main__);�__doc__r�r�r�r�multiprocessing.utilrrrOr;r�rr�r�r�rlrry�testr�test.supportrrrr	�platform�SkipTestrrr�test.test_asyncior
r�rr�r:rr r%rm�TestCaser'rnr�rqr�rkr�r�r�rur�r�r��
requires_fork�IsolatedAsyncioTestCaser�r~rrrr�<module>r4s.�����	��P�	�
�
��
�������"�&�%�'��<�<�7��
�
�
�K�
(�(����1�(��8�8�����
���V�8�9�Z1�:�#6�#6�Z1�:�Z1�z
���W�V�Y�/�5�7�g/�z�':�':�g/�7�g/�T
���W�R��,�0�2�J1�Z�-@�-@�J1�2�J1�Zn��!4�!4�n�bQ?�*�"5�"5�Q?�h<�� 1� 1�<�49�H�-�-�9�b<�b<�J.�3�Z�5H�5H�.�.�3�Z�5H�5H�.�Z�(�#�#�Z�zC�X�&�&�C�L	����q*�x�/�/�q*��q*�f�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit