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_subprocess.cpython-313.opt-2.pyc
�

��i����SSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKrSSKJr SSKJ	r	 SSK
Jr SSK
Jr SSKJrJrJr \R&(d\R("S5e\R*(aSSKrOSS	KJr \R0"S
S9(a\R("S5e\R2S
S/r\R2S
SR7S5/rSr"SS\R<5r"SS\R@5r!"SS5r"\RFS:wa�"SS\"5r$"SS\$\R@5r%"SS\$\R@5r&"SS \R@5r'"S!S"\$\R@5r(\RR"\RT"5S#5"S$S%\$\R@55r+"S&S'\R@5r,O"S(S)\"\R@5r-\.S*:Xa\R^"5 gg)+�N)�mock)�base_subprocess)�
subprocess)�utils)�support)�	os_helper�warnings_helper�
gc_collectztest module requires subprocess)�unix_eventsT)�addressz#Exposes ASAN flakiness in GitHub CI�-czimport time; time.sleep(3600)�;)�
import syszdata = sys.stdin.buffer.read()zsys.stdout.buffer.write(data)c�0�[R"S5 g�N)�asyncio�set_event_loop_policy���6C:\Python313\\Lib\test\test_asyncio\test_subprocess.py�tearDownModuler's���!�!�$�'rc��\rSrSrSrSrg)�TestSubprocessTransport�+c��[R"5UlSURlSURlSURlSURlg)N���)r�Mock�_proc�stdin�stdout�stderr�pid)�self�args�kwargss   r�_start�TestSubprocessTransport._start,s>���Y�Y�[��
���
�
�� ��
�
�� ��
�
����
�
�r)rN)�__name__�
__module__�__qualname__�__firstlineno__r&�__static_attributes__rrrrr+s��rrc�D^�\rSrSrU4SjrSSjrSrSrSrSr	U=r
$)	�SubprocessTransportTests�4c�>�[TU]5 UR5UlUR	UR5 gr)�super�setUp�
new_test_loop�loop�set_event_loop�r#�	__class__s �rr2�SubprocessTransportTests.setUp5s.���
��
���&�&�(��	����D�I�I�&rc�j�[R"5n[URUS/SSSSSUS9	nX24$)N�testFr)�waiter)rrrr4)r#r;�protocol�	transports    r�create_transport�)SubprocessTransportTests.create_transport:s<���9�9�;��+��	�	�8�f�X�u��d�D�!�F�<�	��$�$rc��URR5nURU5up#URS5 URR	U5 URUR
5S5 URURR5 URURR5 URURR5 URURRSS5 URUR55 URUR 5 URUR"5 URUR$5 UR'[(UR*[,R.5 UR'[(UR05 UR'[(UR25 UR55 g)N�rr)r4�
create_futurer>�_process_exited�run_until_complete�assertEqual�get_returncode�
assertTrue�connection_made�called�process_exited�connection_lost�	call_args�assertFalse�
is_closing�assertIsNone�_loopr�	_protocol�assertRaises�ProcessLookupError�send_signal�signal�SIGTERM�	terminate�kill�close�r#r;r=r<s    r�test_proc_exited�)SubprocessTransportTests.test_proc_exitedAsq�����(�(�*��"�3�3�F�;��	��!�!�!�$��	�	�$�$�V�,�����1�1�3�Q�7�����0�0�7�7�8�����/�/�6�6�7�����0�0�7�7�8�����1�1�;�;�A�>��H�����-�-�/�0����)�/�/�*����)�/�/�*����)�-�-�.�	
���,�#�/�/����	A����,�i�.A�.A�B����,�i�n�n�=����rc��URR5nURU5up#URS5 URR	U5 UR[
U5S5 SUlUR[
U5S5 SUlSUlUR[
U5S5 UR5 g)NrAz-<TestSubprocessTransport pid=-1 returncode=6>z(<TestSubprocessTransport pid=-1 running>z%<TestSubprocessTransport not started>)
r4rBr>rCrDrE�repr�_returncode�_pidrYrZs    r�test_subprocess_repr�-SubprocessTransportTests.test_subprocess_repr[s������(�(�*��"�3�3�F�;��	��!�!�!�$��	�	�$�$�V�,������O�;�	
�!%�	�������O�6�	
��	�� $�	�������O�3�	
�	���rc�^�TRRU4Sj5 TRR5nTRU5up#TRR5nURRU5 TR
UR5 URS5 TRRU5 TRUR5S5 UR5 g)Nc�,>�TRSU35$)Nzunexpected exception: )�fail)r4�contextr#s  �r�<lambda>�bSubprocessTransportTests.test_proc_exited_no_invalid_state_error_on_exit_waiters.<locals>.<lambda>xs���$�)�)�(��	�2�#4rrA)
r4�set_exception_handlerrBr>�
_exit_waiters�appendrM�_pipes_connectedrCrDrE�resultrY)r#r;r=r<�exit_waiters`    r�7test_proc_exited_no_invalid_state_error_on_exit_waiters�PSubprocessTransportTests.test_proc_exited_no_invalid_state_error_on_exit_waitersrs����
	
�	�	�'�'�
4�	
����(�(�*��"�3�3�F�;��	��i�i�-�-�/�����&�&�{�3�	
����3�3�4�	�!�!�!�$��	�	�$�$�V�,�����+�+�-�q�1����r�r4r)r(r)r*r+r2r>r[raror,�
__classcell__�r7s@rr.r.4s!���'�
%��4�.�rr.c�T�\rSrSrSrSrSrSrSrSr	Sr
S	r\R"\RS
:HS5S5rS
rSrSrSrSrSrSrSr\R"\RS;S5S5rSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S3S&jr'S3S'jr(S3S(jr)S)r*S*r+\R"\RS+:gS,5S-5r,\-R\"\/S.9S/5r0\-R\"\/S.9S05r1\-R\"\/S.9S15r2S2r3g%)4�SubprocessMixin�c��^�[mU4SjnU"S5n[R"US5nURR	U5up4URUS5 URUS5 g)Nc��># �[R"T[R[RS.6IShv�NnURRU5 URR
5IShv�N URR5 URR5IShv�NnUR5IShv�NnX 4$N�N]N#N
7f�N�rr )r�create_subprocess_execr�PIPEr�write�drainrYr �read�wait)�data�proc�exitcoder$s   �r�run�.SubprocessMixin.test_stdin_stdout.<locals>.run�s����� �7�7�� �o�o�!�����D�
�J�J���T�"��*�*�"�"�$�$�$��J�J�������)�)�+�+�D�!�Y�Y�[�(�H��#�#��
%�,�(�sE�7C�C�<C�7C�8;C�3C�4C�C�C�C�C�C�	some datagN@r)�PROGRAM_CATr�wait_forr4rDrE�r#r��taskr�r r$s     @r�test_stdin_stdout�!SubprocessMixin.test_stdin_stdout�sb�����	$�"�<� ������d�+���9�9�7�7��=�������1�%������.rc�^�[mU4SjnU"S5n[R"U[R5nUR
R
U5up4URUS5 URUS5 g)Nc���># �[R"T[R[RS.6IShv�NnUR	U5IShv�Nup#UR
U4$N-N7fry�rr{rr|�communicate�
returncode)r�r�r r!r$s    �rr��-SubprocessMixin.test_communicate.<locals>.run�s\���� �7�7�� �o�o�!�����D�
$(�#3�#3�D�#9�9�N�F��?�?�F�*�*�
�
:�s!�7A,�A(�A,�A*�A,�*A,r�r�r�rr�r�LONG_TIMEOUTr4rDrEr�s     @r�test_communicate� SubprocessMixin.test_communicate�sh�����	+��<� ������g�&:�&:�;���9�9�7�7��=�������1�%������.rc�^�[mU4SjnU"5n[R"U[R5nUR
R
U5up4URUS5 URUS5 g)Nc���># �[R"T[R[RS.6IShv�NnUR	5IShv�NupUR
U4$N,N7fryr�)r�r r!r$s   �rr��8SubprocessMixin.test_communicate_none_input.<locals>.run�sZ���� �7�7�� �o�o�!�����D�
$(�#3�#3�#5�5�N�F��?�?�F�*�*�
�
6�s!�7A+�A'�A+�A)�A+�)A+rrr�r�s     @r�test_communicate_none_input�+SubprocessMixin.test_communicate_none_input�se�����	+��u������g�&:�&:�;���9�9�7�7��=�������1�%������%rc���URR[R"S55nURRUR	55nURUS5 g)Nzexit 7��r4rDr�create_subprocess_shellr�rE�r#r�r�s   r�
test_shell�SubprocessMixin.test_shell�sP���y�y�+�+��+�+�H�5�
���9�9�/�/��	�	��<������1�%rc���URR[R"SSS95nURRUR	55nURUS5 g)Nzexit 8T)�start_new_session�r�r�s   r�test_start_new_session�&SubprocessMixin.test_start_new_session�sV���y�y�+�+��+�+��"&�
�
���9�9�/�/��	�	��<������1�%rc�r�[nURR[R"U65nUR5 URRUR
55n[RS:XaURU[5 gUR[R*U5 g�N�win32)�PROGRAM_BLOCKEDr4rDrr{rXr��sys�platform�assertIsInstance�intrErU�SIGKILL�r#r$r�r�s    r�	test_kill�SubprocessMixin.test_kill�s������y�y�+�+��*�*�D�1�
��	
�	�	���Y�Y�1�1�$�)�)�+�>�
��<�<�7�"��!�!�*�c�2�
���f�n�n�_�j�9rc���[RS:XaS[RS3nOSnSn[RS:XaSSKJn UnUR
R
[R"U[RRUS95nUR
R
[R"S55 [RS:XaUR[R5 UR5 UR
R
UR55n[RS:XaUR!U["5 gUR%[R&*U5 g)	Nr��"z!" -c "import time; time.sleep(2)"zsleep 1; sleep 1r)�CREATE_NEW_PROCESS_GROUP)r �
creationflags�)r�r��
executablerr�r4rDrr�r|�sleeprTrU�CTRL_BREAK_EVENTrXr�r�r�rEr�)r#�blocking_shell_commandr�r�r�r�s      r�test_kill_issue43884�$SubprocessMixin.test_kill_issue43884�s���<�<�7�"�'(����(8�8Y�%Z�"�%7�"��
��<�<�7�"�;�5�M��y�y�+�+��+�+�,B�7�K]�K]�Kb�Kb�'�
)�
��	
�	�	�$�$�W�]�]�1�%5�6��<�<�7�"����V�4�4�5��	�	���Y�Y�1�1�$�)�)�+�>�
��<�<�7�"��!�!�*�c�2�
���f�n�n�_�j�9rc�r�[nURR[R"U65nUR5 URRUR
55n[RS:XaURU[5 gUR[R*U5 gr�)r�r4rDrr{rWr�r�r�r�r�rErUrVr�s    r�test_terminate�SubprocessMixin.test_terminates������y�y�+�+��*�*�D�1�
��	
�����Y�Y�1�1�$�)�)�+�>�
��<�<�7�"��!�!�*�c�2�
���f�n�n�_�j�9rr�zDon't have SIGHUPc�@^�[R"[R[R5nSn[RSU/nTR
R
[R"US[R065nU4SjnTR
R
U"U55nTR[R*U5 [R"[RU5 g![R"[RU5 f=f)Nz<import time; print("sleeping", flush=True); time.sleep(3600)r
r c���># �URR5IShv�NnTRUS5 UR[R
5 UR
5IShv�NnU$NON7f)Ns	sleeping
)r �readlinerErTrU�SIGHUPr�)r��liner�r#s   �rrT�5SubprocessMixin.test_send_signal.<locals>.send_signal)s[����!�[�[�1�1�3�3��� � ��}�5�� � ����/�#'�9�9�;�.�
�!�!�4�/�s"�A5�A1�AA5�*A3�+A5�3A5)rUr��SIG_DFLr�r�r4rDrr{rr|rE)r#�old_handler�coder$r�rTr�s`      r�test_send_signal� SubprocessMixin.test_send_signals����
�m�m�F�M�M�6�>�>�B��	6�Q�D��N�N�D�$�/�D��9�9�/�/��.�.���%�?�?���D�
"����5�5�k�$�6G�H�J����f�m�m�^�Z�8��M�M�&�-�-��5��F�M�M�&�-�-��5�s�BC6�6'Dc��^�S[R-n[R"5unmUR	[R
U5 UR	[R
T5 [R(ah[R"U5n[R"US5 [R"SUS35nSSKJ
n U"5nSU/0Ul[US9nOS	US
3n[U4S9nUR R#[$R&"[(R*SU4S
[R,0UD65nU4Sjn	U	"X�5n
[.R0"5 UR3[4[64UR R"U
5 SSS5 UR R#UR955 g!,(df   N8=f)N�xTz<
                import os, msvcrt
                handle = zl
                fd = msvcrt.open_osfhandle(handle, os.O_RDONLY)
                os.read(fd, 1)
            r)�STARTUPINFO�handle_list)�startupinfozimport os; fd = z; os.read(fd, 1))�pass_fdsr
rc��># �URRU5 [R"TS5 URR5IShv�N gN7f)Nsgo)rr}�osr~)r�r��wfds  �r�write_stdin�;SubprocessMixin.test_stdin_broken_pipe.<locals>.write_stdinXs<�����J�J���T�"��H�H�S�%� ��*�*�"�"�$�$�$�s�AA�A�A)r�
PIPE_MAX_SIZEr��pipe�
addCleanuprY�
MS_WINDOWS�msvcrt�
get_osfhandle�set_handle_inheritable�textwrap�dedentrr��lpAttributeList�dictr4rDrr{r�r�r|�
test_utils�disable_loggerrR�BrokenPipeError�ConnectionResetErrorr�)r#�
large_data�rfd�handler�r�r�r%r�r��coror�s           @r�test_stdin_broken_pipe�&SubprocessMixin.test_stdin_broken_pipe7s�����G�1�1�1�
��7�7�9���S�������#�&�������#�&�����)�)�#�.�F��%�%�f�d�3��?�?�(� ��"
�$��D�
/�%�-�K�+8�6�(�*C�K�'��k�2�F�%�c�U�*:�;�D��C�6�*�F��y�y�+�+��*�*�����d�
� �o�o�
��
�
��	%��4�,��
�
&�
&�
(�����0D�E�"�i�i�:�:�D�
B�)�	
�	�	�$�$�T�Y�Y�[�1�)�
(�s�-2G�
Gc	��S[R-nURR[R
"[RSS[RS95nURRS5 URRURU55 URRUR55 g)Nr�r
�pass�rc��grr)r4�msgs  rrg�ESubprocessMixin.test_communicate_ignore_broken_pipe.<locals>.<lambda>rs��$r)
rr�r4rDrr{r�r�rr|rir�r�)r#r�r�s   r�#test_communicate_ignore_broken_pipe�3SubprocessMixin.test_communicate_ignore_broken_pipees����G�1�1�1�
��y�y�+�+��*�*�����f� �o�o�
�
��	
�	�	�'�'�(>�?��	�	�$�$�T�%5�%5�j�%A�B��	�	�$�$�T�Y�Y�[�1rc�0^^^�SmTS-S-mUUU4SjnTRRU"55up#TRUST-5 TRURR
5 TRURR
5 g)N�
�r�c	���>^# �SRSST	-S45nTRRmU4SjnUTRl[R"[
RSU[RR[RRTS9IShv�NnURRS5nUR5IShv�NupEXC4$N<N7f)	N�
rzsys.stdout.write("x" * %s)�sys.stdout.flush()c��># �T"U0UD6IShv�Nup#[R"5Ul[R"5UlX#4$N=7fr)rr�
pause_reading�resume_reading)r$�kwr=r<�connect_read_pipes    �r�connect_read_pipe_mock�^SubprocessMixin.test_pause_reading.<locals>.test_pause_reading.<locals>.connect_read_pipe_mock�sF����,=�t�,J�r�,J�&J�#�	�*.�)�)�+�	�'�+/�9�9�;�	�(�!�,�,�'K�s�A�A
�>Ar
)rr �limitr�)�joinr4r�rr{r�r�rr|�
_transport�get_pipe_transportr�)
r�rr��stdout_transportr r!r�rr#�sizes
      @���r�test_pause_reading�>SubprocessMixin.test_pause_reading.<locals>.test_pause_readingzs������9�9��,�t�3�$���D�!%�	�	� ;� ;��
-�+A�D�I�I�'� �7�7�����d��(�(�-�-��)�)�.�.��	��D� $���A�A�!�D��#'�#3�#3�#5�5�N�F�
�-�-��6�s$�BC$�#C �$2C$�C"�
C$�"C$r�)r4rDrErGr�rIr�)r#rr r=rrs`   @@rr�"SubprocessMixin.test_pause_readingvs|�������	�A�
��	.�D!�I�I�8�8�9K�9M�N����������-����	�/�/�6�6�7����	�0�0�7�7�8rc��SnURRU"S55up#URUR5S5 URUS5 g)Nc
��v# �Sn[R"[RSU[RR
[RR
[RR
SS9IShv�NnUR
U5IShv�Nup4UR5IShv�NnX54$N:N#N7f�N�5import sys; data = sys.stdin.read(); print(len(data))r
F�rr r!�	close_fds�rr{r�r�rr|r�r���messager�r�r r!r�s      r�len_message�?SubprocessMixin.test_stdin_not_inheritable.<locals>.len_message�s����J�D� �7�7�����d��(�(�-�-��)�)�.�.��)�)�.�.����D�$(�#3�#3�G�#<�<�N�F�!�Y�Y�[�(�H��%�%��=�(��6�A6B9�8B3�9B9�B5�B9�+B7�,B9�5B9�7B9�abc�3r�r4rDrE�rstrip)r#r�outputr�s    r�test_stdin_not_inheritable�*SubprocessMixin.test_stdin_not_inheritable�sK��	&� �9�9�7�7��F�8K�L����������$�/�����1�%rc��SnURRU"55up#URUR5S5 URUS5 g)Nc
��v# �Sn[R"[RSU[RR
[RR
[RR
SS9IShv�NnUR
S5IShv�Nup#UR5IShv�NnX$4$N:N#N7f)Nrr
Frrr�r�r�r r!r�s     r�empty_input�5SubprocessMixin.test_empty_input.<locals>.empty_input�s����J�D� �7�7�����d��(�(�-�-��)�)�.�.��)�)�.�.����D�$(�#3�#3�C�#8�8�N�F�!�Y�Y�[�(�H��%�%��9�(�r�0rr�r#r!rr�s    r�test_empty_input� SubprocessMixin.test_empty_input��H��	&� �9�9�7�7��
�F����������$�/�����1�%rc��SnURRU"55up#URUR5S5 URUS5 g)Nc
��t# �Sn[R"[RSU[RR
[RR[RRSS9IShv�NnUR5IShv�Nup#UR5IShv�NnX$4$N9N#N7fr
)	rr{r�r�r�DEVNULLr|r�r�r s     rr!�7SubprocessMixin.test_devnull_input.<locals>.empty_input�s����J�D� �7�7�����d��(�(�0�0��)�)�.�.��)�)�.�.����D�$(�#3�#3�#5�5�N�F�!�Y�Y�[�(�H��%�%��6�(�s6�A6B8�8B2�9B8�B4�B8�*B6�+B8�4B8�6B8r#rrr$s    r�test_devnull_input�"SubprocessMixin.test_devnull_input�r'rc��SnURRU"55up#URUS5 URUS5 g)Nc
��v# �Sn[R"[RSU[RR
[RR[RR
SS9IShv�NnURS5IShv�Nup#UR5IShv�NnX$4$N:N#N7f�Nrr
Frr�	rr{r�r�rr|r*r�r�r s     r�empty_output�9SubprocessMixin.test_devnull_output.<locals>.empty_output�s����J�D� �7�7�����d��(�(�-�-��)�)�1�1��)�)�.�.����D�$(�#3�#3�F�#;�;�N�F�!�Y�Y�[�(�H��%�%��<�(�rr�r4rDrE)r#r2rr�s    r�test_devnull_output�#SubprocessMixin.test_devnull_output�sB��	&� �9�9�7�7���G��������&�����1�%rc��SnURRU"55up#URUS5 URUS5 g)Nc
��v# �Sn[R"[RSU[RR
[RR
[RRSS9IShv�NnURS5IShv�Nup#UR5IShv�NnX44$N:N#N7fr0r1r s     r�empty_error�7SubprocessMixin.test_devnull_error.<locals>.empty_error�s����J�D� �7�7�����d��(�(�-�-��)�)�.�.��)�)�1�1����D�$(�#3�#3�F�#;�;�N�F�!�Y�Y�[�(�H��%�%��<�(�rrr4)r#r9rr�s    r�test_devnull_error�"SubprocessMixin.test_devnull_error�sB��	&� �9�9�7�7��
�F��������&�����1�%r)�linux�androidzDon't have /dev/stdinc��SnURRU"S55up#URUR5S5 URUS5 g)Nc
��v# �Sn[R"[RSU[RR
[RR
[RR
SS9IShv�NnUR
U5IShv�Nup4UR5IShv�NnX54$N:N#N7f)Nz?file = open("/dev/stdin"); data = file.read(); print(len(data))r
Frrrs      r�devstdin_input�;SubprocessMixin.test_devstdin_input.<locals>.devstdin_inputs����T�D� �7�7�����d��(�(�-�-��)�)�.�.��)�)�.�.����D�$(�#3�#3�G�#<�<�N�F�!�Y�Y�[�(�H��%�%��=�(�rrrrr)r#rArr�s    r�test_devstdin_input�#SubprocessMixin.test_devstdin_inputsK��	&� �9�9�7�7��v�8N�O����������$�/�����1�%rc�R^�U4SjnTRRU"55 g)Nc��># �[R"[6IShv�NnTRR	UR55nTRR
UR5 UIShv�N UR5 UR5 UR5IShv�N gN�N?![Ra NSf=fN#7fr)
rr{r�r4�create_taskr��	call_soon�cancel�CancelledErrorrX)r�r�r#s  �r�cancel_wait�=SubprocessMixin.test_cancel_process_wait.<locals>.cancel_waits����� �7�7��I�I�D��9�9�(�(�����5�D��I�I������,�
��
�
�

�K�K�M�
�I�I�K��)�)�+���J����)�)�
��
��
�sR�C�B5�AC�2B9�7B7�8B9�<3C�/C�0C�7B9�9C�
C�C�C�r4rD)r#rKs` r�test_cancel_process_wait�(SubprocessMixin.test_cancel_process_waits���	�$	
�	�	�$�$�[�]�3rc�^�U4Sjn[R"5 TRRU"55 SSS5 g!,(df   g=f)Nc��
># �[R"[6nTRR	U5nTRRUR5 UIShv�N gN![Ra gf=f7fr)rr{r�r4rGrHrIrJ�r�r�r#s  �r�cancel_make_transport�YSubprocessMixin.test_cancel_make_subprocess_transport_exec.<locals>.cancel_make_transport0sc�����1�1�?�C�D��9�9�(�(��.�D��I�I������,�
��
�
���)�)�
��
�s<�AB�A)�!A'�"A)�&B�'A)�)B�=B�?B�B)r�r�r4rD�r#rSs` r�*test_cancel_make_subprocess_transport_exec�:SubprocessMixin.test_cancel_make_subprocess_transport_exec.s8���	��
&�
&�
(��I�I�(�(�)>�)@�A�)�
(�
(�s�!A�
Ac��^�U4Sjn[R"5 TRRU"55 [R"TR5 SSS5 g!,(df   g=f)Nc��:># �TRR"[R/[Q76nTRRU5nTRR
UR5 UIShv�N gN![Ra gf=f7fr)	r4�subprocess_execr�SubprocessProtocolr�rGrHrIrJrRs  �rrS�DSubprocessMixin.test_cancel_post_init.<locals>.cancel_make_transportAsw�����9�9�,�,�W�-G�-G�?�.=�?�D��9�9�(�(��.�D��I�I������,�
��
�
���)�)�
��
�s<�A0B�4B�9A?�:B�>B�?B�B�B�B�B)r�r�r4rD�run_brieflyrUs` r�test_cancel_post_init�%SubprocessMixin.test_cancel_post_init?sJ���		��
&�
&�
(��I�I�(�(�)>�)@�A��"�"�4�9�9�-�)�
(�
(�s�AA'�'
A5c�^�U4Sjn[R"5 TRRU"55up#SSS5 TRW5 TRW5 [R"TR5 g![R
a TR
S5 Nrf=f!,(df   N|=f)Nc��>^^# �TRR"[R/[Q76nUIShv�NupSmUU4SjnURS5nURmX4lUR5nUR5 [R"UR5S5IShv�N UT4$N�N
7f)NFc�>�SmT"5 g�NTr)�kill_called�	orig_kills��rrX�KSubprocessMixin.test_close_kill_running.<locals>.kill_running.<locals>.killZs
���"���rr�)r4rZrr[r��get_extra_inforXrFrYr��_wait)	�creater=r<rXr�r�rdrer#s	      @@�r�kill_running�=SubprocessMixin.test_close_kill_running.<locals>.kill_runningTs������Y�Y�.�.�w�/I�/I�A�0?�A�F�(.�,��I��K�
�
�+�+�L�9�D��	�	�I��I�"�1�1�3�J��O�O���"�"�9�?�?�#4�a�8�8�8���,�,�#/�
9�s"�5C�B>�A:C�5C�6	C�Cz2Timeout failure on waiting for subprocess stopping)
r�r�r4rDr�TimeoutError�skipTestrOrGr])r#rkr��killeds`   r�test_close_kill_running�'SubprocessMixin.test_close_kill_runningRs����	-�(�
&�
&�
(�
�%)�Y�Y�%A�%A� �N�&�"�
�)�	
���*�%�	
��������t�y�y�)���'�'�
��
�
�H��
��)�
(�s(�B7�"B�%B4�1B7�3B4�4B7�7
Cc�^�U4Sjn[R"5 TRRU"55n[R"TR5 SSS5 Wup4nTRU5 TR
U5 TRU5 [RS:wa}[T[5(ag[R"5 [R"S[5 [ R""5R$R'5 SSS5 ggg!,(df   N�=f!,(df   g=f)Nc��># �TRR"[R/[Q76nUIShv�NupURS5nUR
5 UR5 [R"5UlUR5nUR5nUR5 XEURR4$N�7f)Nr)r4rZrr[r�rhrXr�rr�pollrFrYrI)rjr=r<r��proc_returncode�transport_returncoder#s      �rrk�CSubprocessMixin.test_close_dont_kill_finished.<locals>.kill_runningys������Y�Y�.�.�w�/I�/I�A�0?�A�F�(.�,��I��+�+�L�9�D�
�I�I�K��I�I�K��	�	��D�I�"�i�i�k�O�#,�#;�#;�#=� ��O�O��#�4�9�9�;K�;K�L�L�#/�s�5C�C�BCr��ignore)r�r�r4rDr]�assertIsNotNonerOrMr�r��
isinstance�SubprocessFastWatcherTests�warnings�catch_warnings�simplefilter�DeprecationWarningr�get_child_watcher�
_callbacks�clear)r#rkrmru�transport_return_coderos`     r�test_close_dont_kill_finished�-SubprocessMixin.test_close_dont_kill_finishedws����	M�&�
&�
&�
(��Y�Y�1�1�,�.�A�F��"�"�4�9�9�-�)�:@�6������_�-����/�0�	
���� �

�L�L�G�#��4�!;�<�<��(�(�*��%�%�h�0B�C��)�)�+�6�6�<�<�>�+�*�=�
$�!)�
(��$+�*�s�AD0�A	E�0
D>�
Ec
���# �[RS:XaSnOSn[R"U5n[nXCl[R"SS9nURU5 [R"[RSSUS9IShv�N SSS5 URU/5 SSS5 SSS5 gN/!,(df   N3=f!,(df   N*=f!,(df   g=f7f)	Nr�zasyncio.windows_utils.Popenzsubprocess.PopenT)�recordr
r�r�)
r�r�r�patch�ZeroDivisionError�side_effectr|r}rRrr{r�rE)r#r�target�popen�exc�warnss      r�_test_popen_error�!SubprocessMixin._test_popen_error�s�����<�<�7�"�2�F�'�F�
�Z�Z��
�5�#�C� #���(�(��5���&�&�s�+�!�8�8������#�	���,�� � ���+�6�	 �
��,�+��6�5��	 �
�s^�0C3�!C"�C�%)C�B>
�C�C�-C"�5	C3�>C�
C�
C�
C	�C"�"
C0�,C3c�T�URRURSS95 g�Nr�)r4rDr��r#s r�test_popen_error� SubprocessMixin.test_popen_error�s$��	
�	�	�$�$�T�%;�%;�$�%;�%G�Hrc�p�URRUR[RS95 gr�)r4rDr�rr|r�s r� test_popen_error_with_stdin_pipe�0SubprocessMixin.test_popen_error_with_stdin_pipe�s+��	
�	�	�$�$��"�"����"�9�	;rc�J�SnURRU"55 g)Nc��`# �SR/SQ5n[R"[RSU[R
RS9IShv�NnURRS5IShv�NnU(a[R"S5IShv�N OgMLNQN/N7f)Nr�)rzfor _ in range(64):z     sys.stdout.write("x" * 4096)r�zsys.exit(1)r
)r ig333333�?)
rrr{r�r�rr|r rr�)r��processr�s   r�execute�DSubprocessMixin.test_read_stdout_after_process_exit.<locals>.execute�s�����9�9�-�.�D�$�:�:�����d��)�)�.�.���G�
�$�^�^�0�0��7�7���!�-�-��,�,�,����8�,�s6�AB.�B(�#B.�:B*�;$B.�B,� 	B.�*B.�,B.rM�r#r�s  r�#test_read_stdout_after_process_exit�3SubprocessMixin.test_read_stdout_after_process_exit�s��	�&	
�	�	�$�$�W�Y�/rc�R^�U4SjnTRRU"55 g)Nc��6># �TR[5 [R"[R
SS9IShv�N SSS5 TR[5 [R"[R
SS9IShv�N SSS5 TR[5 [R"[R
SS9IShv�N SSS5 gN�!,(df   N�=fNi!,(df   Nm=fN3!,(df   g=f7f�NT)�textzutf-8)�encoding�strict)�errors)rR�
ValueErrorrr{r�r�r�s�rr��LSubprocessMixin.test_create_subprocess_exec_text_mode_fails.<locals>.execute�s������"�"�:�.� �7�7����=A�C�C�C�/��"�"�:�.� �7�7����AH�J�J�J�/��"�"�:�.� �7�7����?G�I�I�I�/�.�C�/�.��
J�/�.��
I�/�.���D�'C"�C �C"�D�"'C5�	C3�
C5�D�+'D�D�D�	D� C"�"
C0�,D�3C5�5
D�?D�D�
D�DrMr�s` r�+test_create_subprocess_exec_text_mode_fails�;SubprocessMixin.test_create_subprocess_exec_text_mode_fails�s���	I�	
�	�	�$�$�W�Y�/rc�R^�U4SjnTRRU"55 g)Nc��6># �TR[5 [R"[R
SS9IShv�N SSS5 TR[5 [R"[R
SS9IShv�N SSS5 TR[5 [R"[R
SS9IShv�N SSS5 gN�!,(df   N�=fNi!,(df   Nm=fN3!,(df   g=f7fr�)rRr�rr�r�r�r�s�rr��MSubprocessMixin.test_create_subprocess_shell_text_mode_fails.<locals>.execute�s������"�"�:�.� �8�8����>B�D�D�D�/��"�"�:�.� �8�8����BI�K�K�K�/��"�"�:�.� �8�8����@H�J�J�J�/�.�D�/�.��
K�/�.��
J�/�.�r�rMr�s` r�,test_create_subprocess_shell_text_mode_fails�<SubprocessMixin.test_create_subprocess_shell_text_mode_fails�s���	J�	
�	�	�$�$�W�Y�/rc�h�SnURURRU"555 g)Nc��# �[R"[R"[R
5SS5IShv�NnUR
5IShv�N [R"[R
SS[R"S55IShv�NnUR
5IShv�N gNxNbN!N7f)Nr
r��.)rr{r�FakePathr�r�r�)�ps rr��FSubprocessMixin.test_create_subprocess_exec_with_path.<locals>.execute�s���� �7�7��"�"�3�>�>�2�D�&�B�B�A��&�&�(�N�N� �7�7�����f�i�.@�.@��.E�G�G�A��&�&�(�N�N�B��G��sH�>C�B9�C�B;�AC�B=�C�3B?�4C�;C�=C�?C)rOr4rDr�s  r�%test_create_subprocess_exec_with_path�5SubprocessMixin.test_create_subprocess_exec_with_path�s(��	�	
���$�)�)�6�6�w�y�A�Brc��# �UIShv�NnUR5IShv�NupEURXB5 URURS5 [R"UR55n[R"S5IShv�N URUR5UR5 gN�N�N37f)Nr)r�rEr�rrGr�r�rm)r#r�rr�r �_r�s       r�check_stdout_output�#SubprocessMixin.check_stdout_outputs�����z���*�*�,�,�	������(�������!�,��"�"�4�9�9�;�/���m�m�A��������������8�
�,�	�s2�C�C�C�C�A0C�C�0C�C�CNc�n�SSjnURRURU"5S55 g)Nc��# �[Rn[RS:XaSUS3nUS3n[RR5nSUS'[R"X[RS9IShv�NnU$N7f)Nr�r�z8 -c "import os, sys; sys.stdout.write(os.getenv('FOO'))"�bar�FOO��envr )
r�r�r�r��environ�copyrr�rr|)r��cmdr�r�s    r�main�>SubprocessMixin.test_create_subprocess_env_shell.<locals>.main
sx������J��|�|�w�&� ���A�.�
�!�l�"Z�]�C��*�*�/�/�#�C��C��J� �8�8��Z�_�_���D��K��s�A9B�;B�<Bsbar��returnN�r4rDr��r#r�s  r� test_create_subprocess_env_shell�0SubprocessMixin.test_create_subprocess_env_shells*��
	�	
�	�	�$�$�T�%=�%=�d�f�f�%M�Nrc�n�SSjnURRURU"5S55 g)Nc���# �[RSS/n[RR	5nSUS'[
R"X[RS.6IShv�NnU$N7f)Nr
z2import os, sys; sys.stdout.write(os.getenv('FOO'))�bazr�r�)	r�r�r�r�r�rr{rr|)r�r�r�s   rr��=SubprocessMixin.test_create_subprocess_env_exec.<locals>.mains\����>�>�4�G�I�C��*�*�/�/�#�C��C��J� �7�7��j�o�o���D��K��s�AA)� A'�!A)sbazr�r�r�s  r�test_create_subprocess_env_exec�/SubprocessMixin.test_create_subprocess_env_execs*��	�	
�	�	�$�$�T�%=�%=�d�f�f�%M�Nrc�V^�SU4SjjnTRRU"55 g)Nc	���># �[R"[[R[RS.6IShv�NnURS5IShv�NupTR
US5 TR
URS5 TR
[R"[S5Vs/sHo R5PM sn6IShv�NUR/S-5 gN�N�s snfN!7f)Nrzr�rr�)rr{r�rr|r�rEr��gather�ranger�)r�r r�r#s   �rr��=SubprocessMixin.test_subprocess_concurrent_wait.<locals>.main*s����� �7�7�� �o�o�!�����D�
#�.�.�|�<�<�I�F����V�\�2����T�_�_�a�0����7�>�>��r��3S��A�I�I�K��3S�#T�T�"�o�o�.��3�
5��
=��4T�T�s@�;C8�C-�C8�C/�AC8�4C1�
C8�C6�C8�/C8�1C8r�rMr�s` r�test_subprocess_concurrent_wait�/SubprocessMixin.test_subprocess_concurrent_wait)s���
	5�	
�	�	�$�$�T�V�,rc�^^	^
�/m	SS/n/SQm
SS/n"U	U
4SjS[R5mS
UU	4SjjnURRU"55m	UR	[T	5[T
55 UVs0sHoD/_M nnT	H%nUS	:XaMUSSuptXTR
U5 M' UHnURXTX$T	45 M gs snf)Nr�r�))�pipe_data_receivedr�sstdout)r�r�sstderr)�pipe_connection_lostr�)r�r�rJr�r�c�z>�\rSrSrS\R
SS4SjrSU4SjjrSU4SjjrSU4Sjjr	UU4S	jr
S
rg)�CSubprocessMixin.test_subprocess_protocol_events.<locals>.MyProtocoliJ�exit_futurer�Nc��Xlgr�r�)r#r�s  r�__init__�LSubprocessMixin.test_subprocess_protocol_events.<locals>.MyProtocol.__init__Ks��#.� rc�L>�TRSX45 UR5 g)Nr��rk�
exit_maybe)r#�fdr��eventss   �rr��VSubprocessMixin.test_subprocess_protocol_events.<locals>.MyProtocol.pipe_data_receivedNs����
�
�3�R�>�?����!rc�L>�TRSU45 UR5 g)Nr�r�)r#r�r�r�s   �rr��XSubprocessMixin.test_subprocess_protocol_events.<locals>.MyProtocol.pipe_connection_lostRs����
�
�5�r�:�;����!rc�H>�TRS5 UR5 g)NrJr�)r#r�s �rrJ�RSubprocessMixin.test_subprocess_protocol_events.<locals>.MyProtocol.process_exitedVs����
�
�.�/����!rc�n>�[T5[T5:�aURRS5 ggrc)�lenr��
set_result)r#r��expecteds ��rr��NSubprocessMixin.test_subprocess_protocol_events.<locals>.MyProtocol.exit_maybeZs,����v�;�#�h�-�/��$�$�/�/��5�0rr�r�)r(r)r*r+r�Futurer�r�r�rJr�r,)r�r�s��r�
MyProtocolr�Js3���
/�G�N�N�
/�t�
/�
"�
"�
"�
6�
6rr�c��>^# �[R"5n[R"5mSnURUU4Sj[R
SUSS9IShv�Nup#TIShv�N UR
5 T$N"N7f)NzBimport sys; sys.stdout.write("stdout"); sys.stderr.write("stderr")c�>�T"T5$rr)r�r�s��rrg�OSubprocessMixin.test_subprocess_protocol_events.<locals>.main.<locals>.<lambda>cs
���j��>Urr
r�)r�get_running_loopr�rZr�r�rY)r4r�r=r�r�r�r�s    @��rr��=SubprocessMixin.test_subprocess_protocol_events.<locals>.main_su�����+�+�-�D�!�.�.�*�K�W�D�!%�!5�!5�6U�69�n�n�d�D�X\�"6�"^�^�L�I�����O�O���M�^��s$�AB�A=�B�&A?�'B�?BrJr�)rr[r4rD�assertSetEqual�setrkrE)r#�fds�per_fd_expectedr�r��
per_fd_events�event�namer�r�r�s        @@@r�test_subprocess_protocol_events�/SubprocessMixin.test_subprocess_protocol_events8s�������!�f��
��
!�"�
��
	6�	6��3�3�	6�*		�		����-�-�d�f�5��	
���C��K��X��7�+.�.�#�B�R��#�
�.��E��(�(���R�a�y�H�D���$�$�T�*�	��B����]�.��f��N���/s�Cc�\^^�SmUU4SjnTRRU"55 g)Nc��# �[R"U/UQ7S[RR06IShv�NnUR	5IShv�Nup4UR5R
5$N<N&7f)Nr )rr{rr|r��decode�strip)r�r$r�r r�s     r�get_command_stdout�NSubprocessMixin.test_subprocess_communicate_stdout.<locals>.get_command_stdout|sm��� �7�7�����#*�#5�#5�#:�#:���D�#�.�.�0�0�I�F��=�=�?�(�(�*�*�	�1�s!�6A9�A5�A9�A7�%A9�7A9c��># �[S5Vs/sHnSU3PM
 nn[R"UVs/sH nT"[RSSU<S35PM" sn6IShv�NnTRX15 gs snfs snfN 7f)Nr��foor
zprint(�))r�rr�r�r�rE)�i�outputs�out�resr	r#s    ��rr��@SubprocessMixin.test_subprocess_communicate_stdout.<locals>.main�s�����*/��)�4�)�Q��Q�C�y�)�G�4����FM�)O�FM�s�*<�C�N�N�D�*0���q�(9�*;�FM�)O�P�P�C����S�*��5��)O�P�s&�B�A;�B�'B�B�$B�%!BrM)r#r�r	s` @r�"test_subprocess_communicate_stdout�2SubprocessMixin.test_subprocess_communicate_stdoutzs#���	+�	+�	
�	�	�$�$�T�V�,rr=z
Linux onlyc�R^�U4SjnTRRU"55 g)Nc��h># �[S5H�n[R"SS5IShv�Nn[R"S5IShv�N UR	[
R5 TRUR5IShv�NS5 M� gNoNS![a N=f=fN"7f)Nr�r�z0.1g�������?�)
r�rr{r�rTrU�SIGUSR1rS�assertNotEqualr�)r�r�r#s  �rr��>SubprocessMixin.test_subprocess_send_signal_race.<locals>.main�s������2�Y��$�;�;�G�U�K�K���m�m�C�(�(�(���$�$�V�^�^�4��#�#�$�)�)�+�$5�s�;��K�(��*�����$5�sQ�)B2�B�B2�
B�B2�B �/B2�
B0
�B2�B2� 
B-�*B2�,B-�-B2rMr�s` r� test_subprocess_send_signal_race�0SubprocessMixin.test_subprocess_send_signal_race�s���	<�	
�	�	�$�$�T�V�,r)�categoryc�\^�U4Sjn[R"U"55 [5 g)Nc��p># �[R"5n[R"[RS9UlTR
[R5 [R"[S[RR06IShv�N SSS5 gN
!,(df   g=f7f)N�r�r!)rr�r�	AsyncMockrJr�rRr{r�rr|�r4r#s �rr��ASubprocessMixin.test_subprocess_read_pipe_cancelled.<locals>.main�sw�����+�+�-�D�%)�^�^��@V�@V�%W�D�"��"�"�7�#9�#9�:��4�4�o�f�g�N`�N`�Ne�Ne�f�f�f�;�:�f�;�:��0�AB6�6B%�B#�B%�	B6�#B%�%
B3�/B6�rr�r
r�s` r�#test_subprocess_read_pipe_cancelled�3SubprocessMixin.test_subprocess_read_pipe_cancelled�s���	g�	���D�F���rc�\^�U4Sjn[R"U"55 [5 g)Nc��p># �[R"5n[R"[RS9UlTR
[R5 [R"[S[RR06IShv�N SSS5 gN
!,(df   g=f7f)Nr r)rr�rr!rJ�connect_write_piperRr{r�rr|r"s �rr��BSubprocessMixin.test_subprocess_write_pipe_cancelled.<locals>.main�sw�����+�+�-�D�&*�n�n��AW�AW�&X�D�#��"�"�7�#9�#9�:��4�4�o�e�W�M_�M_�Md�Md�e�e�e�;�:�e�;�:�r$r%r�s` r�$test_subprocess_write_pipe_cancelled�4SubprocessMixin.test_subprocess_write_pipe_cancelled�s���	f�	���D�F���rc�\^�U4Sjn[R"U"55 [5 g)Nc��"># �[R"5n[R"[RS9Ul[R"[RS9UlTR[R5 [R"[[RR[RR[RRS.6IShv�N SSS5 gN
!,(df   g=f7f)Nr )rr r!)rr�rr!rJr�r*rRr{r�rr|r"s �rr��GSubprocessMixin.test_subprocess_read_write_pipe_cancelled.<locals>.main�s������+�+�-�D�%)�^�^��@V�@V�%W�D�"�&*�n�n��AW�AW�&X�D�#��"�"�7�#9�#9�:��4�4�$�!�,�,�1�1�"�-�-�2�2�"�-�-�2�2�	���;�:��;�:�s1�BD�A(C>�.C<�/C>�3	D�<C>�>
D�Dr%r�s` r�)test_subprocess_read_write_pipe_cancelled�9SubprocessMixin.test_subprocess_read_write_pipe_cancelled�s���
	�	���D�F���rrr�)4r(r)r*r+r�r�r�r�r�r�r�r��unittest�skipIfr�r�r�r�r�rrr%r,r5r;rCrNrVr^rpr�r�r�r�r�r�r�r�r�r�r�r�rrrr	�ignore_warnings�ResourceWarningr&r,r1r,rrrruru�s���/�4/�$&�$&�	&�:�:�6:��_�_�S�\�\�W�,�.A�B�6�C�6�:,2�\2�"*9�X&�(&�&&�&&�&&�&�_�_�S�\�\�)=�=�,�.�&�.�&�&4�.B�".�&#*�J)?�V,�&I�
;�0�.0� 0�"	C�9�
O�O�
-�@O�D-�"�_�_�S�\�\�W�,�l�;�-�<�-��$�$�o�>��?���$�$�o�>��?���$�$�o�>��?�rrur�c�8^�\rSrSrSrU4SjrU4SjrSrU=r$)�SubprocessWatcherMixini�Nc�>�[TU]5 [R"5nUR	5UlUR
UR
5 UR5nURUR
5 [R"5 [R"S[5 URU5 SSS5 g!,(df   g=f�Nrx)r1r2r�get_event_loop_policy�new_event_loopr4r5�_get_watcher�attach_loopr|r}r~r�set_child_watcher�r#�policy�watcherr7s   �rr2�SubprocessWatcherMixin.setUp�s�����G�M�O��2�2�4�F��-�-�/�D�I�����	�	�*��'�'�)�G�����	�	�*��(�(�*��%�%�h�0B�C��(�(��1�+�*�*�s�-C�
Cc�d>�[TU]5 [R"5n[R
"5 [R"S[5 UR5nURS5 SSS5 WRS5 UR5 g!,(df   N0=fr:)r1�tearDownrr;r|r}r~rr�r?r>rYr@s   �rrE�SubprocessWatcherMixin.tearDown�s|����G����2�2�4�F��(�(�*��%�%�h�0B�C� �2�2�4���(�(��.�+�
����%��M�M�O�+�*�s�=B!�!
B/rq)	r(r)r*r+�Watcherr2rEr,rrrss@rr8r8�s�����
	2�	�	rr8c��\rSrSrSrSrg)�SubprocessThreadedWatcherTestsi�c�,�[R"5$r)r�ThreadedChildWatcherr�s rr=�+SubprocessThreadedWatcherTests._get_watcher�s���3�3�5�5rrN�r(r)r*r+r=r,rrrrIrI�s��	6rrIc��\rSrSrSrSrg)�SubprocessSafeWatcherTestsi�c��UR[5 [R"5sSSS5 $!,(df   g=fr)�assertWarnsrr�SafeChildWatcherr�s rr=�'SubprocessSafeWatcherTests._get_watcher��)���!�!�"4�5�"�3�3�5�6�5�5��	�5�
ArNrMrrrrOrO����	6rrOc��\rSrSrSrSrg)�MultiLoopChildWatcherTestsi�c��UR[5 [R"5 SSS5 g!,(df   g=fr)rQrr�MultiLoopChildWatcherr�s r�
test_warns�%MultiLoopChildWatcherTests.test_warns�s)���!�!�"4�5��1�1�3�6�5�5�s	�5�
ArN)r(r)r*r+r[r,rrrrXrX�s��	4rrXc��\rSrSrSrSrg)r{i�c��UR[5 [R"5sSSS5 $!,(df   g=fr)rQrr�FastChildWatcherr�s rr=�'SubprocessFastWatcherTests._get_watcher�rTrUrNrMrrrr{r{�rVrr{�(operating system does not support pidfdsc��\rSrSrSrSrg)�SubprocessPidfdWatcherTestsi�c�,�[R"5$r)r�PidfdChildWatcherr�s rr=�(SubprocessPidfdWatcherTests._get_watcher�s���0�0�2�2rrNrMrrrrcrc�s��	3rrcc�j�\rSrSrSr\R"\R"5S5S5r	Sr
g)�GenericWatcherTestsic
�^^�[R"[R5mSTRlUU4Sjn[R"[RS9n[R"5 [R"S[5 TRURU"555 SSS5 SSS5 TRTR[R R#5[R R	5[R R%[&[R([R(5/TR5 g!,(df   N�=f!,(df   N�=f)NFc��T># �[R"T5 TR[5 [R
"[R"[R5SS5IShv�N SSS5 TRR5 gN'!,(df   N+=f7f)Nr
r�)rr?rR�RuntimeErrorrr{rr�r�r��add_child_handler�assert_not_called)r#rBs��rr��WGenericWatcherTests.test_create_subprocess_fails_with_inactive_watcher.<locals>.executesz�����)�)�'�2��&�&�|�4�$�;�;�!�*�*�3�>�>�:�D�&�J�J�J�5��)�)�;�;�=�J�5�4�s.�,B(�>B�-B�.B�2#B(�B�
B%�!B(��loop_factoryrx)r�create_autospecr�AbstractChildWatcher�	is_active�return_value�Runnerr<r|r}r~rrOr��assertListEqual�
mock_calls�call�	__enter__�__exit__rk�ANY)r#r��runnerrBs`  @r�2test_create_subprocess_fails_with_inactive_watcher�FGenericWatcherTests.test_create_subprocess_fails_with_inactive_watchers�����*�*�7�+G�+G�H�G�-2�G���*�
>����W�-C�-C�D���,�,�.��)�)�(�4F�G��%�%�f�j�j���&;�<�/�E�
� � ��!3�!3��	�	�#�#�%��	�	�#�#�%��	�	�"�"�<����4�8�8�D�6��!�!�	
#�/�.��E�D�s%�!E;�7AE*�8E;�*
E8	�4E;�;
F	rac��^^�SmUU4SjnTR[5 [R"[R"55 SSS5 [R
"[RS9nURU"55up4SSS5 TRWS5 TRWS5 TR[5 [R"S5 SSS5 g!,(df   N�=f!,(df   Nx=f!,(df   g=f!TR[5 [R"S5 SSS5 f!,(df   f=f=f)Nc���# �[R"[[R[RS.6IShv�NnURS5IShv�NupURU4$N-N7f)Nrzr�)rr{r�rr|r�r�)r�r r!s   r�	in_thread�HGenericWatcherTests.test_create_subprocess_with_pidfd.<locals>.in_thread!s\���$�;�;� �$�/�/�%�?�?����
(,�'7�'7��'E�!E�������.�.�
�
"F�s!�;A/�A+�A/�A-�A/�-A/c��># �[R"5 [R"S[5 TR	[
[45 [R"5R5 SSS5 SSS5 [R"[RT"55IShv�N$!,(df   NH=f!,(df   NQ=fN&7f)N�error)r|r}r~rrRrkrr;�get_event_loop�	to_threadr�)r�r#s��rr��CGenericWatcherTests.test_create_subprocess_with_pidfd.<locals>.main*s������,�,�.��)�)�'�3E�F��*�*�L�:L�+M�N��5�5�7�F�F�H�O�/�%�.�.�w�{�{�I�K�H�H�H�O�N��/�.��I�s@�C�7C�$B6�4C�<5C�1C�2C�6
C	�C�
C�Crorr�)	rQrrr?rerur<r�rE)r#r�r|r�r r�s`    @r�!test_create_subprocess_with_pidfd�5GenericWatcherTests.test_create_subprocess_with_pidfds����

/�	
I��!�!�"4�5��)�)�'�*C�*C�*E�F�6�
4��^�^��1G�1G�H�F�)/���D�F�);�&�J�I�� � ��Q�/�� � ���6��%�%�&8�9��-�-�d�3�:�9�6�5��I�H��
:�9��T�%�%�&8�9��-�-�d�3�:�9�9�sS�*C1�"D$�7D�,D$�D�1
C?�
D�D$�
D!�$E+�:E�	E+�
E(�$E+rN)r(r)r*r+r}r3�
skipUnlessr�
can_use_pidfdr�r,rrrrhrhs5��	#�0
�	�	��%�%�'�6�

�	4�	

�	4rrhc�(^�\rSrSrU4SjrSrU=r$)�SubprocessProactorTestsi@c�>�[TU]5 [R"5UlURUR5 gr)r1r2r�ProactorEventLoopr4r5r6s �rr2�SubprocessProactorTests.setUpBs.����G�M�O��1�1�3�D�I�����	�	�*rrq)r(r)r*r+r2r,rrrss@rr�r�@s
���	+�	+rr��__main__)0r�rUr�r�r3r|rrrr�test.test_asynciorr�r:r�test.supportrr	r
�has_subprocess_support�SkipTestr�r�r�check_sanitizerr�r�rr�r�BaseSubprocessTransportr�TestCaser.rur�r8rIrOrXr{r�r�rcrhr�r(r�rrr�<module>r�s���	�
�
������#��1��?�?��%�%�
�
�
�=�
>�>�
����#����4�(�
�
�
�A�
B�B��>�>�4�)H�I���N�N�D��H�H�/�0�1��(��o�E�E��[�z�2�2�[�|m�m�^�<�<�7�����46�)?�)3�)<�)<�6�6�%;�%/�%8�%8�6�4�Z�%8�%8�4�6�%;�%/�%8�%8�6�����!�!�#�2��3�&<�&0�&9�&9�3�	�3�;4�j�1�1�;4�|+�/�:�3F�3F�+��z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit