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

��Vc�����dZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZ	ddlZn
#e
$rdZYnwxYwddlZddlmZd�ZGd�dej��Zed	krej��dSdS)
zTests for streams.py.�N)�mock)�
socket_helper)�utilsc�.�tjd��dS�N)�asyncio�set_event_loop_policy���2D:\Python311\Lib\test\test_asyncio\test_streams.py�tearDownModuler
s���!�$�'�'�'�'�'rc���eZdZdZ�fd�Z�fd�Zd�Zd�Zej	d���Z
d�Zej
edud	��d
���Zej	ej
edud	��d�����Zd�Zd
�Zej	d���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/�Z4ej	d0���Z5ej
edud	��d1���Z6ej
e7j8d2kd3��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�ZO�xZPS)K�StreamTestssline1
line2
line3
c���t�����tj��|_|�|j��dSr)�super�setUpr�new_event_loop�loop�set_event_loop��self�	__class__s �rrzStreamTests.setUps@���
���
�
�����*�,�,��	����D�I�&�&�&�&�&rc����tj|j��|j���t	j��t
�����dSr)�
test_utils�run_brieflyr�close�gc�collectr�tearDownrs �rrzStreamTests.tearDown#sO�����t�y�)�)�)��	������
�
����
���������rc�2��g�|j��fd���|j�|��\}}|�d��|���}|j�|��}|�|d��|���}|j�|��}|�|�d����|�	��|��g��dS)Nc�.����|��Sr��append�r�ctx�messagess  �r�<lambda>z7StreamTests._basetest_open_connection.<locals>.<lambda>-����(�/�/�#�:N�:N�r�GET / HTTP/1.0

�HTTP/1.0 200 OK
�

Test message)
r�set_exception_handler�run_until_complete�write�readline�assertEqual�read�
assertTrue�endswithr�r�open_connection_fut�reader�writer�f�datar&s      @r�_basetest_open_connectionz%StreamTests._basetest_open_connection+s�������	�'�'�(N�(N�(N�(N�O�O�O���5�5�6I�J�J�������.�/�/�/��O�O�����y�+�+�A�.�.������5�6�6�6��K�K�M�M���y�+�+�A�.�.������
�
�&=�>�>�?�?�?�����������2�&�&�&�&�&rc��tj��5}tj|j�}|�|��ddd��dS#1swxYwYdSr)r�run_test_serverr�open_connection�addressr:�r�httpd�conn_futs   r�test_open_connectionz StreamTests.test_open_connection9s���
�
'�
)�
)�	5�U��.��
�>�H��*�*�8�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5��)A
�
A�Ac��tj��5}tj|j��}|�|��ddd��dS#1swxYwYdSr)r�run_test_unix_serverr�open_unix_connectionr>r:r?s   r�test_open_unix_connectionz%StreamTests.test_open_unix_connection>s���
�
,�
.�
.�	5�%��3�E�M�B�B�H��*�*�8�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5��/A�A�Ac���g�|j��fd���	|j�|��\}}tjd��n#tjd��wxYw|�d��|���}|j�|��}|�|�d����|�	��|�
�g��dS)Nc�.����|��Srr"r$s  �rr'zCStreamTests._basetest_open_connection_no_loop_ssl.<locals>.<lambda>Fr(rr)r+)rr,r-rrr.r1r2r3rr0r4s      @r�%_basetest_open_connection_no_loop_sslz1StreamTests._basetest_open_connection_no_loop_sslDs�������	�'�'�(N�(N�(N�(N�O�O�O�	)�!�Y�9�9�:M�N�N�N�F�F��"�4�(�(�(�(��G�"�4�(�(�(�(�������.�/�/�/��K�K�M�M���y�+�+�A�.�.������
�
�&=�>�>�?�?�?�����������2�&�&�&�&�&s�A�A*Nz
No ssl modulec���tjd���5}tj|jdtj��i�}|�|��ddd��dS#1swxYwYdS)NT��use_ssl�ssl)rr<rr=r>�dummy_ssl_contextrKr?s   r� test_open_connection_no_loop_sslz,StreamTests.test_open_connection_no_loop_sslSs���
�
'��
5�
5�
5�	A���.���4��0�2�2�4�4�H�
�6�6�x�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	As�=A � A$�'A$c���tjd���5}tj|jtj��d���}|�|��ddd��dS#1swxYwYdS)NTrM�)rO�server_hostname)rrErrFr>rPrKr?s   r�%test_open_unix_connection_no_loop_sslz1StreamTests.test_open_unix_connection_no_loop_ssl\s����
,�T�
:�
:�
:�	A�e��3��
��0�2�2� "����H�
�6�6�x�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	As�AA&�&A*�-A*c���g�|j��fd���|j�|��\}}|j�t����|���}|�t
��5|j�|��ddd��n#1swxYwY|���tj
|j��|��g��dS)Nc�.����|��Srr"r$s  �rr'z=StreamTests._basetest_open_connection_error.<locals>.<lambda>jr(r)rr,r-�	_protocol�connection_lost�ZeroDivisionErrorr1�assertRaisesrrrr0)rr5r6r7r8r&s     @r�_basetest_open_connection_errorz+StreamTests._basetest_open_connection_errorhs)������	�'�'�(N�(N�(N�(N�O�O�O���5�5�6I�J�J������(�(�):�)<�)<�=�=�=��K�K�M�M��
�
�
�0�
1�
1�	,�	,��I�(�(��+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,���������t�y�)�)�)�����2�&�&�&�&�&s�B9�9B=�B=c��tj��5}tj|j�}|�|��ddd��dS#1swxYwYdSr)rr<rr=r>r\r?s   r�test_open_connection_errorz&StreamTests.test_open_connection_errorts���
�
'�
)�
)�	;�U��.��
�>�H��0�0��:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;rCc��tj��5}tj|j��}|�|��ddd��dS#1swxYwYdSr)rrErrFr>r\r?s   r�test_open_unix_connection_errorz+StreamTests.test_open_unix_connection_errorys���
�
,�
.�
.�	;�%��3�E�M�B�B�H��0�0��:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;rHc��tj|j���}|�d��|�d|j��dS�N�rr)r�StreamReaderr�	feed_datar0�_buffer�r�streams  r�test_feed_empty_dataz StreamTests.test_feed_empty_datasI���%�4�9�5�5�5�������������f�n�-�-�-�-�-rc��tj|j���}|�|j��|�|j|j��dS�Nrc)rrdrre�DATAr0rfrgs  r�test_feed_nonempty_dataz#StreamTests.test_feed_nonempty_data�sM���%�4�9�5�5�5�������#�#�#������F�N�3�3�3�3�3rc�4�tj|j���}|�|j��|j�|�d����}|�d|��|�|j|j��dS)Nrcrr)	rrdrrerlr-r1r0rf�rrhr9s   r�test_read_zerozStreamTests.test_read_zero�s����%�4�9�5�5�5�������#�#�#��y�+�+�F�K�K��N�N�;�;������d�#�#�#������F�N�3�3�3�3�3rc�x���tj�j�����j���d����}��fd�}�j�|���j�|��}���j|����d�j	��dS)Nrc�c�<�����j��dSr�rerlrgs��r�cbz!StreamTests.test_read.<locals>.cb�s������T�Y�'�'�'�'�'rr)
rrdr�create_taskr1�	call_soonr-r0rlrf�r�	read_taskrur9rhs`   @r�	test_readzStreamTests.test_read�s������%�4�9�5�5�5���I�)�)�&�+�+�b�/�/�:�:�	�	(�	(�	(�	(�	(�	(��	���B�����y�+�+�I�6�6�������D�)�)�)�����f�n�-�-�-�-�-rc�J�tj|j���}|�d��|�d��|j�|�d����}|�d|��|�d|j��dS)Nrcsline1sline2��rrdrrer-r1r0rfros   r�test_read_line_breaksz!StreamTests.test_read_line_breaks�s����%�4�9�5�5�5������"�"�"�����"�"�"��y�+�+�F�K�K��N�N�;�;������4�(�(�(�����6�>�2�2�2�2�2rc�j��tj|j����|j���d����}�fd�}|j�|��|j�|��}|�d|��|�d�j��dS)Nrcic�0������dSr)�feed_eof�rhs�rruz%StreamTests.test_read_eof.<locals>.cb�s����O�O�����rr�	rrdrrvr1rwr-r0rfrxs    @r�
test_read_eofzStreamTests.test_read_eof�s�����%�4�9�5�5�5���I�)�)�&�+�+�d�*;�*;�<�<�	�	�	�	�	�	��	���B�����y�+�+�I�6�6������d�#�#�#�����f�n�-�-�-�-�-rc�j��tj|j����|j���d����}�fd�}|j�|��|j�|��}|�d|��|�d�j��dS)Nrc���c�����d����d������dS)Nschunk1
�chunk2�rer�r�s�rruz+StreamTests.test_read_until_eof.<locals>.cb�sA������[�)�)�)����Y�'�'�'��O�O�����rs
chunk1
chunk2rr�rxs    @r�test_read_until_eofzStreamTests.test_read_until_eof�s�����%�4�9�5�5�5���I�)�)�&�+�+�b�/�/�:�:�	�	�	�	�	�	�	
�	���B�����y�+�+�I�6�6�����*�D�1�1�1�����f�n�-�-�-�-�-rc��tj|j���}|�d��|j�|�d����}|�d|��|�t����|�	t|jj|�d����dS�Nrc�line
��li)
rrdrrer-r1r0�
set_exception�
ValueErrorr[ros   r�test_read_exceptionzStreamTests.test_read_exception�s����%�4�9�5�5�5������#�#�#��y�+�+�F�K�K��N�N�;�;�������%�%�%����Z�\�\�*�*�*������	�4�f�k�k�!�n�n�	F�	F�	F�	F�	Frc�@�|�td��5tjd|j���ddd��n#1swxYwY|�td��5tjd|j���ddd��dS#1swxYwYdS)N�imitr��limitrr�)�assertRaisesRegexr�rrdr�rs r�test_invalid_limitzStreamTests.test_invalid_limit�s��
�
#�
#�J��
7�
7�	:�	:�� �q�t�y�9�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:��
#�
#�J��
7�
7�	;�	;�� �r��	�:�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s#�A�A�A�*B�B�Bc�"�tjd|j���}|�d��|j�|�d����}|�d|��|�d|j��dS�N�r�schunkr|rr}ros   r�test_read_limitzStreamTests.test_read_limit�s����%�A�D�I�>�>�>������"�"�"��y�+�+�F�K�K��N�N�;�;������4�(�(�(�����f�n�-�-�-�-�-rc���tj|j������d��|j�������}�fd�}|j�|��|j�|��}|�d|��|�d�j	��dS)Nrcschunk1 c�����d����d����d��dS)Nschunk2 schunk3 s
 chunk4)rer�s�rruz%StreamTests.test_readline.<locals>.cb�sE������Z�(�(�(����Z�(�(�(����\�*�*�*�*�*rschunk1 chunk2 chunk3 
s chunk4)
rrdrrervr/rwr-r0rf)rryru�linerhs    @r�
test_readlinezStreamTests.test_readline�s�����%�4�9�5�5�5������$�$�$��I�)�)�&�/�/�*;�*;�<�<�	�	+�	+�	+�	+�	+�	
�	���B�����y�+�+�I�6�6�����3�T�:�:�:�����V�^�4�4�4�4�4rc��tjd|j���}|�d��|�d��|�t
|jj|�����|�d|j	��tjd|j���}|�d��|�d��|�d��|�t
|jj|�����|�d|j	��dS)Nr�r�r�s
ne1
line2
sline2
sne1r)
rrdrrer[r�r-r/r0rfrgs  r�&test_readline_limit_with_existing_dataz2StreamTests.test_readline_limit_with_existing_data�s2���%�A�D�I�>�>�>�������������)�)�)������	�4�f�o�o�6G�6G�	I�	I�	I�	
����V�^�4�4�4��%�A�D�I�>�>�>������������� � � �������������	�4�f�o�o�6G�6G�	I�	I�	I�	
����f�n�-�-�-�-�-rc��tj|j���}|�|�����|�d��|�|�����|j�|�����|�|�����|�d��|���|j�|�����|�	|�����dS)Nrcs
some data
)
rrdr�assertFalse�at_eofrer-r/r�r2rgs  r�test_at_eofzStreamTests.test_at_eofs���%�4�9�5�5�5����������)�)�)�����(�(�(���������)�)�)��	�$�$�V�_�_�%6�%6�7�7�7���������)�)�)�����(�(�(��������	�$�$�V�_�_�%6�%6�7�7�7�����
�
���(�(�(�(�(rc���tjd|j�����fd�}|j�|��|�t
|jj������|�d�j	��tjd|j�����fd�}|j�|��|�t
|jj������|�d�j	��tjd|j������
d��|j�������}|�d|��|�d�j	����
d��|�t
��5}|j�������ddd��n#1swxYwY|�d�j	����
d	��|�t
��5}|j�������ddd��n#1swxYwY|�d�j	��dS)
N�r�c�����d����d����d������dS)N�chunk1r��chunk3
r�r�s�rruz+StreamTests.test_readline_limit.<locals>.cb"sU������Y�'�'�'����Y�'�'�'����[�)�)�)��O�O�����rrc�����d����d����d������dS)Nr�schunk2
r�r�r�s�rruz+StreamTests.test_readline_limit.<locals>.cb0sU������Y�'�'�'����[�)�)�)����[�)�)�)��O�O�����rr�s1234567
s	12345678
s12345678)rrdrrwr[r�r-r/r0rfre)rrur��cmrhs    @r�test_readline_limitzStreamTests.test_readline_limits
����%�A�D�I�>�>�>��	�	�	�	�	�
	
�	���B���������	�4�f�o�o�6G�6G�	I�	I�	I�	
����f�n�-�-�-��%�A�D�I�>�>�>��	�	�	�	�	�
	
�	���B���������	�4�f�o�o�6G�6G�	I�	I�	I�����f�n�5�5�5��%�A�D�I�>�>�>������&�&�&��y�+�+�F�O�O�,=�,=�>�>������t�,�,�,�����f�n�-�-�-�����'�'�'�
�
�
�z�
*�
*�	<�b��I�(�(����):�):�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�����f�n�-�-�-�����%�%�%�
�
�
�z�
*�
*�	<�b��I�(�(����):�):�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�����f�n�-�-�-�-�-s$�-H�H�H�&-J�J#�&J#c�|�tj|j���}|�|jdd���|�|jdd���|j�|�����}|�d|��|�d|j��dS)Nrc�sline1
sline2
line3
)	rrdrrerlr-r/r0rf�rrhr�s   r�test_readline_nolimit_nowaitz(StreamTests.test_readline_nolimit_nowaitLs����%�4�9�5�5�5�������2�A�2��'�'�'������1�2�2��'�'�'��y�+�+�F�O�O�,=�,=�>�>������T�*�*�*����*�F�N�;�;�;�;�;rc��tj|j���}|�d��|���|j�|�����}|�d|��dS)Nrcs	some data)rrdrrer�r-r/r0r�s   r�test_readline_eofzStreamTests.test_readline_eofXsv���%�4�9�5�5�5������&�&�&��������y�+�+�F�O�O�,=�,=�>�>������t�,�,�,�,�,rc���tj|j���}|���|j�|�����}|�d|��dSrb)rrdrr�r-r/r0r�s   r�test_readline_empty_eofz#StreamTests.test_readline_empty_eof`sb���%�4�9�5�5�5���������y�+�+�F�O�O�,=�,=�>�>������d�#�#�#�#�#rc��tj|j���}|�|j��|j�|�����|j�|�d����}|�d|��|�d|j	��dS)Nrcr�sline2
lsine3
)
rrdrrerlr-r/r1r0rfros   r�test_readline_read_byte_countz)StreamTests.test_readline_read_byte_countgs����%�4�9�5�5�5�������#�#�#��	�$�$�V�_�_�%6�%6�7�7�7��y�+�+�F�K�K��N�N�;�;������d�+�+�+�����F�N�3�3�3�3�3rc���tj|j���}|�d��|j�|�����}|�d|��|�t����|�	t|jj|�����|�d|j
��dS)Nrcr�r)rrdrrer-r/r0r�r�r[rfros   r�test_readline_exceptionz#StreamTests.test_readline_exceptionrs����%�4�9�5�5�5������#�#�#��y�+�+�F�O�O�,=�,=�>�>������D�)�)�)����Z�\�\�*�*�*������	�4�f�o�o�6G�6G�	I�	I�	I�����f�n�-�-�-�-�-rc��tj|j���}|�td��5|j�|�d�����ddd��dS#1swxYwYdS)NrczSeparator should ber��	separator)rrdrr�r�r-�	readuntilrgs  r�test_readuntil_separatorz$StreamTests.test_readuntil_separator~s����%�4�9�5�5�5��
�
#�
#�J�0E�
F�
F�	J�	J��I�(�(��)9�)9�C�)9�)H�)H�I�I�I�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J����	J�	J�	J�	J�	J�	Js�/A2�2A6�9A6c���tj|j���}|�d��|j�|�d�����}|�d|��|�d|j��|�d��|j�|�d����}|�d|��|�d|j��|�d��|j�|�d����}|�d|��|�d|j��dS)NrcslineAAA�AAAr�rs
lineAAAxxxsxxx�rrdrrer-r�r0rfros   r�test_readuntil_multi_chunksz'StreamTests.test_readuntil_multi_chunks�sO���%�4�9�5�5�5������$�$�$��y�+�+�F�,<�,<�v�,<�,N�,N�O�O������T�*�*�*�����f�n�-�-�-�����$�$�$��y�+�+�F�,<�,<�V�,D�,D�E�E������T�*�*�*�����f�n�-�-�-�����'�'�'��y�+�+�F�,<�,<�V�,D�,D�E�E������T�*�*�*�������0�0�0�0�0rc���tj|j���}|�d��|�d��|�d��|j�|�d����}|�d|��|�d|j��|�d��|�d��|�d	��|j�|�d����}|�d|��|�d|j��|�d��|j�|�d����}|�d|��|�d|j��|�d
��|j�|�d����}|�d
|��|�d|j��|�d��|�d��|�d��|�d��|j�|�d����}|�d|��|�d|j��dS)
NrcsQWEaasXYaa�asaaas
QWEaaXYaaarsXYasaasXaaasXXXsXXXaaar�ros   r�test_readuntil_multi_chunks_1z)StreamTests.test_readuntil_multi_chunks_1�s����%�4�9�5�5�5������"�"�"�����!�!�!���������y�+�+�F�,<�,<�V�,D�,D�E�E�������-�-�-�����f�n�-�-�-�����"�"�"����� � � ���������y�+�+�F�,<�,<�V�,D�,D�E�E�������-�-�-�����f�n�-�-�-����� � � ��y�+�+�F�,<�,<�V�,D�,D�E�E�������&�&�&�����f�n�-�-�-�����!�!�!��y�+�+�F�,<�,<�V�,D�,D�E�E������$�'�'�'�����f�n�-�-�-����� � � �����������������������y�+�+�F�,<�,<�V�,D�,D�E�E������D�)�)�)�����f�n�-�-�-�-�-rc��tj|j���}d}|�|��|���|�tjd��5}|j�|�d����ddd��n#1swxYwY|�	|j
j|��|�|j
j
��|�	d|j��dS)Nrc�some dataAAzundefined expected bytesr�r)rrdrrer�r��IncompleteReadErrorr-r�r0�	exception�partial�assertIsNone�expectedrf)rrhr9r�s    r�test_readuntil_eofzStreamTests.test_readuntil_eof�s;���%�4�9�5�5�5�����������������
�
#�
#�G�$?�$>�@�@�	C�CE��I�(�(��)9�)9�&�)A�)A�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�	
�����-�t�4�4�4����"�,�/�0�0�0�����f�n�-�-�-�-�-s�&.B � B$�'B$c��tj|jd���}|�d��|�tjd��5}|j�|�d����ddd��n#1swxYwY|�d|j	��|�d��|�tjd��5}|j�|�d����ddd��n#1swxYwY|�d|j	��dS)	Nr��rr�r�z	not foundr��Azis foundssome dataAAA)
rrdrrer��LimitOverrunErrorr-r�r0rf)rrhr�s   r�test_readuntil_limit_found_sepz*StreamTests.test_readuntil_limit_found_sep�s����%�4�9�A�>�>�>������(�(�(�
�
#�
#�G�$=�$/�1�1�	C�46��I�(�(��)9�)9�&�)A�)A�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�	
������8�8�8��������
�
#�
#�G�$=�$.�0�0�	C�35��I�(�(��)9�)9�&�)A�)A�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�	
����&�.�9�9�9�9�9s$�.B�B�B�&.D � D$�'D$c�4�tj|j���}|�|j��|j�|�d����}|�d|��|�|j|j��|�	td��5|j�|�d����ddd��n#1swxYwY|�|j|j��dS)Nrcrrzless than zeror�)rrdrrerlr-�readexactlyr0rfr�r�ros   r�test_readexactly_zero_or_lessz)StreamTests.test_readexactly_zero_or_less�sA���%�4�9�5�5�5�������#�#�#��y�+�+�F�,>�,>�q�,A�,A�B�B������d�#�#�#������F�N�3�3�3�
�
#�
#�J�0@�
A�
A�	A�	A��I�(�(��);�);�B�)?�)?�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A������F�N�3�3�3�3�3s�3.C-�-C1�4C1c����tj�j����dt�j��z}�j���|����}��fd�}�j�|���j�|��}��	�j�jz|����	�j�j
��dS)Nrcr�c������j�����j�����j��dSrrtrgs��rruz(StreamTests.test_readexactly.<locals>.cb�sK������T�Y�'�'�'����T�Y�'�'�'����T�Y�'�'�'�'�'r)rrdr�lenrlrvr�rwr-r0rf)r�nryrur9rhs`    @r�test_readexactlyzStreamTests.test_readexactly�s������%�4�9�5�5�5��
��D�I������I�)�)�&�*<�*<�Q�*?�*?�@�@�	�	(�	(�	(�	(�	(�	(�	
�	���B�����y�+�+�I�6�6�������T�Y�.��5�5�5������F�N�3�3�3�3�3rc�"�tjd|j���}|�d��|j�|�d����}|�d|��|�d|j��dSr�)rrdrrer-r�r0rfros   r�test_readexactly_limitz"StreamTests.test_readexactly_limit�s����%�A�D�I�>�>�>������"�"�"��y�+�+�F�,>�,>�q�,A�,A�B�B������4�(�(�(�����f�n�-�-�-�-�-rc����tj�j����dt�j��z}�j���|����}��fd�}�j�|����tj	��5}�j�
|��ddd��n#1swxYwY��|jj
�j����|jj|����t|j��d����d�j��dS)Nrcr�c�d�����j������dSr)rerlr�rgs��rruz,StreamTests.test_readexactly_eof.<locals>.cbs/������T�Y�'�'�'��O�O�����rz-18 bytes read on a total of 36 expected bytesr)rrdrr�rlrvr�rwr[r�r-r0r�r�r��strrf)rr�ryrur�rhs`    @r�test_readexactly_eofz StreamTests.test_readexactly_eof�s������%�4�9�5�5�5��
��D�I������I�)�)�&�*<�*<�Q�*?�*?�@�@�	�	�	�	�	�	�	�	
�	���B����
�
�
�w�:�
;�
;�	4�r��I�(�(��3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4������-�t�y�9�9�9������.��2�2�2�����R�\�*�*�H�	J�	J�	J�����f�n�-�-�-�-�-s� C�C�Cc��tj|j���}|�d��|j�|�d����}|�d|��|�t����|�	t|jj|�d����dSr�)
rrdrrer-r�r0r�r�r[ros   r�test_readexactly_exceptionz&StreamTests.test_readexactly_exception
s����%�4�9�5�5�5������#�#�#��y�+�+�F�,>�,>�q�,A�,A�B�B�������%�%�%����Z�\�\�*�*�*������	�4�f�6H�6H��6K�6K�	M�	M�	M�	M�	Mrc��tj|j���}|�|�����t��}|�|��|�|���|��dSrk)rrdrr�r�r�r��assertIs�rrh�excs   r�test_exceptionzStreamTests.test_exceptionsz���%�4�9�5�5�5�����&�*�*�,�,�-�-�-��l�l�����S�!�!�!��
�
�f�&�&�(�(�#�.�.�.�.�.rc�~��tj|j�����fd�}|j�������}|j�|����}|j�tj||g����|�t|j	��dS)Nrcc��N�K���t����dSr)r�r�r�s�r�set_errz2StreamTests.test_exception_waiter.<locals>.set_err#s%������ � ����.�.�.�.�.r)
rrdrrvr/r-�waitr[r��result)rr��t1�t2rhs    @r�test_exception_waiterz!StreamTests.test_exception_waiter s�����%�4�9�5�5�5��	/�	/�	/�	/�	/��Y�
"�
"�6�?�?�#4�#4�
5�
5��
�Y�
"�
"�7�7�9�9�
-�
-���	�$�$�W�\�2�r�(�%;�%;�<�<�<����*�b�i�0�0�0�0�0rc���tj|j���}|j�|�����}tj|j��|���tj|j��|�td����tj|j��|�
|jd��dS)Nrc�message)rrdrrvr/rr�cancelr��RuntimeErrorr��_waiter)rrh�ts   r�test_exception_cancelz!StreamTests.test_exception_cancel-s����%�4�9�5�5�5���I�!�!�&�/�/�"3�"3�4�4����t�y�)�)�)�	���
�
�
���t�y�)�)�)����\�)�4�4�5�5�5���t�y�)�)�)��
�
�f�n�d�+�+�+�+�+rc���Gd�d��}d�}g�|j��fd���||j��}|���}|j�|j�||������}|���|�|d��||j��}|���}|j�|j�||������}|���|�|d��|��g��dS)Nc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�/StreamTests.test_start_server.<locals>.MyServerc�"�d|_||_dSr��serverr�rrs  r�__init__z8StreamTests.test_start_server.<locals>.MyServer.__init__=���"��� ��	�	�	rc��K�|����d{V��}|�|��|����d{V��|���|����d{V��dSr�r/r.�drainr�wait_closed�r�
client_reader�
client_writerr9s    r�
handle_clientz=StreamTests.test_start_server.<locals>.MyServer.handle_clientA�����*�3�3�5�5�5�5�5�5�5�5���#�#�D�)�)�)�#�)�)�+�+�+�+�+�+�+�+�+��#�#�%�%�%�#�/�/�1�1�1�1�1�1�1�1�1�1�1rc���tjd��}|j�t	j|j|�����|_|���S�N�z	127.0.0.1r)�sock�	�socket�
create_serverrr-r�start_serverr	r��getsockname�rrs  r�startz5StreamTests.test_start_server.<locals>.MyServer.startH�]���+�,<�=�=��"�i�:�:��(��);�.2�4�4�4�5�5����'�'�)�)�)rc�b�|j�|�||����dSr�rrvr	�rrrs   r�handle_client_callbackzFStreamTests.test_start_server.<locals>.MyServer.handle_client_callbackO�D���	�%�%�d�&8�&8��9F�'H�'H�I�I�I�I�Irc��tjd��}|���}|���|j�t
j|j|d|d�����|_	|S)Nr
r�)�host�port)
rrrrrr-rrrr�)rr�addrs   r�start_callbackz>StreamTests.test_start_server.<locals>.MyServer.start_callbackSs}���+�,<�=�=���'�'�)�)���
�
����"�i�:�:��(��)D�.2�1�g�D��G�E�E�E�F�F����rc��|j�S|j���|j�|j�����d|_dSdSr�r�rrr-rr�s r�stopz4StreamTests.test_start_server.<locals>.MyServer.stop\�Y���;�'��K�%�%�'�'�'��I�0�0���1H�1H�1J�1J�K�K�K�"&�D�K�K�K�'�'rN�	�__name__�
__module__�__qualname__rr	rrr!r$r
rr�MyServerr�;sq������
!�
!�
!�
2�
2�
2�
*�
*�
*�
I�
I�
I�
�
�
�
'�
'�
'�
'�
'rr*c���K�tj|��d{V��\}}|�d��|����d{V��}|���|����d{V��|S�N�
hello world!
)rr=r.r/rr)r r6r7�msgbacks    r�clientz-StreamTests.test_start_server.<locals>.clientbs�����#*�#:�D�#A�A�A�A�A�A�A�N�F�F��L�L�*�+�+�+�"�O�O�-�-�-�-�-�-�-�-�G��L�L�N�N�N��$�$�&�&�&�&�&�&�&�&�&��Nrc�.����|��Srr"r$s  �rr'z/StreamTests.test_start_server.<locals>.<lambda>mr(rr-)rr,rr-rvr$r0r!)rr*r/r�r �msgr&s      @r�test_start_serverzStreamTests.test_start_server9sd���%	'�%	'�%	'�%	'�%	'�%	'�%	'�%	'�N	�	�	����	�'�'�(N�(N�(N�(N�O�O�O���$�)�$�$���|�|�~�~���i�*�*�4�9�+@�+@������+N�+N�O�O�����
�
�
�����/�0�0�0���$�)�$�$���$�$�&�&���i�*�*�4�9�+@�+@������+N�+N�O�O�����
�
�
�����/�0�0�0�����2�&�&�&�&�&rc�f��Gd�d��}d�}g�|j��fd���tj��5}||j|��}|���|j�|j�||������}|���|�|d��ddd��n#1swxYwYtj��5}||j|��}|�	��|j�|j�||������}|���|�|d��ddd��n#1swxYwY|��g��dS)Nc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�4StreamTests.test_start_unix_server.<locals>.MyServerc�0�d|_||_||_dSr)r�r�path)rrr7s   rrz=StreamTests.test_start_unix_server.<locals>.MyServer.__init__�s��"��� ��	� ��	�	�	rc��K�|����d{V��}|�|��|����d{V��|���|����d{V��dSrrrs    rr	zBStreamTests.test_start_unix_server.<locals>.MyServer.handle_client�r
rc��|j�tj|j|j�����|_dS�N)r7)rr-r�start_unix_serverr	r7r�r�s rrz:StreamTests.test_start_unix_server.<locals>.MyServer.start�s>��"�i�:�:��-�d�.@�37�9�>�>�>�?�?����rc�b�|j�|�||����dSrrrs   rrzKStreamTests.test_start_unix_server.<locals>.MyServer.handle_client_callback�rrc��tj|j|j���}|j�|��|_dSr:)rr;rr7rr-r�)rrs  rr!zCStreamTests.test_start_unix_server.<locals>.MyServer.start_callback�sA���1�$�2M�7;�y�B�B�B��"�i�:�:�5�A�A����rc��|j�S|j���|j�|j�����d|_dSdSrr#r�s rr$z9StreamTests.test_start_unix_server.<locals>.MyServer.stop�r%rNr&r
rrr*r5�st������
!�
!�
!�

