Sindbad~EG File Manager

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

�

(Μg����dZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
Z
ddlmZ	ddl
Z
ddlZddlmZd�ZGd�dej(�Zed	k(rej.�yy#e$rdZ
Y�CwxYw)
zTests for streams.py.�N)�mock)�
socket_helper)�utilsc�.�tjd�y�N)�asyncio�set_event_loop_policy���;/usr/local/lib/python3.12/test/test_asyncio/test_streams.py�tearDownModuler
s���!�!�$�'rc�*��eZdZdZ�fd�Z�fd�Zd�Zd�Zejd��Z
d�Zejedud	�d
��Zejejedud	�d���Zd�Zd
�Zejd��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d �Z%d!�Z&d"�Z'd#�Z(d$�Z)d%�Z*d&�Z+d'�Z,d(�Z-d)�Z.d*�Z/d+�Z0d,�Z1d-�Z2d.�Z3d/�Z4ejd0��Z5ejedud	�d1��Z6eje7jpd2k(d3�d4��Z9d5�Z:d6�Z;d7�Z<d8�Z=d9�Z>d:�Z?d;�Z@d<�ZAd=�ZBd>�ZCd?�ZDd@�ZEdA�ZFdB�ZGdC�ZHdD�ZIdE�ZJdF�ZKdG�ZLdH�ZMdI�ZNdJ�ZOdK�ZPdL�ZQdM�ZRdN�ZSdO�ZT�xZUS)P�StreamTestssline1
line2
line3
c���t�|��tj�|_|j|j�yr)�super�setUpr�new_event_loop�loop�set_event_loop��self�	__class__s �rrzStreamTests.setUps.���
��
���*�*�,��	����D�I�I�&rc�`��tj|j�t�|��yr)�
test_utils�run_brieflyrr�tearDownrs �rrzStreamTests.tearDown$s"������t�y�y�)�	���rc���g�|jj�fd��|jj|�\}}|jd�|j	�}|jj|�}|j|d�|j
�}|jj|�}|j|jd��|j�|j�g�y)Nc�&���j|�Sr��append�r�ctx�messagess  �r�<lambda>z7StreamTests._basetest_open_connection.<locals>.<lambda>-����(�/�/�#�:Nr�GET / HTTP/1.0

�HTTP/1.0 200 OK
�

Test message)
r�set_exception_handler�run_until_complete�write�readline�assertEqual�read�
assertTrue�endswith�close�r�open_connection_fut�reader�writer�f�datar#s      @r�_basetest_open_connectionz%StreamTests._basetest_open_connection+s�������	�	�'�'�(N�O����5�5�6I�J�������.�/��O�O����y�y�+�+�A�.������5�6��K�K�M���y�y�+�+�A�.������
�
�&=�>�?���������2�&rc��tj�5}tj|j�}|j|�ddd�y#1swYyxYwr)r�run_test_serverr�open_connection�addressr8�r�httpd�conn_futs   r�test_open_connectionz StreamTests.test_open_connection9s>��
�
'�
'�
)�U��.�.��
�
�>�H��*�*�8�4�*�
)�
)���.A�Ac��tj�5}tj|j�}|j|�ddd�y#1swYyxYwr)r�run_test_unix_serverr�open_unix_connectionr<r8r=s   r�test_open_unix_connectionz%StreamTests.test_open_unix_connection>s>��
�
,�
,�
.�%��3�3�E�M�M�B�H��*�*�8�4�/�
.�
.���1A�Ac����g�|jj�fd��	|jj|�\}}tjd�|jd�|j
�}|jj|�}|j|jd��|j�|j�g�y#tjd�wxYw)Nc�&���j|�Srrr!s  �rr$zCStreamTests._basetest_open_connection_no_loop_ssl.<locals>.<lambda>Fr%rr&r()rr)r*rrr+r.r/r0r1r-r2s      @r�%_basetest_open_connection_no_loop_sslz1StreamTests._basetest_open_connection_no_loop_sslDs�������	�	�'�'�(N�O�	)�!�Y�Y�9�9�:M�N�N�F�F��"�"�4�(����.�/��K�K�M���y�y�+�+�A�.������
�
�&=�>�?���������2�&��
�"�"�4�(�s�C�C,Nz
No ssl modulec���tjd��5}tj|jdtj
�i�}|j
|�ddd�y#1swYyxYw)NT��use_ssl�ssl)rr:rr;r<�dummy_ssl_contextrIr=s   r� test_open_connection_no_loop_sslz,StreamTests.test_open_connection_no_loop_sslSsV��
�
'�
'��
5���.�.����4��0�0�2�4�H�
�6�6�x�@�6�
5�
5�s�AA#�#A,c���tjd��5}tj|jtj
�d��}|j
|�ddd�y#1swYyxYw)NTrK�)rM�server_hostname)rrCrrDr<rNrIr=s   r�%test_open_unix_connection_no_loop_sslz1StreamTests.test_open_unix_connection_no_loop_ssl\sV���
,�
,�T�
:�e��3�3��
�
��0�0�2� "��H�
�6�6�x�@�;�
:�
:�s�AA&�&A/c����g�|jj�fd��|jj|�\}}|jj	t��|j
�}|jt
�5|jj|�ddd�|j�tj|j�|j�g�y#1swY�KxYw)Nc�&���j|�Srrr!s  �rr$z=StreamTests._basetest_open_connection_error.<locals>.<lambda>jr%r)rr)r*�	_protocol�connection_lost�ZeroDivisionErrorr.�assertRaisesr1rrr-)rr3r4r5r6r#s     @r�_basetest_open_connection_errorz+StreamTests._basetest_open_connection_errorhs�������	�	�'�'�(N�O����5�5�6I�J�������(�(�):�)<�=��K�K�M��
�
�
�0�
1��I�I�(�(��+�2��������t�y�y�)�����2�&�	2�
1�s�C.�.C7c��tj�5}tj|j�}|j|�ddd�y#1swYyxYwr)rr:rr;r<rZr=s   r�test_open_connection_errorz&StreamTests.test_open_connection_errorts>��
�
'�
'�
)�U��.�.��
�
�>�H��0�0��:�*�
)�
)�rAc��tj�5}tj|j�}|j|�ddd�y#1swYyxYwr)rrCrrDr<rZr=s   r�test_open_unix_connection_errorz+StreamTests.test_open_unix_connection_errorys>��
�
,�
,�
.�%��3�3�E�M�M�B�H��0�0��:�/�
.�
.�rFc��tj|j��}|jd�|j	d|j
�y�N�rr)r�StreamReaderr�	feed_datar-�_buffer�r�streams  r�test_feed_empty_dataz StreamTests.test_feed_empty_datas8���%�%�4�9�9�5�����������f�n�n�-rc���tj|j��}|j|j�|j|j|j�y�Nra)rrbrrc�DATAr-rdres  r�test_feed_nonempty_dataz#StreamTests.test_feed_nonempty_data�s@���%�%�4�9�9�5��������#�������F�N�N�3rc�>�tj|j��}|j|j�|jj|j
d��}|jd|�|j|j|j�y)Nrarr)	rrbrrcrjr*r.r-rd�rrfr7s   r�test_read_zerozStreamTests.test_read_zero�sl���%�%�4�9�9�5��������#��y�y�+�+�F�K�K��N�;������d�#�������F�N�N�3rc����tj�j����jj�j	d��}��fd�}�jj|��jj
|�}�j�j|��jd�j�y)Nra�c�<���j�j�yr�rcrjres��r�cbz!StreamTests.test_read.<locals>.cb�s������T�Y�Y�'rr)
rrbr�create_taskr.�	call_soonr*r-rjrd�r�	read_taskrsr7rfs`   @r�	test_readzStreamTests.test_read�s�����%�%�4�9�9�5���I�I�)�)�&�+�+�b�/�:�	�	(��	�	���B���y�y�+�+�I�6��������D�)�����f�n�n�-rc�8�tj|j��}|jd�|jd�|jj	|jd��}|j
d|�|j
d|j�y)Nrasline1sline2��rrbrrcr*r.r-rdrms   r�test_read_line_breaksz!StreamTests.test_read_line_breaks�sr���%�%�4�9�9�5������"�����"��y�y�+�+�F�K�K��N�;������4�(�����6�>�>�2rc�l��tj|j���|jj�j	d��}�fd�}|jj|�|jj
|�}|jd|�|jd�j�y)Nraic�&���j�yr)�feed_eof�rfs�rrsz%StreamTests.test_read_eof.<locals>.cb�s
����O�O�rr�	rrbrrtr.rur*r-rdrvs    @r�
test_read_eofzStreamTests.test_read_eof�s�����%�%�4�9�9�5���I�I�)�)�&�+�+�d�*;�<�	�	��	�	���B���y�y�+�+�I�6������d�#�����f�n�n�-rc�l��tj|j���|jj�j	d��}�fd�}|jj|�|jj
|�}|jd|�|jd�j�y)Nra���c�j���jd��jd��j�y)Nschunk1
�chunk2�rcrr�s�rrsz+StreamTests.test_read_until_eof.<locals>.cb�s)������[�)����Y�'��O�O�rs
chunk1
chunk2rr�rvs    @r�test_read_until_eofzStreamTests.test_read_until_eof�s�����%�%�4�9�9�5���I�I�)�)�&�+�+�b�/�:�	�	�	
�	�	���B���y�y�+�+�I�6�����*�D�1�����f�n�n�-rc��tj|j��}|jd�|jj	|jd��}|j
d|�|jt��|jt|jj|jd��y�Nra�line
��li)
rrbrrcr*r.r-�
set_exception�
ValueErrorrYrms   r�test_read_exceptionzStreamTests.test_read_exception�s����%�%�4�9�9�5������#��y�y�+�+�F�K�K��N�;�������%����Z�\�*������	�	�4�4�f�k�k�!�n�	Frc�4�|jtd�5tjd|j��ddd�|jtd�5tjd|j��ddd�y#1swY�JxYw#1swYyxYw)N�imitr��limitrr�)�assertRaisesRegexr�rrbr�rs r�test_invalid_limitzStreamTests.test_invalid_limit�sk��
�
#�
#�J��
7�� � �q�t�y�y�9�8��
#�
#�J��
7�� � �r��	�	�:�8�
7�8�
7��8�
7�s�"B�"B�B�Bc��tjd|j��}|jd�|jj	|jd��}|j
d|�|j
d|j�y�N�r�schunkrzrr{rms   r�test_read_limitzStreamTests.test_read_limit�sf���%�%�A�D�I�I�>������"��y�y�+�+�F�K�K��N�;������4�(�����f�n�n�-rc���tj|j����jd�|jj	�j��}�fd�}|jj
|�|jj|�}|jd|�|jd�j�y)Nraschunk1 c�l���jd��jd��jd�y)Nschunk2 schunk3 s
 chunk4)rcr�s�rrsz%StreamTests.test_readline.<locals>.cb�s-������Z�(����Z�(����\�*rschunk1 chunk2 chunk3 
s chunk4)
rrbrrcrtr,rur*r-rd)rrwrs�linerfs    @r�
test_readlinezStreamTests.test_readline�s�����%�%�4�9�9�5������$��I�I�)�)�&�/�/�*;�<�	�	+�	
�	�	���B���y�y�+�+�I�6�����3�T�:�����V�^�^�4rc��tjd|j��}|jd�|jd�|j	t
|jj|j��|jd|j�tjd|j��}|jd�|jd�|jd�|j	t
|jj|j��|jd|j�y)Nr�r�r�s
ne1
line2
sline2
sne1r)
rrbrrcrYr�r*r,r-rdres  r�&test_readline_limit_with_existing_dataz2StreamTests.test_readline_limit_with_existing_data�s����%�%�A�D�I�I�>�����������)������	�	�4�4�f�o�o�6G�	I�	
����V�^�^�4��%�%�A�D�I�I�>����������� �����������	�	�4�4�f�o�o�6G�	I�	
����f�n�n�-rc�D�tj|j��}|j|j	��|jd�|j|j	��|jj
|j��|j|j	��|jd�|j�|jj
|j��|j|j	��y)Nras
some data
)
rrbr�assertFalse�at_eofrcr*r,rr/res  r�test_at_eofzStreamTests.test_at_eofs����%�%�4�9�9�5���������)�����(��������)��	�	�$�$�V�_�_�%6�7��������)�����(������	�	�$�$�V�_�_�%6�7�����
�
��(rc�p��tjd|j����fd�}|jj|�|j	t
|jj�j��|jd�j�tjd|j����fd�}|jj|�|j	t
|jj�j��|jd�j�tjd|j����jd�|jj
�j��}|jd|�|jd�j��jd�|j	t
�5}|jj
�j��ddd�|jd�j��jd	�|j	t
�5}|jj
�j��ddd�|jd�j�y#1swY��xYw#1swY�2xYw)
N�r�c����jd��jd��jd��j�y)N�chunk1r��chunk3
r�r�s�rrsz+StreamTests.test_readline_limit.<locals>.cb"s7������Y�'����Y�'����[�)��O�O�rrc����jd��jd��jd��j�y)Nr�schunk2
r�r�r�s�rrsz+StreamTests.test_readline_limit.<locals>.cb0s7������Y�'����[�)����[�)��O�O�rr�s1234567
s	12345678
s12345678)rrbrrurYr�r*r,r-rdrc)rrsr��cmrfs    @r�test_readline_limitzStreamTests.test_readline_limits�����%�%�A�D�I�I�>��	�
	
�	�	���B�������	�	�4�4�f�o�o�6G�	I�	
����f�n�n�-��%�%�A�D�I�I�>��	�
	
�	�	���B�������	�	�4�4�f�o�o�6G�	I�����f�n�n�5��%�%�A�D�I�I�>������&��y�y�+�+�F�O�O�,=�>������t�,�����f�n�n�-�����'�
�
�
�z�
*�b��I�I�(�(����):�;�+�����f�n�n�-�����%�
�
�
�z�
*�b��I�I�(�(����):�;�+�����f�n�n�-�+�
*��
+�
*�s�*J �*J,� J)�,J5c�j�tj|j��}|j|jdd�|j|jdd�|jj|j
��}|jd|�|jd|j�y)Nra�sline1
sline2
line3
)	rrbrrcrjr*r,r-rd�rrfr�s   r�test_readline_nolimit_nowaitz(StreamTests.test_readline_nolimit_nowaitLs����%�%�4�9�9�5��������2�A��'�������1�2��'��y�y�+�+�F�O�O�,=�>������T�*����*�F�N�N�;rc��tj|j��}|jd�|j	�|jj|j
��}|jd|�y)Nras	some data)rrbrrcrr*r,r-r�s   r�test_readline_eofzStreamTests.test_readline_eofXsY���%�%�4�9�9�5������&������y�y�+�+�F�O�O�,=�>������t�,rc���tj|j��}|j�|jj	|j��}|j
d|�yr`)rrbrrr*r,r-r�s   r�test_readline_empty_eofz#StreamTests.test_readline_empty_eof`sK���%�%�4�9�9�5�������y�y�+�+�F�O�O�,=�>������d�#rc�|�tj|j��}|j|j�|jj|j
��|jj|jd��}|jd|�|jd|j�y)Nrar�sline2
lsine3
)
rrbrrcrjr*r,r.r-rdrms   r�test_readline_read_byte_countz)StreamTests.test_readline_read_byte_countgs����%�%�4�9�9�5��������#��	�	�$�$�V�_�_�%6�7��y�y�+�+�F�K�K��N�;������d�+�����F�N�N�3rc��tj|j��}|jd�|jj	|j��}|j
d|�|jt��|jt|jj|j��|j
d|j�y)Nrar�r)rrbrrcr*r,r-r�r�rYrdrms   r�test_readline_exceptionz#StreamTests.test_readline_exceptionrs����%�%�4�9�9�5������#��y�y�+�+�F�O�O�,=�>������D�)����Z�\�*������	�	�4�4�f�o�o�6G�	I�����f�n�n�-rc���tj|j��}|jtd�5|jj|j
d���ddd�y#1swYyxYw)NrazSeparator should ber��	separator)rrbrr�r�r*�	readuntilres  r�test_readuntil_separatorz$StreamTests.test_readuntil_separator~sT���%�%�4�9�9�5��
�
#�
#�J�0E�
F��I�I�(�(��)9�)9�C�)9�)H�I�G�
F�
F�s�,A,�,A5c��tj|j��}|jd�|jj	|jd���}|j
d|�|j
d|j�|jd�|jj	|jd��}|j
d|�|j
d|j�|jd�|jj	|jd��}|j
d|�|j
d|j�y)NraslineAAA�AAAr�rs
lineAAAxxxsxxx�rrbrrcr*r�r-rdrms   r�test_readuntil_multi_chunksz'StreamTests.test_readuntil_multi_chunks�s���%�%�4�9�9�5������$��y�y�+�+�F�,<�,<�v�,<�,N�O������T�*�����f�n�n�-�����$��y�y�+�+�F�,<�,<�V�,D�E������T�*�����f�n�n�-�����'��y�y�+�+�F�,<�,<�V�,D�E������T�*��������0rc�L�tj|j��}|jd�|jd�|jd�|jj	|jd��}|j
d|�|j
d|j�|jd�|jd�|jd	�|jj	|jd��}|j
d|�|j
d|j�|jd�|jj	|jd��}|j
d|�|j
d|j�|jd
�|jj	|jd��}|j
d
|�|j
d|j�|jd�|jd�|jd�|jd�|jj	|jd��}|j
d|�|j
d|j�y)
NrasQWEaasXYaa�asaaas
QWEaaXYaaarsXYasaasXaaasXXXsXXXaaar�rms   r�test_readuntil_multi_chunks_1z)StreamTests.test_readuntil_multi_chunks_1�s
���%�%�4�9�9�5������"�����!�������y�y�+�+�F�,<�,<�V�,D�E�������-�����f�n�n�-�����"����� �������y�y�+�+�F�,<�,<�V�,D�E�������-�����f�n�n�-����� ��y�y�+�+�F�,<�,<�V�,D�E�������&�����f�n�n�-�����!��y�y�+�+�F�,<�,<�V�,D�E������$�'�����f�n�n�-����� �����������������y�y�+�+�F�,<�,<�V�,D�E������D�)�����f�n�n�-rc��tj|j��}d}|j|�|j	�|jtjd�5}|jj|jd��ddd�|jjj|�|j|jj�|jd|j�y#1swY�qxYw)Nra�some dataAAzundefined expected bytesr�r)rrbrrcrr��IncompleteReadErrorr*r�r-�	exception�partial�assertIsNone�expectedrd)rrfr7r�s    r�test_readuntil_eofzStreamTests.test_readuntil_eof�s����%�%�4�9�9�5�������������
�
#�
#�G�$?�$?�$>�@�CE��I�I�(�(��)9�)9�&�)A�B�@�	
������-�-�t�4����"�,�,�/�/�0�����f�n�n�-�@�@�s�$+C?�?Dc�v�tj|jd��}|jd�|j	tj
d�5}|jj
|jd��ddd�|jd|j�|jd�|j	tj
d�5}|jj
|jd��ddd�|jd|j�y#1swY��xYw#1swY�2xYw)	Nr��rr�r�z	not foundr��Azis foundssome dataAAA)
rrbrrcr��LimitOverrunErrorr*r�r-rd)rrfr�s   r�test_readuntil_limit_found_sepz*StreamTests.test_readuntil_limit_found_sep�s����%�%�4�9�9�A�>������(�
�
#�
#�G�$=�$=�$/�1�46��I�I�(�(��)9�)9�&�)A�B�1�	
�������8������
�
#�
#�G�$=�$=�$.�0�35��I�I�(�(��)9�)9�&�)A�B�0�	
����&�.�.�9�1�1��0�0�s�+D#�+D/�#D,�/D8c�4�tj|j��}|j|j�|jj|j
d��}|jd|�|j|j|j�|jtd�5|jj|j
d��ddd�|j|j|j�y#1swY�0xYw)Nrarrzless than zeror�)rrbrrcrjr*�readexactlyr-rdr�r�rms   r�test_readexactly_zero_or_lessz)StreamTests.test_readexactly_zero_or_less�s����%�%�4�9�9�5��������#��y�y�+�+�F�,>�,>�q�,A�B������d�#�������F�N�N�3�
�
#�
#�J�0@�
A��I�I�(�(��);�);�B�)?�@�B�������F�N�N�3�B�
A�s�4+D�Dc�����tj�j���dt�j�z}�jj�j
|��}��fd�}�jj|��jj|�}�j�j�jz|��j�j�j�y)Nrar�c����j�j��j�j��j�j�yrrrres��rrsz(StreamTests.test_readexactly.<locals>.cb�s9������T�Y�Y�'����T�Y�Y�'����T�Y�Y�'r)rrbr�lenrjrtr�rur*r-rd)r�nrwrsr7rfs`    @r�test_readexactlyzStreamTests.test_readexactly�s�����%�%�4�9�9�5��
��D�I�I�����I�I�)�)�&�*<�*<�Q�*?�@�	�	(�	
�	�	���B���y�y�+�+�I�6��������T�Y�Y�.��5�������F�N�N�3rc��tjd|j��}|jd�|jj	|jd��}|j
d|�|j
d|j�yr�)rrbrrcr*r�r-rdrms   r�test_readexactly_limitz"StreamTests.test_readexactly_limit�si���%�%�A�D�I�I�>������"��y�y�+�+�F�,>�,>�q�,A�B������4�(�����f�n�n�-rc�����tj�j���dt�j�z}�jj�j
|��}��fd�}�jj|��jtj�5}�jj|�ddd��jjj�j��j|jj|��jt|j�d��jd�j �y#1swY��xYw)Nrar�c�\���j�j��j�yr)rcrjrres��rrsz,StreamTests.test_readexactly_eof.<locals>.cbs������T�Y�Y�'��O�O�rz-18 bytes read on a total of 36 expected bytesr)rrbrr�rjrtr�rurYr�r*r-r�r�r��strrd)rr�rwrsr�rfs`    @r�test_readexactly_eofz StreamTests.test_readexactly_eof�s����%�%�4�9�9�5��
��D�I�I�����I�I�)�)�&�*<�*<�Q�*?�@�	�	�	
�	�	���B��
�
�
�w�:�:�
;�r��I�I�(�(��3�<�������-�-�t�y�y�9�������.�.��2�����R�\�\�*�H�	J�����f�n�n�-�
<�
;�s�%E!�!E*c��tj|j��}|jd�|jj	|jd��}|j
d|�|jt��|jt|jj|jd��yr�)
rrbrrcr*r�r-r�r�rYrms   r�test_readexactly_exceptionz&StreamTests.test_readexactly_exception
s����%�%�4�9�9�5������#��y�y�+�+�F�,>�,>�q�,A�B�������%����Z�\�*������	�	�4�4�f�6H�6H��6K�	Mrc��tj|j��}|j|j	��t�}|j
|�|j|j	�|�yri)rrbrr�r�r�r��assertIs�rrf�excs   r�test_exceptionzStreamTests.test_exceptionsY���%�%�4�9�9�5�����&�*�*�,�-��l�����S�!��
�
�f�&�&�(�#�.rc���tj|j����fd�}|jj�j	��}|jj|��}|jjtj||g��|jt|j�y)Nrac��@�K��jt��y�wr)r�r�r�s�r�set_errz2StreamTests.test_exception_waiter.<locals>.set_err#s������ � ���.�s�)
rrbrrtr,r*�waitrYr��result)rr��t1�t2rfs    @r�test_exception_waiterz!StreamTests.test_exception_waiter s�����%�%�4�9�9�5��	/��Y�Y�
"�
"�6�?�?�#4�
5��
�Y�Y�
"�
"�7�9�
-���	�	�$�$�W�\�\�2�r�(�%;�<����*�b�i�i�0rc���tj|j��}|jj|j	��}tj|j�|j�tj|j�|jtd��tj|j�|j|jd�y)Nra�message)rrbrrtr,rr�cancelr��RuntimeErrorr��_waiter)rrf�ts   r�test_exception_cancelz!StreamTests.test_exception_cancel-s����%�%�4�9�9�5���I�I�!�!�&�/�/�"3�4�����t�y�y�)�	���
����t�y�y�)����\�)�4�5����t�y�y�)��
�
�f�n�n�d�+rc�|��Gd�d�}d�}g�|jj�fd��||j�}|j�}|jj|jj	||���}|j�|j
|d�||j�}|j�}|jj|jj	||���}|j�|j
|d�|j
�g�y)Nc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�/StreamTests.test_start_server.<locals>.MyServerc� �d|_||_yr��serverr�rrs  r�__init__z8StreamTests.test_start_server.<locals>.MyServer.__init__=���"��� ��	rc���K�|j��d{���}|j|�|j��d{���|j�|j	��d{���y7�V7�/7�	�wr�r,r+�drainr1�wait_closed�r�
client_reader�
client_writerr7s    r�
handle_clientz=StreamTests.test_start_server.<locals>.MyServer.handle_clientA�b����*�3�3�5�5���#�#�D�)�#�)�)�+�+�+��#�#�%�#�/�/�1�1�1�	6��+��1��2�A3�A-�(A3�A/�'A3�'A1�(A3�/A3�1A3c���tjd�}|jjt	j
|j|���|_|j�S�N�z	127.0.0.1r)�sock�	�socket�
create_serverrr*r�start_serverrr��getsockname�rr
s  r�startz5StreamTests.test_start_server.<locals>.MyServer.startH�S���+�+�,<�=��"�i�i�:�:��(�(��);�);�.2�4�5����'�'�)�)rc�Z�|jj|j||��yr�rrtr�rrrs   r�handle_client_callbackzFStreamTests.test_start_server.<locals>.MyServer.handle_client_callbackO�(���	�	�%�%�d�&8�&8��9F�'H�Irc��tjd�}|j�}|j�|jjt
j|j|d|d���|_	|S)Nrr�)�host�port)
rrrr1rr*rrrr�)rr
�addrs   r�start_callbackz>StreamTests.test_start_server.<locals>.MyServer.start_callbackSsl���+�+�,<�=���'�'�)���
�
��"�i�i�:�:��(�(��)D�)D�.2�1�g�D��G�E�F����rc���|j�U|jj�|jj|jj	��d|_yyr�r�r1rr*rr�s r�stopz4StreamTests.test_start_server.<locals>.MyServer.stop\�G���;�;�*��K�K�%�%�'��I�I�0�0����1H�1H�1J�K�"&�D�K�+rN�	�__name__�
__module__�__qualname__r�rrrr r#r
rr�MyServerr�;s!��
!�
2�
*�
I�
�
'rr)c��K�tj|��d{���\}}|jd�|j��d{���}|j	�|j��d{���|S7�Z7�07�
�w�N�
hello world!
)rr;r+r,r1r)rr4r5�msgbacks    r�clientz-StreamTests.test_start_server.<locals>.clientbsi����#*�#:�#:�D�#A�A�N�F�F��L�L�*�+�"�O�O�-�-�G��L�L�N��$�$�&�&�&��N�B��.��&�s3�A9�A3�+A9�A5�'A9�,A7�-A9�5A9�7A9c�&���j|�Srrr!s  �rr$z/StreamTests.test_start_server.<locals>.<lambda>mr%rr,)rr)rr*rtr#r-r )rr)r.r�r�msgr#s      @r�test_start_serverzStreamTests.test_start_server9s����%	'�%	'�N	����	�	�'�'�(N�O��$�)�)�$���|�|�~���i�i�*�*�4�9�9�+@�+@����+N�O�����
�����/�0��$�)�)�$���$�$�&���i�i�*�*�4�9�9�+@�+@����+N�O�����
�����/�0�����2�&rc�$��Gd�d�}d�}g�|jj�fd��tj�5}||j|�}|j	�|jj|jj
||���}|j�|j|d�ddd�tj�5}||j|�}|j�|jj|jj
||���}|j�|j|d�ddd�|j�g�y#1swY��xYw#1swY�(xYw)Nc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�4StreamTests.test_start_unix_server.<locals>.MyServerc�.�d|_||_||_yr)r�r�path)rrr6s   rr�z=StreamTests.test_start_unix_server.<locals>.MyServer.__init__�s��"��� ��	� ��	rc���K�|j��d{���}|j|�|j��d{���|j�|j	��d{���y7�V7�/7�	�wrrrs    rrzBStreamTests.test_start_unix_server.<locals>.MyServer.handle_client�rr	c��|jjtj|j|j
���|_y�N)r6)rr*r�start_unix_serverrr6r�r�s rrz:StreamTests.test_start_unix_server.<locals>.MyServer.start�s5��"�i�i�:�:��-�-�d�.@�.@�37�9�9�>�?��rc�Z�|jj|j||��yrrrs   rrzKStreamTests.test_start_unix_server.<locals>.MyServer.handle_client_callback�rrc��tj|j|j��}|jj|�|_yr9)rr:rr6rr*r�)rrs  rr zCStreamTests.test_start_unix_server.<locals>.MyServer.start_callback�s8���1�1�$�2M�2M�7;�y�y�B��"�i�i�:�:�5�A��rc���|j�U|jj�|jj|jj	��d|_yyrr"r�s rr#z9StreamTests.test_start_unix_server.<locals>.MyServer.stop�r$rNr%r
rrr)r4�s"��
!�

2�
?�

I�
B�

'rr)c��K�tj|��d{���\}}|jd�|j��d{���}|j	�|j��d{���|S7�Z7�07�
�wr+)rrDr+r,r1r)r6r4r5r-s    rr.z2StreamTests.test_start_unix_server.<locals>.client�si����#*�#?�#?��#E�E�N�F�F��L�L�*�+�"�O�O�-�-�G��L�L�N��$�$�&�&�&��N�F��.��&�s3�A<�A6�+A<�A8�'A<�/A:�0A<�8A<�:A<c�&���j|�Srrr!s  �rr$z4StreamTests.test_start_unix_server.<locals>.<lambda>�r%rr,)
rr)r�unix_socket_pathrr*rtr#r-r )rr)r.r6r�r0r#s      @r�test_start_unix_serverz"StreamTests.test_start_unix_servers8��� 	'� 	'�D	����	�	�'�'�(N�O��
(�
(�
*�d��d�i�i��.�F��L�L�N��)�)�.�.��	�	�%�%�f�T�l�3�5�C��K�K�M����S�"3�4�
+��
(�
(�
*�d��d�i�i��.�F��!�!�#��)�)�.�.��	�	�%�%�f�T�l�3�5�C��K�K�M����S�"3�4�
+�	
����2�&�#+�
*��+�
*�s�BE:�BF�:F�Fc�x��Gd�d�}d�}g�|jj�fd��||j�}|j�}|jj||��\}}|j	�|j�g�|j|d�|j|d�y)Nc�$�eZdZd�Zd�Zd�Zd�Zy)�,StreamTests.test_start_tls.<locals>.MyServerc� �d|_||_yrr�r�s  rr�z5StreamTests.test_start_tls.<locals>.MyServer.__init__�r�rc���K�|j��d{���}|j|�|j��d{���|jt	j
���d{���|j��d{���}|j|�|j��d{���|j
�|j��d{���y7��7��7�r7�\7�57��wr)r,r+r�	start_tlsr�simple_server_sslcontextr1r)rrr�data1�data2s     rrz:StreamTests.test_start_tls.<locals>.MyServer.handle_client�s�����+�4�4�6�6���#�#�E�*�#�)�)�+�+�+�#�-�-��7�7�9�;�;�;�,�4�4�6�6���#�#�E�*�#�)�)�+�+�+��#�#�%�#�/�/�1�1�1�7��+��;��7��+��1�sh�C%�C�(C%�C�*C%�*C�+C%�C�(C%�+C!�,'C%�C#�C%�C%�C%�C%�!C%�#C%c���tjd�}|jjt	j
|j|���|_|j�Srrrs  rrz2StreamTests.test_start_tls.<locals>.MyServer.start�rrc���|j�U|jj�|jj|jj	��d|_yyrr"r�s rr#z1StreamTests.test_start_tls.<locals>.MyServer.stop�r$rN)r&r'r(r�rrr#r
rrr)rD�s��
!�
2�
*�
'rr)c��K�tj|��d{���\}}|jd�|j��d{���|j	��d{���}|jt
j���d{���|jd�|j��d{���|j	��d{���}|j�|j��d{���||fS7��7��7��7�w7�P7�:7��w)N�hello world 1!
�hello world 2!
)
rr;r+rr,rGr�simple_client_sslcontextr1r)rr4r5�msgback1�msgback2s     rr.z*StreamTests.test_start_tls.<locals>.client�s�����#*�#:�#:�D�#A�A�N�F�F��L�L�,�-��,�,�.� � �#�_�_�.�.�H��"�"�:�#F�#F�#H�I�I�I��L�L�,�-��,�,�.� � �#�_�_�.�.�H��L�L�N��$�$�&�&�&��X�%�%�B�� ��.��I��
!��.��&�s{�D�C9�+D�C;�D�C=�*D�C?�(D�0D�1D�D�	'D�0D�1	D�;D�=D�?D�D�D�Dc�&���j|�Srrr!s  �rr$z,StreamTests.test_start_tls.<locals>.<lambda>�r%rrNrO)rr)rr*r#r-)rr)r.r�r�msg1�msg2r#s       @r�test_start_tlszStreamTests.test_start_tls�s����	'�	'�B
	&����	�	�'�'�(N�O��$�)�)�$���|�|�~���Y�Y�1�1�&��,�?�
��d����
�����2�&�����2�3�����2�3r�win32zDon't have pipesc���
�d}tj�\}}tjd|t	|�g}t|dd�}t
j|jd��}t
j||j���
|jj|jj�
fd�|��\}}tj�5tjd	t�t
j �}	ddd�	j#|j�	tj�5tjd	t�t
j$|	�ddd�t
j&|d
|hi�}
|jj|
�}|jj|j)��tj�5tjd	t�t
j$d�ddd�tj*|�|jj|j-d��}|j/|d�y#1swY��jxYw#1swY��xYw#1swY�uxYw#tj�5tjd	t�t
j$d�ddd�w#1swYwxYwxYw)
NzHimport os, sys
fd = int(sys.argv[1])
os.write(fd, b'data')
os.close(fd)
z-c�rbrrr�rac����Srr
��protocols�rr$z<StreamTests.test_read_all_from_pipe_reader.<locals>.<lambda>s���r�ignore�pass_fdsr��data)�os�pipe�sys�
executabler��openrrbr�StreamReaderProtocolr*�connect_read_pipe�warnings�catch_warnings�simplefilter�DeprecationWarning�SafeChildWatcher�attach_loop�set_child_watcher�create_subprocess_execr�r1r.r-)r�code�rfd�wfd�argsrar4�	transport�_�watcher�create�procr7r\s             @r�test_read_all_from_pipe_readerz*StreamTests.test_read_all_from_pipe_readers������7�7�9���S�����d�C��H�5���C��q�!���%�%�4�9�9�A�>���/�/��T�Y�Y�G���y�y�3�3��I�I�'�'�(8�$�?�A��	�1�
�
$�
$�
&��!�!�(�,>�?��.�.�0�G�'�	���D�I�I�&�
	0��(�(�*��%�%�h�0B�C��)�)�'�2�+��3�3������F��9�9�/�/��7�D��I�I�(�(�����5��(�(�*��%�%�h�0B�C��)�)�$�/�+�	����
��y�y�+�+�F�K�K��O�<������w�'�+'�
&��
+�*��+�*���(�(�*��%�%�h�0B�C��)�)�$�/�+�*�*�sU�/I-�)J�=0I:�-A"J�#0J�-I7�:J�?J�J�K-�(0K!�	K-�!K*�&K-c��|jtd�5tj�ddd�y#1swYyxYw�Nzno current event loop)r�r�rrbr�s r�*test_streamreader_constructor_without_loopz6StreamTests.test_streamreader_constructor_without_loop1s,��
�
#�
#�L�2I�
J�� � �"�K�
J�
J�s�5�>c��d�}|jj|��}|j|j|j�y)Nc��2K�tj�S�wr)rrbr
rr�testzHStreamTests.test_streamreader_constructor_use_running_loop.<locals>.test8s�����'�'�)�)�s�)rr*r��_loop)rr~r4s   r�.test_streamreader_constructor_use_running_loopz:StreamTests.test_streamreader_constructor_use_running_loop5s5��	*����-�-�d�f�5���
�
�f�l�l�D�I�I�.rc��|jtjd�tj|j�tj�}|j|j|j�yr)�
addCleanuprrrrbr�r�rr4s  r�-test_streamreader_constructor_use_global_loopz9StreamTests.test_streamreader_constructor_use_global_loop>sN��	
����.�.��5����t�y�y�)��%�%�'���
�
�f�l�l�D�I�I�.rc��tj�}|jtd�5t	j
|�ddd�y#1swYyxYwrz)r�Mockr�r�rrer�s  r�2test_streamreaderprotocol_constructor_without_loopz>StreamTests.test_streamreaderprotocol_constructor_without_loopHs9�������
�
#�
#�L�2I�
J��(�(��0�K�
J�
J�s�A
�
Ac����tj���fd�}|jj|��}|j	|j
|j�y)Nc��6�K�tj��S�wr)rre)r4s�rr~zPStreamTests.test_streamreaderprotocol_constructor_use_running_loop.<locals>.testQs������/�/��7�7�s�)rr�rr*r�r)rr~r\r4s   @r�6test_streamreaderprotocol_constructor_use_running_loopzBStreamTests.test_streamreaderprotocol_constructor_use_running_loopMsA��������	8��9�9�/�/���7���
�
�h�n�n�d�i�i�0rc� �|jtjd�tj|j�t	j
�}tj|�}|j|j|j�yr)	r�rrrrr�rer�r)rr4r\s   r�5test_streamreaderprotocol_constructor_use_global_loopzAStreamTests.test_streamreaderprotocol_constructor_use_global_loopVs[��	
����.�.��5����t�y�y�)�������/�/��7���
�
�h�n�n�d�i�i�0rc�f����d��fd�����fd�}�jj|��y)Nrc��L�K�|j��d{����dz
�y7�
�w)Nr)�
_drain_helper)rf�draineds �r�drainerz0StreamTests.test_multiple_drain.<locals>.drainerds'������&�&�(�(�(��q�L�G�
)�s�$�"�$c��l�K�tj�}tjj|�}|j	�|jd|j�tjtd�D�cgc]
}�|���c}��d{����j�d�ycc}w7��w)Ng�������?�
)
r�get_running_loop�streams�FlowControlMixin�
pause_writing�
call_later�resume_writing�gather�ranger-)rrfrtr�r�rs   ���r�mainz-StreamTests.test_multiple_drain.<locals>.mainis�������+�+�-�D��_�_�5�5�d�;�F�� � �"��O�O�C��!6�!6�7��.�.�E�"�I�"F�I�q�7�6�?�I�"F�G�G�G����W�b�)��#G�G�s�A<B4�?B-�B4�B2�B4)rr*)rr�r�r�s` @@r�test_multiple_drainzStreamTests.test_multiple_drain`s(�����	�
	*�	