2�
2�
2�
?�
?�
?�

I�
I�
I�
B�
B�
B�

'�
'�
'�
'�
'rr*c��K�tj|���d{V��\}}|�d��|����d{V��}|���|����d{V��|Sr,)rrFr.r/rr)r7r6r7r.s    rr/z2StreamTests.test_start_unix_server.<locals>.client�s�����#*�#?��#E�#E�E�E�E�E�E�E�N�F�F��L�L�*�+�+�+�"�O�O�-�-�-�-�-�-�-�-�G��L�L�N�N�N��$�$�&�&�&�&�&�&�&�&�&��Nrc�.����|��Srr"r$s  �rr'z4StreamTests.test_start_unix_server.<locals>.<lambda>�r(rr-)
rr,r�unix_socket_pathrr-rvr$r0r!)rr*r/r7r�r1r&s      @r�test_start_unix_serverz"StreamTests.test_start_unix_servers7��� 	'� 	'� 	'� 	'� 	'� 	'� 	'� 	'�D	�	�	����	�'�'�(N�(N�(N�(N�O�O�O��
(�
*�
*�	5�d��X�d�i��.�.�F��L�L�N�N�N��)�.�.��	�%�%�f�f�T�l�l�3�3�5�5�C��K�K�M�M�M����S�"3�4�4�4�
	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5��
(�
*�
*�	5�d��X�d�i��.�.�F��!�!�#�#�#��)�.�.��	�%�%�f�f�T�l�l�3�3�5�5�C��K�K�M�M�M����S�"3�4�4�4�
	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	
����2�&�&�&�&�&s&�BC�C�"C�9BF�F�Fc���Gd�d��}d�}g�|j��fd���||j��}|���}|j�||����\}}|���|��g��|�|d��|�|d��dS)Nc�&�eZdZd�Zd�Zd�Zd�ZdS)�,StreamTests.test_start_tls.<locals>.MyServerc�"�d|_||_dSrr�r�s  rrz5StreamTests.test_start_tls.<locals>.MyServer.__init__�rrc��>K�|����d{V��}|�|��|����d{V��|�d���J�|�tj�����d{V��|�d���J�|����d{V��}|�|��|����d{V��|���|����d{V��dS)N�
sslcontext)	r/r.r�get_extra_info�	start_tlsr�simple_server_sslcontextrr)rrr�data1�data2s     rr	z:StreamTests.test_start_tls.<locals>.MyServer.handle_client�sn����+�4�4�6�6�6�6�6�6�6�6���#�#�E�*�*�*�#�)�)�+�+�+�+�+�+�+�+�+�$�3�3�L�A�A�I�I�I�#�-�-��7�9�9�;�;�;�;�;�;�;�;�;�$�3�3�L�A�A�M�M�M�+�4�4�6�6�6�6�6�6�6�6���#�#�E�*�*�*�#�)�)�+�+�+�+�+�+�+�+�+��#�#�%�%�%�#�/�/�1�1�1�1�1�1�1�1�1�1�1rc���tjd��}|j�t	j|j|�����|_|���Srrrs  rrz2StreamTests.test_start_tls.<locals>.MyServer.start�rrc��|j�S|j���|j�|j�����d|_dSdSrr#r�s rr$z1StreamTests.test_start_tls.<locals>.MyServer.stop�r%rN)r'r(r)rr	rr$r
rrr*rE�sP������
!�
!�
!�
2�
2�
2�
*�
*�
*�
'�
'�
'�
'�
'rr*c��pK�tj|��d{V��\}}|�d��|����d{V��|����d{V��}|�d���J�|�tj�����d{V��|�d���J�|�d��|����d{V��|����d{V��}|�	��|�
���d{V��||fS)N�hello world 1!
rH�hello world 2!
)rr=r.rr/rIrJr�simple_client_sslcontextrr)r r6r7�msgback1�msgback2s     rr/z*StreamTests.test_start_tls.<locals>.client�sp����#*�#:�D�#A�A�A�A�A�A�A�N�F�F��L�L�,�-�-�-��,�,�.�.� � � � � � � �#�_�_�.�.�.�.�.�.�.�.�H��(�(��6�6�>�>�>��"�"�:�#F�#H�#H�I�I�I�I�I�I�I�I�I��(�(��6�6�B�B�B��L�L�,�-�-�-��,�,�.�.� � � � � � � �#�_�_�.�.�.�.�.�.�.�.�H��L�L�N�N�N��$�$�&�&�&�&�&�&�&�&�&��X�%�%rc�.����|��Srr"r$s  �rr'z,StreamTests.test_start_tls.<locals>.<lambda>�r(rrQrR)rr,rr-r$r0)rr*r/r�r �msg1�msg2r&s       @r�test_start_tlszStreamTests.test_start_tls�s����	'�	'�	'�	'�	'�	'�	'�	'�B
	&�
	&�
	&����	�'�'�(N�(N�(N�(N�O�O�O���$�)�$�$���|�|�~�~���Y�1�1�&�&��,�,�?�?�
��d����
�
�
�����2�&�&�&�����2�3�3�3�����2�3�3�3�3�3r�win32zDon't have pipesc��
�d}tj��\}}tjd|t	|��g}t|dd��}t
j|jd���}t
j	||j����
|j�
|j��
fd�|����\}}t
j��}	|	�
|j��	t
j|	��t
j|d	|hi�}
|j�
|
��}|j�
|�����t
jd��n#t
jd��wxYwtj|��|j�
|�d
����}|�|d��dS)NzHimport os, sys
fd = int(sys.argv[1])
os.write(fd, b'data')
os.close(fd)
z-c�rbrrr�rcc����Srr
��protocols�rr'z<StreamTests.test_read_all_from_pipe_reader.<locals>.<lambda>s����r�pass_fdsr��data)�os�pipe�sys�
executabler��openrrdr�StreamReaderProtocolr-�connect_read_pipe�SafeChildWatcher�attach_loop�set_child_watcher�create_subprocess_execr�rr1r0)r�code�rfd�wfd�argsrcr6�	transport�_�watcher�create�procr9r_s             @r�test_read_all_from_pipe_readerz*StreamTests.test_read_all_from_pipe_readers�������7�9�9���S����d�C��H�H�5���C��q�!�!���%�4�9�A�>�>�>���/��T�Y�G�G�G���y�3�3��I�'�'�(8�(8�(8�(8�$�?�?�A�A��	�1��*�,�,�����D�I�&�&�&�		,��%�g�.�.�.��3�������F��9�/�/��7�7�D��I�(�(������5�5�5��%�d�+�+�+�+��G�%�d�+�+�+�+����
���
�
�
��y�+�+�F�K�K��O�O�<�<������w�'�'�'�'�'s
�%A,E&�&E<c�6�|�t��5}|�td��5t	j��ddd��n#1swxYwYddd��n#1swxYwY|�|jt��dS�NzThere is no current event loop)	�assertWarns�DeprecationWarningr�r�rrdr0�filename�__file__)rr�s  r�*test_streamreader_constructor_without_loopz6StreamTests.test_streamreader_constructor_without_loop,s��
�
�
�0�
1�
1�	'�R��'�'��6V�W�W�
'�
'��$�&�&�&�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'����
'�
'�
'�
'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	
�����h�/�/�/�/�/s4�A.�A�A.�A	�A.�A	�A.�.A2�5A2c��d�}|j�|����}|�|j|j��dS)Nc��,K�tj��Sr)rrdr
rr�testzHStreamTests.test_streamreader_constructor_use_running_loop.<locals>.test5s�����'�)�)�)r)rr-r��_loop)rr�r6s   r�.test_streamreader_constructor_use_running_loopz:StreamTests.test_streamreader_constructor_use_running_loop2sL��	*�	*�	*���-�-�d�d�f�f�5�5���
�
�f�l�D�I�.�.�.�.�.rc��|�tjd��tj|j��|�t
��5}tj��}ddd��n#1swxYwY|�|jt��|�
|j|j��dSr)�
addCleanuprrrryrzrdr0r{r|r�r�)rr�r6s   r�-test_streamreader_constructor_use_global_loopz9StreamTests.test_streamreader_constructor_use_global_loop;s���	
����.��5�5�5���t�y�)�)�)�
�
�
�0�
1�
1�	,�R��)�+�+�F�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,������h�/�/�/��
�
�f�l�D�I�.�.�.�.�.s�A4�4A8�;A8c�^�tj��}|�t��5}|�t
d��5t
j|��ddd��n#1swxYwYddd��n#1swxYwY|�|j	t��dSrx)r�Mockryrzr�r�rrgr0r{r|)rr6r�s   r�2test_streamreaderprotocol_constructor_without_loopz>StreamTests.test_streamreaderprotocol_constructor_without_loopGs�������
�
�
�0�
1�
1�	5�R��'�'��6V�W�W�
5�
5��,�V�4�4�4�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	
�����h�/�/�/�/�/s5�B�
A+�B�+A/	�/B�2A/	�3B�B�	Bc���tj����fd�}|j�|����}|�|j|j��dS)Nc��0�K�tj���Sr)rrg)r6s�rr�zPStreamTests.test_streamreaderprotocol_constructor_use_running_loop.<locals>.testRs������/��7�7�7r)rr�rr-r�r�)rr�r_r6s   @r�6test_streamreaderprotocol_constructor_use_running_loopzBStreamTests.test_streamreaderprotocol_constructor_use_running_loopNsb��������	8�	8�	8�	8�	8��9�/�/�����7�7���
�
�h�n�d�i�0�0�0�0�0rc��|�tjd��tj|j��t	j��}|�t��5}tj|��}ddd��n#1swxYwY|�	|j
t��|�|j
|j��dSr)r�rrrrr�ryrzrgr0r{r|r�r�)rr6r�r_s    r�5test_streamreaderprotocol_constructor_use_global_loopzAStreamTests.test_streamreaderprotocol_constructor_use_global_loopWs���	
����.��5�5�5���t�y�)�)�)������
�
�
�0�
1�
1�	<�R��3�F�;�;�H�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<������h�/�/�/��
�
�h�n�d�i�0�0�0�0�0s�'B�B�Bc�l����d��fd�����fd�}�j�|����dS)Nrc��J�K�|����d{V���dz
�dS)Nr)�
_drain_helper)rh�draineds �r�drainerz0StreamTests.test_multiple_drain.<locals>.drainergs8������&�&�(�(�(�(�(�(�(�(�(��q�L�G�G�Grc��X��K�tj��}tj�|�������|�d�j��tj��fd�td��D����d{V����	�d��dS)Ng�������?c�&��g|]
}������Sr
r
)�.0rrr�rhs  ��r�
<listcomp>zAStreamTests.test_multiple_drain.<locals>.main.<locals>.<listcomp>qs!���"F�"F�"F�q�7�7�6�?�?�"F�"F�"Fr�
)
r�get_running_loop�streams�FlowControlMixin�
pause_writing�
call_later�resume_writing�gather�ranger0)rrhr�r�rs @���r�mainz-StreamTests.test_multiple_drain.<locals>.mainls��������+�-�-�D��_�5�5�d�;�;�F�� � �"�"�"��O�O�C��!6�7�7�7��.�"F�"F�"F�"F�"F�E�"�I�I�"F�"F�"F�G�G�G�G�G�G�G�G����W�b�)�)�)�)�)r)rr-)rr�r�r�s` @@r�test_multiple_drainzStreamTests.test_multiple_draincsj�������	�	�	�	�	�
	*�	*�	*�	*�	*�	*�	*�	
�	�$�$�T�T�V�V�,�,�,�,�,rc����g�|j��fd���tj����fd�}d�}t	j|���}d|_|�������}|�	tttf��5|j�
||���ddd��n#1swxYwY|���|�g���dS)Nc�.����|��Srr"r$s  �rr'z/StreamTests.test_drain_raises.<locals>.<lambda>r(rc�
��tjd��5}|���}��|��|���\}}|���ddd��dS#1swxYwYdS)N)�	localhostr)rrr�put�acceptr)rr �cltrr�qs    �rr�z-StreamTests.test_drain_raises.<locals>.server�s�����%�&6�7�7�
�4��'�'�)�)�����d�����������Q��	�	����	
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
s�AA8�8A<�?A<c��K�tj||���d{V��\}}	|�d��|����d{V���0)NTsfoo
)rr=r.r)rrr6r7s    rr/z-StreamTests.test_drain_raises.<locals>.client�sj����#*�#:�4��#F�#F�F�F�F�F�F�F�N�F�F�
%����X�&�&�&��l�l�n�n�$�$�$�$�$�$�$�
%r)�targetT)rr,�queue�Queue�	threading�Thread�daemonr�getr[�ConnectionResetError�ConnectionAbortedError�BrokenPipeErrorr-�joinr0)rr�r/�threadr r&r�s     @@r�test_drain_raiseszStreamTests.test_drain_raisesvsV�������	�'�'�(N�(N�(N�(N�O�O�O��K�M�M��	�	�	�	�	�	%�	%�	%��!��0�0�0����
��������u�u�w�w���
�
� 4�6L� /� 1�2�2�	8�	8��I�(�(�����7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	���
�
�
�����X�&�&�&�&�&s�(C�C�Cc��tj|j���}|�dt	|����dS)Nrc�<StreamReader>�rrdrr0�reprrgs  r�
test___repr__zStreamTests.test___repr__�s:���%�4�9�5�5�5�����)�4��<�<�8�8�8�8�8rc��tj|jd���}|�dt	|����dS)N�{r�z<StreamReader limit=123>r�rgs  r�test___repr__nondefault_limitz)StreamTests.test___repr__nondefault_limit�s<���%�4�9�C�@�@�@�����3�T�&�\�\�B�B�B�B�Brc��tj|j���}|���|�dt|����dS)Nrcz<StreamReader eof>)rrdrr�r0r�rgs  r�test___repr__eofzStreamTests.test___repr__eof�sJ���%�4�9�5�5�5�����������-�t�F�|�|�<�<�<�<�<rc��tj|j���}|�d��|�dt|����dS)Nrcraz<StreamReader 4 bytes>)rrdrrer0r�rgs  r�test___repr__datazStreamTests.test___repr__data�sN���%�4�9�5�5�5������!�!�!����1�4��<�<�@�@�@�@�@rc���tj|j���}t��}|�|��|�dt
|����dS)Nrcz'<StreamReader exception=RuntimeError()>)rrdrr�r�r0r�r�s   r�test___repr__exceptionz"StreamTests.test___repr__exception�sb���%�4�9�5�5�5���n�n�����S�!�!�!����B��f���	'�	'�	'�	'�	'rc��tj|j���}tj|j���|_|�t
|��d��|j�d��|j�|j��d|_|�	dt
|����dS)Nrcz,<StreamReader waiter=<Future pending[\S ]*>>r�)
rrdr�Futurer��assertRegexr��
set_resultr-r0rgs  r�test___repr__waiterzStreamTests.test___repr__waiter�s����%�4�9�5�5�5�� ��T�Y�7�7�7��������L�L�;�	=�	=�	=�	��!�!�$�'�'�'��	�$�$�V�^�4�4�4�������)�4��<�<�8�8�8�8�8rc��tj|j���}tj��|_tj��|j_d|jj_|�dt|����dS)Nrcz<Transport>z$<StreamReader transport=<Transport>>)
rrdrrr��
_transport�__repr__�return_valuer0r�rgs  r�test___repr__transportz"StreamTests.test___repr__transport�sg���%�4�9�5�5�5�� �I�K�K���%)�Y�[�[���"�2?���"�/����?��f���N�N�N�N�Nrc��tjdd��}ttjdz��D]�}|�|���5tjtj||�����}|�t|��t|����|�|j
|j
��|�|j|j��ddd��n#1swxYwY��dS)Nsabcr�r��pickle_protocolr^)rr�r��pickle�HIGHEST_PROTOCOL�subTest�loads�dumpsr0r�r�r��r�e�proto�e2s    r�#test_IncompleteReadError_pickleablez/StreamTests.test_IncompleteReadError_pickleable�s���'���3�3���6�2�Q�6�7�7�	:�	:�E����e��4�4�
:�
:��\�&�,�q�5�"A�"A�"A�B�B��� � ��Q����R���1�1�1�� � ���B�J�7�7�7�� � ���R�[�9�9�9�	
:�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:����
:�
:�
:�
:��	:�	:s�
BC/�/C3	�6C3	c��tjdd��}ttjdz��D]�}|�|���5tjtj||�����}|�t|��t|����|�|j
|j
��ddd��n#1swxYwY��dS)Nr�r�rr�r^)rr�r�r�r�r�r�r�r0r��consumedr�s    r�!test_LimitOverrunError_pickleablez-StreamTests.test_LimitOverrunError_pickleable�s���%�i��4�4���6�2�Q�6�7�7�	:�	:�E����e��4�4�
:�
:��\�&�,�q�5�"A�"A�"A�B�B��� � ��Q����R���1�1�1�� � ���R�[�9�9�9�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:����
:�
:�
:�
:��	:�	:s�
A9C�C	�C	c�4�tj��5}|j�t	j|j���\}}|�d��|���}|j�|��}|�	|d��|�
��}|j�|��}|�|�d����|�
|�����|���|�|�����|j�|�����ddd��dS#1swxYwYdS�Nr)r*r+)rr<rr-rr=r>r.r/r0r1r2r3r��
is_closingrr�rr@�rd�wrr8r9s      r�test_wait_closed_on_closez%StreamTests.test_wait_closed_on_close�s���
�
'�
)�
)�	;�U��Y�1�1��'���7�9�9�F�B��
�H�H�.�/�/�/����
�
�A��9�/�/��2�2�D����T�#9�:�:�:����	�	�A��9�/�/��2�2�D��O�O�D�M�M�*A�B�B�C�C�C����R�]�]�_�_�-�-�-��H�H�J�J�J��O�O�B�M�M�O�O�,�,�,��I�(�(����)9�)9�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s�E,F
�
F�Fc���tj��5}|j�t	j|j���\}}|�d��|���}|j�|��}|�	|d��|�
��|j�|�����ddd��dS#1swxYwYdS)Nr)r*)rr<rr-rr=r>r.r/r0rrr�s      r�*test_wait_closed_on_close_with_unread_dataz6StreamTests.test_wait_closed_on_close_with_unread_data�s��
�
'�
)�
)�		;�U��Y�1�1��'���7�9�9�F�B��
�H�H�.�/�/�/����
�
�A��9�/�/��2�2�D����T�#9�:�:�:��H�H�J�J�J��I�(�(����)9�)9�:�:�:�		;�		;�		;�		;�		;�		;�		;�		;�		;�		;�		;�		;����		;�		;�		;�		;�		;�		;s�CC)�)C-�0C-c�����fd�}g��j��fd���tj��5}�j�||����ddd��n#1swxYwY���g��dS)Nc���K�tj|j��d{V��\}}|�d��|����d{V��}��|d��|����d{V��}��|�d����|�	��|�
���d{V��dSr�)rr=r>r.r/r0r1r2r3rr�r@r�r�r9rs    �r�innerz0StreamTests.test_async_writer_api.<locals>.inner�s������"�2�E�M�B�B�B�B�B�B�B�F�B���H�H�.�/�/�/������&�&�&�&�&�&�D����T�#9�:�:�:������?�?�?�?�?�?�D��O�O�D�M�M�*A�B�B�C�C�C��H�H�J�J�J��.�.�"�"�"�"�"�"�"�"�"�"�"rc�.����|��Srr"r$s  �rr'z3StreamTests.test_async_writer_api.<locals>.<lambda>r(r�rr,rr<r-r0�rr�r@r&s`  @r�test_async_writer_apiz!StreamTests.test_async_writer_api�s�����		#�		#�		#�		#�		#����	�'�'�(N�(N�(N�(N�O�O�O�
�
'�
)�
)�	7�U��I�(�(���u���6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	
����2�&�&�&�&�&��$A*�*A.�1A.c�����fd�}g��j��fd���tj��5}�j�||����ddd��n#1swxYwY���g��dS)Nc��>�K�tj|j��d{V��\}}|�d��|����d{V��}��|d��|����d{V��}��|�d����|�	����
t��5|�d��|����d{V��ddd��dS#1swxYwYdS)Nr)r*r+ra)
rr=r>r.r/r0r1r2r3rr[r�rr�s    �rr�zFStreamTests.test_async_writer_api_exception_after_close.<locals>.innerse�����"�2�E�M�B�B�B�B�B�B�B�F�B���H�H�.�/�/�/������&�&�&�&�&�&�D����T�#9�:�:�:������?�?�?�?�?�?�D��O�O�D�M�M�*A�B�B�C�C�C��H�H�J�J�J��"�"�#7�8�8�
!�
!�����!�!�!��h�h�j�j� � � � � � � �
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!�
!�
!s�0D�D�Dc�.����|��Srr"r$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_closes�����	!�	!�	!�	!�	!����	�'�'�(N�(N�(N�(N�O�O�O�
�
'�
)�
)�	7�U��I�(�(���u���6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	
����2�&�&�&�&�&r�c�~��g�|j��fd���tj��5}|j�tj|j���\}}|���|�	��}|j�|��|�
|�����|���}|j�|��}|�
|d��ddd��n#1swxYwY|�
�g��dS)Nc�.����|��Srr"r$s  �rr'z?StreamTests.test_eof_feed_when_closing_writer.<locals>.<lambda>'r(rr)rr,rr<r-rr=r>rrr2r�r1r0)rr@r�r�r8r9r&s      @r�!test_eof_feed_when_closing_writerz-StreamTests.test_eof_feed_when_closing_writer$sU������	�'�'�(N�(N�(N�(N�O�O�O�
�
'�
)�
)�
	(�U��Y�1�1��+�U�]�;�=�=�F�B��
�H�H�J�J�J���� � �A��I�(�(��+�+�+��O�O�B�I�I�K�K�(�(�(����	�	�A��9�/�/��2�2�D����T�3�'�'�'�
	(�
	(�
	(�
	(�
	(�
	(�
	(�
	(�
	(�
	(�
	(����
	(�
	(�
	(�
	(�	
����2�&�&�&�&�&s�CD�D �#D )Qr'r(r)rlrrr:rBr�skip_unless_bind_unix_socketrGrK�unittest�skipIfrOrQrUr\r^r`rirmrprzr~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�r2rBrYrd�platformrvr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__)rs@rrrs'�������#�D�'�'�'�'�'�
�����'�'�'�5�5�5�
�/�5�5�0�/�5�

'�
'�
'��X�_�S�D�[�/�2�2�A�A�3�2�A��/��X�_�S�D�[�/�2�2�A�A�3�2�0�/�A�
'�
'�
'�;�;�;�
�/�;�;�0�/�;�
.�.�.�4�4�4�4�4�4�.�.�.�	3�	3�	3�.�.�.�.�.�.� 	F�	F�	F�;�;�;�.�.�.�5�5�5�".�.�.�6
)�
)�
)�-.�-.�-.�^
<�
<�
<�-�-�-�$�$�$�	4�	4�	4�
.�
.�
.�J�J�J�
1�1�1�$!.�!.�!.�F.�.�.�:�:�:� 4�4�4�4�4�4�".�.�.�.�.�.�&	M�	M�	M�/�/�/�1�1�1�
,�
,�
,�D'�D'�D'�L�/�C'�C'�0�/�C'�J�X�_�S�D�[�/�2�2�<4�<4�3�2�<4�|�X�_�S�\�W�,�.@�A�A�%(�%(�B�A�%(�N0�0�0�/�/�/�	/�	/�	/�0�0�0�1�1�1�
1�
1�
1�-�-�-�&)'�)'�)'�V9�9�9�C�C�C�=�=�=�
A�A�A�
'�'�'�	9�	9�	9�O�O�O�:�:�:�:�:�:�;�;�;�"
;�
;�
;�'�'�'�('�'�'�,'�'�'�'�'�'�'rr�__main__)�__doc__rrbr�r�rrdr�r�r�test.supportrrO�ImportErrorr�test.test_asynciorrr
�TestCaserr'r�r
rr�<module>rs:����	�	�	�	�	�	�	�	�����
�
�
�
�
�
�
�
�
�
�
�
���������������&�&�&�&�&�&���J�J�J�J������
�C�C�C���������1�1�1�1�1�1�(�(�(�['�['�['�['�['�*�%�['�['�['�| �z����H�M�O�O�O�O�O��s�5�?�?