�	�	�$�$�T�V�,rc�����g�|jj�fd��tj���fd�}d�}t	j
|��}d|_|j��j�}|jtttf�5|jj||��ddd�|j�|jg��y#1swY�,xYw)Nc�&���j|�Srrr!s  �rr$z/StreamTests.test_drain_raises.<locals>.<lambda>|r%rc����tjd�5}|j�}�j|�|j	�\}}|j�ddd�y#1swYyxYw)N)�	localhostr)rrr�put�acceptr1)r
r�cltrt�qs    �rr�z-StreamTests.test_drain_raises.<locals>.serversQ����%�%�&6�7�4��'�'�)�����d��������Q��	�	��	8�7�7�s�AA%�%A.c��K�tj||��d{���\}}	|jd�|j��d{����*7�27��w)Nsfoo
)rr;r+r)rrr4r5s    rr.z-StreamTests.test_drain_raises.<locals>.client�sN����#*�#:�#:�4��#F�F�N�F�F�����X�&��l�l�n�$�$��G��%�s!�A�A�,A�	A�
A�A)�targetT)rr)�queue�Queue�	threading�Thread�daemonr�getrY�ConnectionResetError�ConnectionAbortedError�BrokenPipeErrorr*�joinr-)rr�r.�threadrr#r�s     @@r�test_drain_raiseszStreamTests.test_drain_raisesss�������	�	�'�'�(N�O��K�K�M��	�	%��!�!��0����
������u�u�w���
�
� 4�6L� /� 1�2��I�I�(�(����7�2�	���
�����X�&�2�2�s�C&�&C/c�z�tj|j��}|jdt	|��y)Nra�<StreamReader>�rrbrr-�reprres  r�
test___repr__zStreamTests.test___repr__�s+���%�%�4�9�9�5�����)�4��<�8rc�|�tj|jd��}|jdt	|��y)N�{r�z<StreamReader limit=123>r�res  r�test___repr__nondefault_limitz)StreamTests.test___repr__nondefault_limit�s-���%�%�4�9�9�C�@�����3�T�&�\�Brc��tj|j��}|j�|j	dt|��y)Nraz<StreamReader eof>)rrbrrr-r�res  r�test___repr__eofzStreamTests.test___repr__eof�s5���%�%�4�9�9�5���������-�t�F�|�<rc��tj|j��}|jd�|j	dt|��y)Nrar_z<StreamReader 4 bytes>)rrbrrcr-r�res  r�test___repr__datazStreamTests.test___repr__data�s9���%�%�4�9�9�5������!����1�4��<�@rc��tj|j��}t�}|j	|�|jdt
|��y)Nraz'<StreamReader exception=RuntimeError()>)rrbrr�r�r-r�r�s   r�test___repr__exceptionz"StreamTests.test___repr__exception�sC���%�%�4�9�9�5���n�����S�!����B��f��	'rc��tj|j��}tj|j��|_|jt
|�d�|jjd�|jj|j�d|_|jdt
|��y)Nraz,<StreamReader waiter=<Future pending[\S ]*>>r�)
rrbr�Futurer��assertRegexr��
set_resultr*r-res  r�test___repr__waiterzStreamTests.test___repr__waiter�s����%�%�4�9�9�5�� ���T�Y�Y�7��������L�;�	=�	���!�!�$�'��	�	�$�$�V�^�^�4�������)�4��<�8rc�(�tj|j��}tj�|_tj�|j
_d|j
j_|jdt|��y)Nraz<Transport>z$<StreamReader transport=<Transport>>)
rrbrrr��
_transport�__repr__�return_valuer-r�res  r�test___repr__transportz"StreamTests.test___repr__transport�sa���%�%�4�9�9�5�� �I�I�K���%)�Y�Y�[����"�2?����"�"�/����?��f��Nrc���tjdd�}ttjdz�D]�}|j|��5tjtj||���}|jt|�t|��|j|j|j�|j|j|j�ddd���y#1swY��xYw)Nsabcr�r��pickle_protocolr[)rr�r��pickle�HIGHEST_PROTOCOL�subTest�loads�dumpsr-r�r�r��r�e�proto�e2s    r�#test_IncompleteReadError_pickleablez/StreamTests.test_IncompleteReadError_pickleable�s����'�'���3���6�2�2�Q�6�7�E����e��4��\�\�&�,�,�q�5�"A�B��� � ��Q���R��1�� � ����B�J�J�7�� � ����R�[�[�9�	5�4�8�4�4�s
�BC.�.C7	c��tjdd�}ttjdz�D]�}|j|��5tjtj||���}|jt|�t|��|j|j|j�ddd���y#1swY��xYw)Nr�r�rr�r[)rr�r�r�r�r�r�r�r-r��consumedr�s    r�!test_LimitOverrunError_pickleablez-StreamTests.test_LimitOverrunError_pickleable�s����%�%�i��4���6�2�2�Q�6�7�E����e��4��\�\�&�,�,�q�5�"A�B��� � ��Q���R��1�� � ����R�[�[�9�5�4�8�4�4�s
�A5C�C	c���tj�5}|jjt	j
|j��\}}|jd�|j�}|jj|�}|j|d�|j�}|jj|�}|j|jd��|j|j��|j�|j|j��|jj|j!��ddd�y#1swYyxYw�Nr&r'r()rr:rr*rr;r<r+r,r-r.r/r0r��
is_closingr1r�rr>�rd�wrr6r7s      r�test_wait_closed_on_closez%StreamTests.test_wait_closed_on_close�s��
�
'�
'�
)�U��Y�Y�1�1��'�'����7�9�F�B��
�H�H�.�/����
�A��9�9�/�/��2�D����T�#9�:����	�A��9�9�/�/��2�D��O�O�D�M�M�*A�B�C����R�]�]�_�-��H�H�J��O�O�B�M�M�O�,��I�I�(�(����)9�:�*�
)�
)�s�E	E'�'E0c���tj�5}|jjt	j
|j��\}}|jd�|j�}|jj|�}|j|d�|j�|jj|j��ddd�y#1swYyxYw)Nr&r')rr:rr*rr;r<r+r,r-r1rr�s      r�*test_wait_closed_on_close_with_unread_dataz6StreamTests.test_wait_closed_on_close_with_unread_data�s���
�
'�
'�
)�U��Y�Y�1�1��'�'����7�9�F�B��
�H�H�.�/����
�A��9�9�/�/��2�D����T�#9�:��H�H�J��I�I�(�(����)9�:�*�
)�
)�s�CC�C'c�
����fd�}g��jj�fd��tj�5}�jj	||��ddd��j�g�y#1swY�xYw)Nc���K�tj|j��d{���\}}|jd�|j	��d{���}�j|d�|j
��d{���}�j|jd��|j�|j��d{���y7��7�y7�Q7��wr�)rr;r<r+r,r-r.r/r0r1r�r>r�r�r7rs    �r�innerz0StreamTests.test_async_writer_api.<locals>.inner�s������"�2�2�E�M�M�B�B�F�B���H�H�.�/�����&�D����T�#9�:�����?�D��O�O�D�M�M�*A�B�C��H�H�J��.�.�"�"�"�C��'��"��
#�sF� C�C�+C�C	�)C�9C�:AC�C
�C�	C�C�
Cc�&���j|�Srrr!s  �rr$z3StreamTests.test_async_writer_api.<locals>.<lambda>r%r�rr)rr:r*r-�rr�r>r#s`  @r�test_async_writer_apiz!StreamTests.test_async_writer_api�sf���		#����	�	�'�'�(N�O�
�
'�
'�
)�U��I�I�(�(��u��6�*�	
����2�&�*�
)���"A9�9Bc�
����fd�}g��jj�fd��tj�5}�jj	||��ddd��j�g�y#1swY�xYw)Nc���K�tj|j��d{���\}}|jd�|j	��d{���}�j|d�|j
��d{���}�j|jd��|j��jt�5|jd�|j��d{���ddd�y7��7��7��7�#1swYyxYw�w)Nr&r'r(r_)
rr;r<r+r,r-r.r/r0r1rYr�rr�s    �rr�zFStreamTests.test_async_writer_api_exception_after_close.<locals>.inners������"�2�2�E�M�M�B�B�F�B���H�H�.�/�����&�D����T�#9�:�����?�D��O�O�D�M�M�*A�B�C��H�H�J��"�"�#7�8�����!��h�h�j� � �9�8�C��'��"��
!��9�8�s^� D
�C6�+D
�C8�)D
�9C:�:A	D
�%C>�(C<�)C>�-
D
�8D
�:D
�<C>�>D�D
c�&���j|�Srrr!s  �rr$zIStreamTests.test_async_writer_api_exception_after_close.<locals>.<lambda>r%rr�r�s`  @r�+test_async_writer_api_exception_after_closez7StreamTests.test_async_writer_api_exception_after_closesf���	!����	�	�'�'�(N�O�
�
'�
'�
)�U��I�I�(�(��u��6�*�	
����2�&�*�
)�r�c�Z��g�|jj�fd��tj�5}|jj	tj|j��\}}|j�|j�}|jj	|�|j|j��|j�}|jj	|�}|j|d�ddd�|j�g�y#1swY�xYw)Nc�&���j|�Srrr!s  �rr$z?StreamTests.test_eof_feed_when_closing_writer.<locals>.<lambda>$r%rr)rr)rr:r*rr;r<r1rr/r�r.r-)rr>r�r�r6r7r#s      @r�!test_eof_feed_when_closing_writerz-StreamTests.test_eof_feed_when_closing_writer!s�������	�	�'�'�(N�O�
�
'�
'�
)�U��Y�Y�1�1��+�+�U�]�]�;�=�F�B��
�H�H�J���� �A��I�I�(�(��+��O�O�B�I�I�K�(����	�A��9�9�/�/��2�D����T�3�'�*�	
����2�&�*�
)�s�CD!�!D*c�
����fd�}g��jj�fd��tj�5}�jj	||��ddd��j�g�y#1swY�xYw)Nc���K�tj|j��d{���\}}|jd�|j	��d{���}�j|d�|j
��d{���}�j|jd���jt�5}~tj��jt|j�d��jt|jdj �j#d��ddd�y7��7��7��#1swYyxYw�w)Nr&r'r(rrzunclosed <StreamWriter)rr;r<r+r,r-r.r/r0�assertWarns�ResourceWarning�gc�collectr�rgr�r��
startswith�r>r�r�r7r�rs     �rr�z:StreamTests.test_unclosed_resource_warnings.<locals>.inner5s������"�2�2�E�M�M�B�B�F�B���H�H�.�/�����&�D����T�#9�:�����?�D��O�O�D�M�M�*A�B�C��!�!�/�2�b���
�
��� � ��R�[�[�!1�1�5�����B�K�K��N�$:�$:� ;� F� F�G_� `�a�	3�2�C��'��"��2�2�sL� E
�D7�+E
�D:�)E
�9D<�:9E
�3A;D>�.
E
�:E
�<E
�>E�E
c�&���j|�Srrr!s  �rr$z=StreamTests.test_unclosed_resource_warnings.<locals>.<lambda>Dr%rr�r�s`  @r�test_unclosed_resource_warningsz+StreamTests.test_unclosed_resource_warnings4sg���	b����	�	�'�'�(N�O�
�
'�
'�
)�U��I�I�(�(��u��6�*�	
����2�&�*�
)�r�c�����fd�}g��jj�fd��tj�5}�j	t
�5�jj
||��ddd�tj�ddd��j�g�y#1swY�8xYw#1swY�(xYw)Nc��|�K�tj|j��d{���\}}|jd�|j	��d{���}�j|d�|j
��d{���}�j|jd���jj�|j��jj�s8tjd��d{����jj�s�8�jt�5}~t!j"��jt%|j&�d��jdt)|j&dj*��ddd�y7���7��Y7��27��#1swYyxYw�w)Nr&r'r(grzloop is closedr)rr;r<r+r,r-r.r/r0rr#r1�	is_closed�sleepr�r�r�r�r�rgr�r�r�s     �rr�z@StreamTests.test_loop_is_closed_resource_warnings.<locals>.innerLs>�����"�2�2�E�M�M�B�B�F�B���H�H�.�/�����&�D����T�#9�:�����?�D��O�O�D�M�M�*A�B�C�
�I�I�N�N���H�H�J��i�i�)�)�+��m�m�C�(�(�(��i�i�)�)�+��!�!�/�2�b���
�
��� � ��R�[�[�!1�1�5�� � �!1�3�r�{�{�1�~�7M�7M�3N�O�	3�2�C��'��"��)��2�2�se� F<�F%�+F<�F(�)F<�9F+�:BF<�:F.�;F<�F<�/A-F0�
F<�(F<�+F<�.F<�0F9�5F<c�&���j|�Srrr!s  �rr$zCStreamTests.test_loop_is_closed_resource_warnings.<locals>.<lambda>br%r)
rr)rr:rYr�r*r�r�r-r�s`  @r�%test_loop_is_closed_resource_warningsz1StreamTests.test_loop_is_closed_resource_warningsKs����	P�*���	�	�'�'�(N�O�
�
'�
'�
)�U��"�"�<�0��	�	�,�,�U�5�\�:�1�
�J�J�L�	*�	
����2�&�1�0��*�
)�s#�B7�"B+�4B7�+B4	�0B7�7Cc�������tj��g�|jj�fd���fd�����fd�}|jj	|���S)Nc�&���j|�Srrr!s  �rr$z<StreamTests._basetest_unhandled_exceptions.<locals>.<lambda>pr%rc���K�tjd���d{���\}}|jd�|j��d{���|j	�|j��d{���y7�Y7�/7�	�w)Nr�stest msg)rr;r+rr1r)r�r�rs  �rr.z:StreamTests._basetest_unhandled_exceptions.<locals>.clientrsb�����"�2�2�;��E�E�F�B���H�H�[�!��(�(�*����H�H�J��.�.�"�"�"�	F����"�s3�A=�A7�+A=�	A9�
'A=�1A;�2A=�9A=�;A=c���K�tj�d���d{���}|j��d{������d{���|j�|j	��d{���y7�T7�>7�17��w)Nr�)rr�
start_servingr1r)r�r.�handle_echors ���rr�z8StreamTests._basetest_unhandled_exceptions.<locals>.mainysj�����"�/�/��[�$�0�0�F��&�&�(�(�(��(�N�N��L�L�N��$�$�&�&�&�0��(����&�sC�A;�A3�A;�A5�A;�A7�'A;�-A9�.A;�5A;�7A;�9A;)r�find_unused_portrr)r*)rr
r�r.r#rs ` @@@r�_basetest_unhandled_exceptionsz*StreamTests._basetest_unhandled_exceptionslsN����-�-�/�����	�	�'�'�(N�O�	#�	'�	
�	�	�$�$�T�V�,��rc�\�d�}|j|�}|j|ddd�y)Nc�� K�td���w)Nr~)�	Exception�r4r5s  rr
z9StreamTests.test_unhandled_exception.<locals>.handle_echo�s�����F�#�#�s�rr�z*Unhandled exception in client_connected_cb�rr-�rr
r#s   r�test_unhandled_exceptionz$StreamTests.test_unhandled_exception�s4��	$��6�6�{�C������!��Y�/�@�	Brc�P�d�}|j|�}|j|g�y)Nc��PK�tj�j�y�wr)r�current_taskr�rs  rr
z6StreamTests.test_unhandled_cancel.<locals>.handle_echo�s����� � �"�)�)�+�s�$&rrs   r�test_unhandled_cancelz!StreamTests.test_unhandled_cancel�s'��	,��6�6�{�C������2�&r)Vr&r'r(rjrrr8r@r�skip_unless_bind_unix_socketrErI�unittest�skipIfrMrOrSrZr\r^rgrkrnrxr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r1rArVrb�platformrxr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�
__classcell__)rs@rrrsd���#�D�'�
�'�5�
�/�/�5�0�5�

'��X�_�_�S�D�[�/�2�A�3�A��/�/��X�_�_�S�D�[�/�2�A�3�0�A�
'�;�
�/�/�;�0�;�
.�4�4�.�	3�.�.� 	F�;�.�5�".�6
)�-.�^
<�-�$�	4�
.�J�
1�$!.�F.�:� 4�4�".�.�&	M�/�1�
,�D'�L�/�/�C'�0�C'�J�X�_�_�S�D�[�/�2�<4�3�<4�|�X�_�_�S�\�\�W�,�.@�A�*(�B�*(�X#�/�/�1�
1�1�-�&)'�V9�C�=�
A�
'�	9�O�:�:�;�"
;�'�('�,'�&'�.'�B�0B�'rr�__main__)�__doc__r�r`r�r�rrbr�rrrg�test.supportrrM�ImportErrorr�test.test_asynciorrr
�TestCaserr&r�r
rr�<module>r#s����	�	��
�
�
�����&����1�(�t'�*�%�%�t'�n#�z���H�M�M�O���E$��
�C��s�A2�2A<�;A<

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