+
    Bi                         R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt  ^ RIt^ RI
t
^ RIHt ^ RIHt R t ! R R]P"                  4      t]R8X  d   ]P(                  ! 4        R# R#   ]	 d    Rt LOi ; i)	zTests for streams.py.N)mock)utils)socket_helperc                  D    \         P                  P                  R 4       R # N)asyncioevents_set_event_loop_policy     5/usr/lib/python3.14/test/test_asyncio/test_streams.pytearDownModuler      s    NN))$/r   c                     a a ] tR t^t oRtV 3R ltV 3R ltR tR t]	P                  R 4       tR t]P                  ! ]RJ R	4      R
 4       t]	P                  ]P                  ! ]RJ R	4      R 4       4       tR tR t]	P                  R 4       tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$R t%R  t&R! t'R" t(R# t)R$ t*R% t+R& t,R' t-R( t.R) t/R* t0R+ t1R, t2R- t3R. t4R/ t5R0 t6R1 t7R2 t8R3 t9]	P                  R4 4       t:]P                  ! ]RJ R	4      R5 4       t;R6 t<R7 t=R8 t>R9 t?R: t@R; tAR< tBR= tCR> tDR? tER@ tFRA tGRB tHRC tIRD tJRE tKRF tLRG tMRH tNRI tORJ tPRK tQRL tRRM tSRN tTRO tURP tVRQ tWRR tXRStYVtZV ;t[# )TStreamTestss   line1
line2
line3
c                   < \         SV `  4        \        P                  ! 4       V n        V P                  V P                  4       R # r   )supersetUpr   new_event_looploopset_event_loopself	__class__s   &r   r   StreamTests.setUp   s.    **,	DII&r   c                d   < \         P                  ! V P                  4       \        SV `  4        R # r   )
test_utilsrun_brieflyr   r   tearDownr   s   &r   r   StreamTests.tearDown!   s"    tyy) 	r   c                  a . oV P                   P                  V3R  l4       V P                   P                  V4      w  r#VP                  R4       VP	                  4       pV P                   P                  V4      pV P                  VR4       VP                  4       pV P                   P                  V4      pV P                  VR4       VP                  4        V P                  S. 4       R# )c                 &   < SP                  V4      # r   appendr   ctxmessagess   &&r   <lambda>7StreamTests._basetest_open_connection.<locals>.<lambda>*       (//#:Nr      GET / HTTP/1.0

   HTTP/1.0 200 OK
   

Test messageN)	r   set_exception_handlerrun_until_completewritereadlineassertEqualreadassertEndsWithcloser   open_connection_futreaderwriterfdatar%   s   &&    @r   _basetest_open_connection%StreamTests._basetest_open_connection(   s    		''(NO556IJ./OOyy++A.56KKMyy++A.D"9:2&r   c                    \         P                  ! 4       ;_uu_ 4       p\        P                  ! VP                  !  pV P                  V4       R R R 4       R #   + '       g   i     R # ; ir   )r   run_test_serverr   open_connectionaddressr:   r   httpdconn_futs   &  r   test_open_connection StreamTests.test_open_connection6   sD    ''))U..>H**84 *)))   0AA)	c                    \         P                  ! 4       ;_uu_ 4       p\        P                  ! VP                  4      pV P                  V4       R R R 4       R #   + '       g   i     R # ; ir   )r   run_test_unix_serverr   open_unix_connectionr?   r:   r@   s   &  r   test_open_unix_connection%StreamTests.test_open_unix_connection;   sD    ,,..%33EMMBH**84 /...   2AA+	c                  a . oV P                   P                  V3R  l4        V P                   P                  V4      w  r#\        P                  ! R4       VP                  R4       VP                  4       pV P                   P                  V4      pV P                  VR4       VP                  4        V P                  S. 4       R#   \        P                  ! R4       i ; i)c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   CStreamTests._basetest_open_connection_no_loop_ssl.<locals>.<lambda>C   r(   r   Nr)   r+   )
r   r,   r-   r   r   r.   r1   r2   r3   r0   r4   s   &&    @r   %_basetest_open_connection_no_loop_ssl1StreamTests._basetest_open_connection_no_loop_sslA   s    		''(NO	)!YY99:MNNF""4(./KKMyy++A.D"9:2& ""4(s   C	 	C!NzNo ssl modulec                   \         P                  ! R R7      ;_uu_ 4       p\        P                  ! VP                  R\         P
                  ! 4       / pV P                  V4       RRR4       R#   + '       g   i     R# ; i)Tuse_sslsslN)r   r=   r   r>   r?   dummy_ssl_contextrO   r@   s   &  r    test_open_connection_no_loop_ssl,StreamTests.test_open_connection_no_loop_sslP   s\    ''55..40024H 66x@ 6555s   AA//B 	c                   \         P                  ! R R7      ;_uu_ 4       p\        P                  ! VP                  \         P
                  ! 4       RR7      pV P                  V4       RRR4       R#   + '       g   i     R# ; i)TrR    )rT   server_hostnameN)r   rG   r   rH   r?   rU   rO   r@   s   &  r   %test_open_unix_connection_no_loop_ssl1StreamTests.test_open_unix_connection_no_loop_sslY   s\     ,,T::e33002 "H 66x@ ;:::s   AA22B	c                  a . oV P                   P                  V3R  l4       V P                   P                  V4      w  r#VP                  P	                  \        4       4       VP                  4       pV P                  \
        4      ;_uu_ 4        V P                   P                  V4       RRR4       VP                  4        \        P                  ! V P                   4       V P                  S. 4       R#   + '       g   i     LT; i)c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   =StreamTests._basetest_open_connection_error.<locals>.<lambda>g   r(   r   N)r   r,   r-   	_protocolconnection_lostZeroDivisionErrorr1   assertRaisesr3   r   r   r0   )r   r5   r6   r7   r8   r%   s   &&   @r   _basetest_open_connection_error+StreamTests._basetest_open_connection_errore   s    		''(NO556IJ(():)<=KKM011II((+ 2tyy)2&	 21s   C88D	c                    \         P                  ! 4       ;_uu_ 4       p\        P                  ! VP                  !  pV P                  V4       R R R 4       R #   + '       g   i     R # ; ir   )r   r=   r   r>   r?   rd   r@   s   &  r   test_open_connection_error&StreamTests.test_open_connection_errorq   sD    ''))U..>H00: *)))rE   c                    \         P                  ! 4       ;_uu_ 4       p\        P                  ! VP                  4      pV P                  V4       R R R 4       R #   + '       g   i     R # ; ir   )r   rG   r   rH   r?   rd   r@   s   &  r   test_open_unix_connection_error+StreamTests.test_open_unix_connection_errorv   sD    ,,..%33EMMBH00: /...rK   c                    \         P                  ! V P                  R 7      pVP                  R4       V P	                  RVP
                  4       R# r   r   N)r   StreamReaderr   	feed_datar0   _bufferr   streams   & r   test_feed_empty_data StreamTests.test_feed_empty_data|   s8    %%4995fnn-r   c                    \         P                  ! V P                  R 7      pVP                  V P                  4       V P                  V P                  VP                  4       R# rn   N)r   ro   r   rp   DATAr0   rq   rr   s   & r   test_feed_nonempty_data#StreamTests.test_feed_nonempty_data   s@    %%4995#FNN3r   c                B   \         P                  ! V P                  R 7      pVP                  V P                  4       V P                  P                  VP                  ^ 4      4      pV P                  RV4       V P                  V P                  VP                  4       R# rm   )	r   ro   r   rp   rx   r-   r1   r0   rq   r   rs   r9   s   &  r   test_read_zeroStreamTests.test_read_zero   sl    %%4995#yy++FKKN;d#FNN3r   c                  a a \         P                  ! S P                  R 7      oS P                  P                  SP	                  ^4      4      pV V3R lpS P                  P                  V4       S P                  P                  V4      pS P                  S P                  V4       S P                  RSP                  4       R# )rn   c                  >   < SP                  S P                  4       R # r   rp   rx   rr   s   r   cb!StreamTests.test_read.<locals>.cb   s    TYY'r   r   N)
r   ro   r   create_taskr1   	call_soonr-   r0   rx   rq   r   	read_taskr   r9   rs   s   f   @r   	test_readStreamTests.test_read   s    %%4995II))&++b/:		(		Byy++I6D)fnn-r   c                <   \         P                  ! V P                  R 7      pVP                  R4       VP                  R4       V P                  P	                  VP                  ^4      4      pV P                  RV4       V P                  RVP                  4       R# )rn   s   line1s   line2Nr   ro   r   rp   r-   r1   r0   rq   r|   s   &  r   test_read_line_breaks!StreamTests.test_read_line_breaks   sr    %%4995""yy++FKKN;4(6>>2r   c                r  a \         P                  ! V P                  R 7      oV P                  P                  SP	                  R4      4      pV3R lpV P                  P                  V4       V P                  P                  V4      pV P                  RV4       V P                  RSP                  4       R# )rn   i   c                  (   < S P                  4        R # r   )feed_eofrs   s   r   r   %StreamTests.test_read_eof.<locals>.cb   s    OOr   r   N	r   ro   r   r   r1   r   r-   r0   rq   r   s   &   @r   test_read_eofStreamTests.test_read_eof   s    %%4995II))&++d*;<				Byy++I6d#fnn-r   c                r  a \         P                  ! V P                  R 7      oV P                  P                  SP	                  R4      4      pV3R lpV P                  P                  V4       V P                  P                  V4      pV P                  RV4       V P                  RSP                  4       R# )rn   c                  l   < S P                  R 4       S P                  R4       S P                  4        R# )s   chunk1
   chunk2Nrp   r   r   s   r   r   +StreamTests.test_read_until_eof.<locals>.cb   s)    [)Y'OOr   s   chunk1
chunk2r   Nr   r   s   &   @r   test_read_until_eofStreamTests.test_read_until_eof   s    %%4995II))&++b/:		 			Byy++I6*D1fnn-r   c                   \         P                  ! V P                  R 7      pVP                  R4       V P                  P	                  VP                  ^4      4      pV P                  RV4       VP                  \        4       4       V P                  \        V P                  P                  VP                  ^4      4       R# rn      line
   liN)
r   ro   r   rp   r-   r1   r0   set_exception
ValueErrorrc   r|   s   &  r   test_read_exceptionStreamTests.test_read_exception   s    %%4995#yy++FKKN;%Z\*		44fkk!n	Fr   c                x   V P                  \        R 4      ;_uu_ 4        \        P                  ! ^ V P                  R7       RRR4       V P                  \        R 4      ;_uu_ 4        \        P                  ! RV P                  R7       RRR4       R#   + '       g   i     L[; i  + '       g   i     R# ; i)imitlimitr   Nr   )assertRaisesRegexr   r   ro   r   r   s   &r   test_invalid_limitStreamTests.test_invalid_limit   st    ##J77  qtyy9 8 ##J77  r		: 87 87 877s   #B(#B(B%	(B9	c                   \         P                  ! ^V P                  R7      pVP                  R4       V P                  P	                  VP                  ^4      4      pV P                  RV4       V P                  RVP                  4       R#    r   s   chunkr   Nr   r|   s   &  r   test_read_limitStreamTests.test_read_limit   sf    %%ADII>"yy++FKKN;4(fnn-r   c                  a \         P                  ! V P                  R 7      oSP                  R4       V P                  P	                  SP                  4       4      pV3R lpV P                  P                  V4       V P                  P                  V4      pV P                  RV4       V P                  RSP                  4       R# )rn   s   chunk1 c                  n   < S P                  R 4       S P                  R4       S P                  R4       R# )s   chunk2 s   chunk3 s   
 chunk4N)rp   r   s   r   r   %StreamTests.test_readline.<locals>.cb   s-    Z(Z(\*r   s   chunk1 chunk2 chunk3 
s    chunk4N)
r   ro   r   rp   r   r/   r   r-   r0   rq   )r   r   r   liners   s   &   @r   test_readlineStreamTests.test_readline   s     %%4995$II))&//*;<		+ 			Byy++I63T:V^^4r   c                   \         P                  ! ^V P                  R7      pVP                  R4       VP                  R4       V P	                  \
        V P                  P                  VP                  4       4       V P                  RVP                  4       \         P                  ! ^V P                  R7      pVP                  R4       VP                  R4       VP                  R4       V P	                  \
        V P                  P                  VP                  4       4       V P                  RVP                  4       R# )r   r   r   s
   ne1
line2
s   line2
s   ne1r   N)
r   ro   r   rp   rc   r   r-   r/   r0   rq   rr   s   & r   &test_readline_limit_with_existing_data2StreamTests.test_readline_limit_with_existing_data   s     %%ADII>)		44foo6G	I 	V^^4%%ADII> 		44foo6G	I 	fnn-r   c                H   \         P                  ! V P                  R 7      pV P                  VP	                  4       4       VP                  R4       V P                  VP	                  4       4       V P                  P                  VP                  4       4       V P                  VP	                  4       4       VP                  R4       VP                  4        V P                  P                  VP                  4       4       V P                  VP	                  4       4       R# )rn   s
   some data
N)
r   ro   r   assertFalseat_eofrp   r-   r/   r   
assertTruerr   s   & r   test_at_eofStreamTests.test_at_eof  s    %%4995)()		$$V__%67)(		$$V__%67(r   c                  a \         P                  ! ^V P                  R7      oV3R lpV P                  P                  V4       V P	                  \
        V P                  P                  SP                  4       4       V P                  RSP                  4       \         P                  ! ^V P                  R7      oV3R lpV P                  P                  V4       V P	                  \
        V P                  P                  SP                  4       4       V P                  RSP                  4       \         P                  ! ^V P                  R7      oSP                  R4       V P                  P                  SP                  4       4      pV P                  RV4       V P                  RSP                  4       SP                  R4       V P	                  \
        4      ;_uu_ 4       pV P                  P                  SP                  4       4       RRR4       V P                  RSP                  4       SP                  R	4       V P	                  \
        4      ;_uu_ 4       pV P                  P                  SP                  4       4       RRR4       V P                  RSP                  4       R#   + '       g   i     L; i  + '       g   i     LA; i)
   r   c                     < S P                  R 4       S P                  R4       S P                  R4       S P                  4        R# )   chunk1r      chunk3
Nr   r   s   r   r   +StreamTests.test_readline_limit.<locals>.cb  s7    Y'Y'[)OOr   r   c                     < S P                  R 4       S P                  R4       S P                  R4       S P                  4        R# )r   s   chunk2
r   Nr   r   s   r   r   r   -  s7    Y'[)[)OOr   r   s   1234567
s	   12345678
Ns   12345678)r   ro   r   r   rc   r   r-   r/   r0   rq   rp   )r   r   r   cmrs   s   &   @r   test_readline_limitStreamTests.test_readline_limit  s    %%ADII>	
 			B		44foo6G	I 	fnn-%%ADII>	
 			B		44foo6G	Ifnn5 %%ADII>&yy++FOO,=>t,fnn-'z**bII(():; +fnn-%z**bII(():; +fnn- +*
 +*s   **J6&*K	6K		K	c                ~   \         P                  ! V P                  R 7      pVP                  V P                  R,          4       VP                  V P                  R,          4       V P                  P                  VP                  4       4      pV P                  RV4       V P                  RVP                  4       R# )rn   :N   N:r   NNs   line1
s   line2
line3
N)	r   ro   r   rp   rx   r-   r/   r0   rq   r   rs   r   s   &  r   test_readline_nolimit_nowait(StreamTests.test_readline_nolimit_nowaitI  s     %%49952'2'yy++FOO,=>T**FNN;r   c                    \         P                  ! V P                  R 7      pVP                  R4       VP	                  4        V P                  P                  VP                  4       4      pV P                  RV4       R# )rn   s	   some dataN)r   ro   r   rp   r   r-   r/   r0   r   s   &  r   test_readline_eofStreamTests.test_readline_eofU  sY    %%4995&yy++FOO,=>t,r   c                    \         P                  ! V P                  R 7      pVP                  4        V P                  P	                  VP                  4       4      pV P                  RV4       R# rm   )r   ro   r   r   r-   r/   r0   r   s   &  r   test_readline_empty_eof#StreamTests.test_readline_empty_eof]  sK    %%4995yy++FOO,=>d#r   c                   \         P                  ! V P                  R 7      pVP                  V P                  4       V P                  P                  VP                  4       4       V P                  P                  VP                  ^4      4      pV P                  RV4       V P                  RVP                  4       R# )rn   s   line2
ls   ine3
N)
r   ro   r   rp   rx   r-   r/   r1   r0   rq   r|   s   &  r   test_readline_read_byte_count)StreamTests.test_readline_read_byte_countd  s    %%4995#		$$V__%67yy++FKKN;d+FNN3r   c                   \         P                  ! V P                  R 7      pVP                  R4       V P                  P	                  VP                  4       4      pV P                  RV4       VP                  \        4       4       V P                  \        V P                  P                  VP                  4       4       V P                  RVP                  4       R# )rn   r   r   N)r   ro   r   rp   r-   r/   r0   r   r   rc   rq   r|   s   &  r   test_readline_exception#StreamTests.test_readline_exceptiono  s    %%4995#yy++FOO,=>D)Z\*		44foo6G	Ifnn-r   c                   \         P                  ! V P                  R 7      pV P                  \        R4      ;_uu_ 4        V P                  P                  VP                  RR7      4       RRR4       V P                  \        R4      ;_uu_ 4        V P                  P                  VP                  RR7      4       RRR4       V P                  \        R4      ;_uu_ 4        V P                  P                  VP                  RR7      4       RRR4       R#   + '       g   i     L; i  + '       g   i     Lw; i  + '       g   i     R# ; i)rn   zSeparator should ber   	separatorNzSeparator should contain)r   r
   )r   ro   r   r   r   r-   	readuntilrr   s   & r   test_readuntil_separator$StreamTests.test_readuntil_separator{  s    %%4995##J0EFFII(()9)9C)9)HI G##J0EFFII(()9)9F)9)KL G##J0JKKII(()9)9B)9)GH LK	 GFFFKKKs$    ,D,D-$,E D*	-D=	 E	c                   \         P                  ! V P                  R 7      pVP                  R4       V P                  P	                  VP                  RR7      4      pV P                  RV4       V P                  RVP                  4       VP                  R4       V P                  P	                  VP                  R4      4      pV P                  RV4       V P                  RVP                  4       VP                  R4       V P                  P	                  VP                  R4      4      pV P                  RV4       V P                  RVP                  4       R# )rn   s   lineAAA   AAAr   r   s
   lineAAAxxxs   xxxNr   ro   r   rp   r-   r   r0   rq   r|   s   &  r   test_readuntil_multi_chunks'StreamTests.test_readuntil_multi_chunks  s   %%4995$yy++F,<,<v,<,NOT*fnn-$yy++F,<,<V,DET*fnn-'yy++F,<,<V,DET*0r   c                P   \         P                  ! V P                  R 7      pVP                  R4       VP                  R4       VP                  R4       V P                  P	                  VP                  R4      4      pV P                  RV4       V P                  RVP                  4       VP                  R4       VP                  R4       VP                  R4       V P                  P	                  VP                  R4      4      pV P                  RV4       V P                  RVP                  4       VP                  R4       V P                  P	                  VP                  R4      4      pV P                  RV4       V P                  RVP                  4       VP                  R	4       V P                  P	                  VP                  R4      4      pV P                  R	V4       V P                  RVP                  4       VP                  R
4       VP                  R4       VP                  R4       VP                  R4       V P                  P	                  VP                  R4      4      pV P                  RV4       V P                  RVP                  4       R# )rn   s   QWEaas   XYaa   a   aaas
   QWEaaXYaaar   s   XYas   aas   Xaaas   XXXs   XXXaaaNr   r|   s   &  r   test_readuntil_multi_chunks_1)StreamTests.test_readuntil_multi_chunks_1  s   %%4995"!yy++F,<,<V,DE-fnn-" yy++F,<,<V,DE-fnn- yy++F,<,<V,DE&fnn-!yy++F,<,<V,DE$'fnn- yy++F,<,<V,DED)fnn-r   c                8   \         P                  ! V P                  R 7      pRpVP                  V4       VP	                  4        V P                  \         P                  R4      ;_uu_ 4       pV P                  P                  VP                  R4      4       RRR4       V P                  XP                  P                  V4       V P                  VP                  P                  4       V P                  RVP                  4       R#   + '       g   i     Ly; i)rn      some dataAAzundefined expected bytesr   Nr   )r   ro   r   rp   r   r   IncompleteReadErrorr-   r   r0   	exceptionpartialassertIsNoneexpectedrq   )r   rs   r9   r   s   &   r   test_readuntil_eofStreamTests.test_readuntil_eof  s    %%4995##G$?$?$>@ @CEII(()9)9&)AB@ 	--t4",,//0fnn-@ @s   -+D		D	c                   \         P                  ! V P                  ^R7      pVP                  R4       V P	                  \         P
                  R4      ;_uu_ 4       pV P                  P                  VP                  R4      4       RRR4       V P                  RVP                  4       VP                  R4       V P	                  \         P
                  R4      ;_uu_ 4       pV P                  P                  VP                  R4      4       RRR4       V P                  RVP                  4       R#   + '       g   i     L; i  + '       g   i     LA; i)	r   r   r   r   z	not foundr   N   Ais founds   some dataAAA
r   ro   r   rp   r   LimitOverrunErrorr-   r   r0   rq   r   rs   r   s   &  r   test_readuntil_limit_found_sep*StreamTests.test_readuntil_limit_found_sep  s    %%499A>(##G$=$=$/1 146II(()9)9&)AB1 	8##G$=$=$.0 035II(()9)9&)AB0 	&..91 10 0s   +D5$+E5E	E	c                d   \         P                  ! V P                  R 7      pVP                  R4       V P                  P	                  VP                  R	4      4      pV P                  RV4       V P                  P	                  VP                  R	4      4      pV P                  RV4       V P                  RVP                  4       VP                  R4       V P                  P	                  VP                  R
4      4      pV P                  RV4       V P                  RVP                  4       R# )rn   s   line 1
line 2s   line 1
s   line 2r   s   ABCDEFGs   ABCDEs   FGN)      
)s   DEFs   BCDEr   r|   s   &  r   test_readuntil_multi_separator*StreamTests.test_readuntil_multi_separator  s    %%4995 	,-yy++F,<,<^,LMd+yy++F,<,<^,LMd+fnn- 	$yy++F,<,<=N,OP4(/r   c                   \         P                  ! V P                  ^R7      pVP                  R4       V P	                  \         P
                  R4      ;_uu_ 4       pV P                  P                  VP                  R4      4       RRR4       V P                  RVP                  4       R#   + '       g   i     L.; i)r   r   s
   some dataAr   N)r   s	   ome dataAr   r   s   &  r   $test_readuntil_multi_separator_limit0StreamTests.test_readuntil_multi_separator_limit  s    %%499A>'##G$=$=$.0 035II(()9)9:N)OP0 	7	0 0s   +B--B=	c                   \         P                  ! V P                  R 7      pVP                  R4       V P                  P	                  VP                  R4      4      pV P                  P                  VP                  R4       V P                  P                  VP                  R4       V P                  P                  V4      pV P                  RV4       V P                  RVP                  4       R# )rn      data   Zs   Aaaas   dataZAr   N)r   s   long sep)
r   ro   r   rp   r   r   r   r-   r0   rq   )r   rs   readuntil_taskr9   s   &   r   .test_readuntil_multi_separator_negative_offset:StreamTests.test_readuntil_multi_separator_negative_offset  s     %%4995!..v/?/?@S/TU		F,,d3		F,,g6yy++N;D)0r   c                ,   \         P                  ! V P                  R 7      pVP                  R4       V P                  P	                  VP                  \        R4      4      4      pV P                  RV4       V P                  RVP                  4       R# )rn   s   some data
s   
r   N)	r   ro   r   rp   r-   r   	bytearrayr0   rq   r|   s   &  r   test_readuntil_bytearray$StreamTests.test_readuntil_bytearray   sn    %%4995)*yy++F,<,<Yw=O,PQ)40fnn-r   c                V   \         P                  ! V P                  R 7      pVP                  V P                  4       V P                  P                  VP                  ^ 4      4      pV P                  RV4       V P                  V P                  VP                  4       V P                  \        R4      ;_uu_ 4        V P                  P                  VP                  R4      4       RRR4       V P                  V P                  VP                  4       R#   + '       g   i     L8; i)rn   r   zless than zeroNr   )r   ro   r   rp   rx   r-   readexactlyr0   rq   r   r   r|   s   &  r   test_readexactly_zero_or_less)StreamTests.test_readexactly_zero_or_less  s    %%4995#yy++F,>,>q,ABd#FNN3##J0@AAII((););B)?@ BFNN3 BAs   =+DD(	c                  a a \         P                  ! S P                  R 7      o^\        S P                  4      ,          pS P                  P                  SP                  V4      4      pV V3R lpS P                  P                  V4       S P                  P                  V4      pS P                  S P                  S P                  ,           V4       S P                  S P                  SP                  4       R# )rn   c                     < SP                  S P                  4       SP                  S P                  4       SP                  S P                  4       R # r   r   rr   s   r   r   (StreamTests.test_readexactly.<locals>.cb  s9    TYY'TYY'TYY'r   N)r   ro   r   lenrx   r   r  r   r-   r0   rq   )r   nr   r   r9   rs   s   f    @r   test_readexactlyStreamTests.test_readexactly  s    %%4995DIIII))&*<*<Q*?@		( 			Byy++I6TYY.5FNN3r   c                   \         P                  ! ^V P                  R7      pVP                  R4       V P                  P	                  VP                  ^4      4      pV P                  RV4       V P                  RVP                  4       R# r   )r   ro   r   rp   r-   r  r0   rq   r|   s   &  r   test_readexactly_limit"StreamTests.test_readexactly_limit%  si    %%ADII>"yy++F,>,>q,AB4(fnn-r   c                  a a \         P                  ! S P                  R 7      o^\        S P                  4      ,          pS P                  P                  SP                  V4      4      pV V3R lpS P                  P                  V4       S P                  \         P                  4      ;_uu_ 4       pS P                  P                  V4       RRR4       S P                  XP                  P                  S P                  4       S P                  VP                  P                  V4       S P                  \        VP                  4      R4       S P                  RSP                   4       R#   + '       g   i     L; i)rn   c                  ^   < SP                  S P                  4       SP                  4        R # r   )rp   rx   r   rr   s   r   r   ,StreamTests.test_readexactly_eof.<locals>.cb2  s    TYY'OOr   Nz-18 bytes read on a total of 36 expected bytesr   )r   ro   r   r  rx   r   r  r   rc   r   r-   r0   r   r   r   strrq   )r   r  r   r   r   rs   s   f    @r   test_readexactly_eof StreamTests.test_readexactly_eof,  s   %%4995DIIII))&*<*<Q*?@		 			Bw::;;rII((3 <--tyy9..2R\\*H	Jfnn- <;s   3E00F 	c                   \         P                  ! V P                  R 7      pVP                  R4       V P                  P	                  VP                  ^4      4      pV P                  RV4       VP                  \        4       4       V P                  \        V P                  P                  VP                  ^4      4       R# r   )
r   ro   r   rp   r-   r  r0   r   r   rc   r|   s   &  r   test_readexactly_exception&StreamTests.test_readexactly_exception?  s    %%4995#yy++F,>,>q,AB%Z\*		44f6H6H6K	Mr   c                    \         P                  ! V P                  R 7      pV P                  VP	                  4       4       \        4       pVP                  V4       V P                  VP	                  4       V4       R# rw   )r   ro   r   r   r   r   r   assertIsr   rs   excs   &  r   test_exceptionStreamTests.test_exceptionJ  sY    %%4995&**,-lS!f&&(#.r   c                  a \         P                  ! V P                  R 7      oV3R lpV P                  P                  SP	                  4       4      pV P                  P                  V! 4       4      pV P                  P                  \         P                  ! W#.4      4       V P                  \        VP                  4       R# )rn   c                  B   <"   S P                  \        4       4       R # 5ir   )r   r   r   s   r   set_err2StreamTests.test_exception_waiter.<locals>.set_errU  s       .s   N)
r   ro   r   r   r/   r-   waitrc   r   result)r   r0  t1t2rs   s   &   @r   test_exception_waiter!StreamTests.test_exception_waiterR  s    %%4995	/ YY""6??#45YY""79-		$$W\\2(%;<*bii0r   c                   \         P                  ! V P                  R 7      pV P                  P                  VP	                  4       4      p\
        P                  ! V P                  4       VP                  4        \
        P                  ! V P                  4       VP                  \        R4      4       \
        P                  ! V P                  4       V P                  VP                  R4       R# )rn   messageN)r   ro   r   r   r/   r   r   cancelr   RuntimeErrorr)  _waiter)r   rs   ts   &  r   test_exception_cancel!StreamTests.test_exception_cancel_  s    %%4995II!!&//"34tyy)	
tyy)\)45tyy)fnnd+r   c                  a  ! R  R4      pR p. oV P                   P                  V3R l4       V! V P                   4      pVP                  4       pV P                   P                  V P                   P	                  V! V4      4      4      pVP                  4        V P                  VR4       V! V P                   4      pVP                  4       pV P                   P                  V P                   P	                  V! V4      4      4      pVP                  4        V P                  VR4       V P                  S. 4       R# )c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
/StreamTests.test_start_server.<locals>.MyServerim  c                     R V n         Wn        R # r   serverr   r   r   s   &&r   __init__8StreamTests.test_start_server.<locals>.MyServer.__init__o      " 	r   c                   "   VP                  4       G R j  xL
 pVP                  V4       VP                  4       G R j  xL
  VP                  4        VP	                  4       G R j  xL
  R #  LW L0 L
5ir   r/   r.   drainr3   wait_closedr   client_readerclient_writerr9   s   &&& r   handle_client=StreamTests.test_start_server.<locals>.MyServer.handle_clients  _     *3355##D)#))+++##%#//111	 6+12   A4A.(A4A0 'A4'A2(A40A42A4c                    \         P                  ! R4      pV P                  P                  \        P
                  ! V P                  VR7      4      V n        VP                  4       # 	127.0.0.1)sockrW      	socketcreate_serverr   r-   r   start_serverrQ  rE  getsocknamer   rX  s   & r   start5StreamTests.test_start_server.<locals>.MyServer.startz  S    ++,<="ii::((););.245 ''))r   c                \    V P                   P                  V P                  VV4      4       R # r   r   r   rQ  r   rO  rP  s   &&&r   handle_client_callbackFStreamTests.test_start_server.<locals>.MyServer.handle_client_callback  (    		%%d&8&89F'H Ir   c                   \         P                  ! R4      pVP                  4       pVP                  4        V P                  P                  \        P                  ! V P                  V^ ,          V^,          R7      4      V n	        V# )rW  )hostportrY  )
r\  r]  r_  r3   r   r-   r   r^  rg  rE  )r   rX  addrs   &  r   start_callback>StreamTests.test_start_server.<locals>.MyServer.start_callback  sl    ++,<='')

"ii::(()D)D.21gDGEF r   c                    V P                   eW   V P                   P                  4        V P                  P                  V P                   P	                  4       4       R V n         R # R # r   rE  r3   r   r-   rM  r   s   &r   stop4StreamTests.test_start_server.<locals>.MyServer.stop  G    ;;*KK%%'II001H1H1JK"&DK +r   r   rE  N__name__
__module____qualname____firstlineno__rG  rQ  ra  rg  rn  rr  __static_attributes____classdictcell____classdict__s   @r   MyServerrB  m  s)     !2*I' 'r   r  c                    "   \         P                  ! V !  G R j  xL
 w  rVP                  R4       VP                  4       G R j  xL
 pVP	                  4        VP                  4       G R j  xL
  V#  LY L0 L
5iN   hello world!
)r   r>   r.   r/   r3   rM  )rm  r6   r7   msgbacks   &   r   client-StreamTests.test_start_server.<locals>.client  sd     #*#:#:D#AANFLL*+"OO--GLLN$$&&&N B .&s3   A:A4*A:A6'A:-A8.A:6A:8A:c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   /StreamTests.test_start_server.<locals>.<lambda>  r(   r   r  N)r   r,   ra  r-   r   rr  r0   rn  )r   r  r  rE  rm  msgr%   s   &     @r   test_start_serverStreamTests.test_start_serverk  s    %	' %	'N	 		''(NO $))$||~ii**499+@+@+NO/0 $))$$$&ii**499+@+@+NO/02&r   c           	     h  a  ! R  R4      pR p. oV P                   P                  V3R l4       \        P                  ! 4       ;_uu_ 4       pV! V P                   V4      pVP	                  4        V P                   P                  V P                   P                  V! V4      4      4      pVP                  4        V P                  VR4       RRR4       \        P                  ! 4       ;_uu_ 4       pV! V P                   V4      pVP                  4        V P                   P                  V P                   P                  V! V4      4      4      pVP                  4        V P                  VR4       RRR4       V P                  S. 4       R#   + '       g   i     L; i  + '       g   i     L7; i)c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
4StreamTests.test_start_unix_server.<locals>.MyServeri  c                ,    R V n         Wn        W n        R # r   )rE  r   path)r   r   r  s   &&&r   rG  =StreamTests.test_start_unix_server.<locals>.MyServer.__init__  s    " 	 	r   c                   "   VP                  4       G R j  xL
 pVP                  V4       VP                  4       G R j  xL
  VP                  4        VP	                  4       G R j  xL
  R #  LW L0 L
5ir   rK  rN  s   &&& r   rQ  BStreamTests.test_start_unix_server.<locals>.MyServer.handle_client  rS  rT  c                    V P                   P                  \        P                  ! V P                  V P
                  R 7      4      V n        R# )r  N)r   r-   r   start_unix_serverrQ  r  rE  r   s   &r   ra  :StreamTests.test_start_unix_server.<locals>.MyServer.start  s5    "ii::--d.@.@3799>?r   c                \    V P                   P                  V P                  VV4      4       R # r   re  rf  s   &&&r   rg  KStreamTests.test_start_unix_server.<locals>.MyServer.handle_client_callback  ri  r   c                    \         P                  ! V P                  V P                  R 7      pV P                  P                  V4      V n        R# r  )r   r  rg  r  r   r-   rE  )r   ra  s   & r   rn  CStreamTests.test_start_unix_server.<locals>.MyServer.start_callback  s8    11$2M2M7;yyB"ii::5Ar   c                    V P                   eW   V P                   P                  4        V P                  P                  V P                   P	                  4       4       R V n         R # R # r   rq  r   s   &r   rr  9StreamTests.test_start_unix_server.<locals>.MyServer.stop  rt  r   )r   r  rE  Nrv  r}  s   @r   r  r    s*     !
2?
IB
' 'r   r  c                    "   \         P                  ! V 4      G R j  xL
 w  rVP                  R4       VP                  4       G R j  xL
 pVP	                  4        VP                  4       G R j  xL
  V#  LY L0 L
5ir  )r   rH   r.   r/   r3   rM  )r  r6   r7   r  s   &   r   r  2StreamTests.test_start_unix_server.<locals>.client  sd     #*#?#?#EENFLL*+"OO--GLLN$$&&&N F .&s3   A<A6*A<A8'A</A:0A<8A<:A<c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   4StreamTests.test_start_unix_server.<locals>.<lambda>  r(   r   r  N)
r   r,   r   unix_socket_pathra  r-   r   rr  r0   rn  )r   r  r  r  rE  r  r%   s   &     @r   test_start_unix_server"StreamTests.test_start_unix_server  s>    	'  	'D	 		''(NO ((**ddii.FLLN))..		%%fTl35CKKMS"34 + ((**ddii.F!!#))..		%%fTl35CKKMS"34 + 	2&# +* +*s   B F2B F!F	!F1	c                z  a  ! R  R4      pR p. oV P                   P                  V3R l4       V! V P                   4      pVP                  4       pV P                   P                  V! V4      4      w  rVVP	                  4        V P                  S. 4       V P                  VR4       V P                  VR4       R# )c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# ),StreamTests.test_start_tls.<locals>.MyServeri  c                     R V n         Wn        R # r   rD  rF  s   &&r   rG  5StreamTests.test_start_tls.<locals>.MyServer.__init__  rI  r   c                  "   VP                  4       G R j  xL
 pVP                  V4       VP                  4       G R j  xL
  VP                  \        P
                  ! 4       4      G R j  xL
  VP                  4       G R j  xL
 pVP                  V4       VP                  4       G R j  xL
  VP                  4        VP                  4       G R j  xL
  R #  L L Ls L] L6 L5ir   )r/   r.   rL  	start_tlsr   simple_server_sslcontextr3   rM  )r   rO  rP  data1data2s   &&&  r   rQ  :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+1sh   C'C(C'C +C'+C,C'C!(C',C#-'C'C%C'C'C'!C'#C'%C'c                    \         P                  ! R4      pV P                  P                  \        P
                  ! V P                  VR7      4      V n        VP                  4       # rV  r[  r`  s   & r   ra  2StreamTests.test_start_tls.<locals>.MyServer.start  rc  r   c                    V P                   eW   V P                   P                  4        V P                  P                  V P                   P	                  4       4       R V n         R # R # r   rq  r   s   &r   rr  1StreamTests.test_start_tls.<locals>.MyServer.stop  rt  r   ru  N)
rw  rx  ry  rz  rG  rQ  ra  rr  r{  r|  r}  s   @r   r  r    s     !2*' 'r   r  c                   "   \         P                  ! V !  G R j  xL
 w  rVP                  R4       VP                  4       G R j  xL
  VP	                  4       G R j  xL
 pVP                  \        P                  ! 4       4      G R j  xL
  VP                  R4       VP                  4       G R j  xL
  VP	                  4       G R j  xL
 pVP                  4        VP                  4       G R j  xL
  W43#  L L L Lv LO L9 L5i)N   hello world 1!
   hello world 2!
)
r   r>   r.   rL  r/   r  r   simple_client_sslcontextr3   rM  )rm  r6   r7   msgback1msgback2s   &    r   r  *StreamTests.test_start_tls.<locals>.client  s     #*#:#:D#AANFLL,-,,.  #__..H"":#F#F#HIIILL,-,,.  #__..HLLN$$&&&%% B .I !.&s{   DC:*DC<DC>+D	D 
(D2D3D
D'D2D3D<D>D DDDDc                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   ,StreamTests.test_start_tls.<locals>.<lambda>+  r(   r   r  r  N)r   r,   ra  r-   rr  r0   )r   r  r  rE  rm  msg1msg2r%   s   &      @r   test_start_tlsStreamTests.test_start_tls  s    	' 	'B	& 		''(NO$))$||~YY11&,?
2&2323r   c                    V P                  \        R 4      ;_uu_ 4        \        P                  ! 4        RRR4       R#   + '       g   i     R# ; izno current event loopN)r   r;  r   ro   r   s   &r   *test_streamreader_constructor_without_loop6StreamTests.test_streamreader_constructor_without_loop6  s2    ##L2IJJ  " KJJJs	   ?A	c                    R  pV P                   P                  V! 4       4      pV P                  VP                  V P                   4       R# )c                  4   "   \         P                  ! 4       # 5ir   )r   ro   r
   r   r   testHStreamTests.test_streamreader_constructor_use_running_loop.<locals>.test=  s     ''))s   N)r   r-   r)  _loop)r   r  r6   s   &  r   .test_streamreader_constructor_use_running_loop:StreamTests.test_streamreader_constructor_use_running_loop:  s5    	* --df5fllDII.r   c                    V P                  \        P                  R 4       \        P                  ! V P                  4       \        P                  ! 4       pV P                  VP                  V P                  4       R # r   )
addCleanupr   r   r   ro   r)  r  r   r6   s   & r   -test_streamreader_constructor_use_global_loop9StreamTests.test_streamreader_constructor_use_global_loopC  sN     	..5tyy)%%'fllDII.r   c                    \         P                  ! 4       pV P                  \        R 4      ;_uu_ 4        \        P
                  ! V4       RRR4       R#   + '       g   i     R# ; ir  )r   Mockr   r;  r   StreamReaderProtocolr  s   & r   2test_streamreaderprotocol_constructor_without_loop>StreamTests.test_streamreaderprotocol_constructor_without_loopM  s?    ##L2IJJ((0 KJJJs   AA&	c                   a \         P                  ! 4       oV3R  lpV P                  P                  V! 4       4      pV P	                  VP
                  V P                  4       R# )c                  8   <"   \         P                  ! S 4      # 5ir   )r   r  )r6   s   r   r  PStreamTests.test_streamreaderprotocol_constructor_use_running_loop.<locals>.testV  s     //77s   N)r   r  r   r-   r)  r  )r   r  protocolr6   s   &  @r   6test_streamreaderprotocol_constructor_use_running_loopBStreamTests.test_streamreaderprotocol_constructor_use_running_loopR  sA     	899//7hnndii0r   c                (   V P                  \        P                  R 4       \        P                  ! V P                  4       \        P
                  ! 4       p\        P                  ! V4      pV P                  VP                  V P                  4       R # r   )	r  r   r   r   r   r  r  r)  r  )r   r6   r  s   &  r   5test_streamreaderprotocol_constructor_use_global_loopAStreamTests.test_streamreaderprotocol_constructor_use_global_loop[  s[     	..5tyy)//7hnndii0r   c                l   a aa ^ oV3R loVVV 3R lpS P                   P                  V! 4       4       R# )rZ  c                 V   <"   V P                  4       G R j  xL
  S^,          oR #  L5ir   )_drain_helper)rs   draineds   &r   drainer0StreamTests.test_multiple_drain.<locals>.draineri  s&     &&(((qLG )s   )')c                  x  <"   \         P                  ! 4       p \         P                  P                  V 4      pVP	                  4        V P                  R VP                  4       \         P                  ! \        ^
4       Uu. uF  pS! V4      NK  	  up!  G Rj  xL
  SP                  S^
4       R# u upi  L5i)g?N)
r   get_running_loopstreamsFlowControlMixinpause_writing
call_laterresume_writinggatherranger0   )r   rs   _r  r  r   s      r   main-StreamTests.test_multiple_drain.<locals>.mainn  s     ++-D__55d;F  "OOC!6!67..E"I"FIq76?I"FGGGWb) #GGs   A>B:B3B:B8B:N)r   r-   )r   r  r  r  s   f @@r   test_multiple_drainStreamTests.test_multiple_draine  s(    	
	* 			$$TV,r   c                  aa . oV P                   P                  V3R  l4       \        P                  ! 4       oV3R lpR p\        P
                  ! VR7      pRVn        VP                  4        SP                  4       pV P                  \        \        \        34      ;_uu_ 4        V P                   P                  V! V!  4       RRR4       VP                  4        V P                  . S4       R#   + '       g   i     L4; i)c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   /StreamTests.test_drain_raises.<locals>.<lambda>  r(   r   c                    < \         P                  ! R4      ;_uu_ 4       p V P                  4       pSP                  V4       V P	                  4       w  r#VP                  4        RRR4       R#   + '       g   i     R# ; i)	localhostN)r  rZ  )r\  r]  r_  putacceptr3   )rX  rm  cltr  qs       r   rE  -StreamTests.test_drain_raises.<locals>.server  sU    %%&6774'')d			 8777s   AA..A?	c                    "   \         P                  ! W4      G R j  xL
 w  r# VP                  R4       VP                  4       G R j  xL
  K,   L2 L5i)Ns   foo
)r   r>   r.   rL  )rk  rl  r6   r7   s   &&  r   r  -StreamTests.test_drain_raises.<locals>.client  sC     #*#:#:4#FFNFX&lln$$	 G %s!   AA+AA	AA)targetTN)r   r,   queueQueue	threadingThreaddaemonra  getrc   ConnectionResetErrorConnectionAbortedErrorBrokenPipeErrorr-   joinr0   )r   rE  r  threadrm  r%   r  s   &    @@r   test_drain_raisesStreamTests.test_drain_raisesx  s     		''(NOKKM		% !!0uuw  46L / 1 2 2II((72 	X&2 2s   ( C44D	c                ~    \         P                  ! V P                  R 7      pV P                  R\	        V4      4       R# )rn   <StreamReader>Nr   ro   r   r0   reprrr   s   & r   test___repr__StreamTests.test___repr__  s+    %%4995)4<8r   c                    \         P                  ! V P                  ^{R7      pV P                  R\	        V4      4       R# ){   r   z<StreamReader limit=123>Nr  rr   s   & r   test___repr__nondefault_limit)StreamTests.test___repr__nondefault_limit  s-    %%499C@3T&\Br   c                    \         P                  ! V P                  R 7      pVP                  4        V P	                  R\        V4      4       R# )rn   z<StreamReader eof>N)r   ro   r   r   r0   r  rr   s   & r   test___repr__eofStreamTests.test___repr__eof  s5    %%4995-tF|<r   c                    \         P                  ! V P                  R 7      pVP                  R4       V P	                  R\        V4      4       R# )rn   r  z<StreamReader 4 bytes>N)r   ro   r   rp   r0   r  rr   s   & r   test___repr__dataStreamTests.test___repr__data  s9    %%4995!14<@r   c                    \         P                  ! V P                  R 7      p\        4       pVP	                  V4       V P                  R\        V4      4       R# )rn   z'<StreamReader exception=RuntimeError()>N)r   ro   r   r;  r   r0   r  r*  s   &  r   test___repr__exception"StreamTests.test___repr__exception  sC    %%4995nS!Bf	'r   c                   \         P                  ! V P                  R 7      p\         P                  ! V P                  R 7      Vn        V P                  \        V4      R4       VP                  P                  R4       V P                  P                  VP                  4       RVn        V P                  R\        V4      4       R# )rn   z,<StreamReader waiter=<Future pending[\S ]*>>Nr  )
r   ro   r   Futurer<  assertRegexr  
set_resultr-   r0   rr   s   & r   test___repr__waiterStreamTests.test___repr__waiter  s    %%4995 TYY7L;	= 	!!$'		$$V^^4)4<8r   c                0   \         P                  ! V P                  R 7      p\        P                  ! 4       Vn        \        P                  ! 4       VP
                  n        RVP
                  P                  n        V P                  R\        V4      4       R# )rn   z<Transport>z$<StreamReader transport=<Transport>>N)
r   ro   r   r   r  
_transport__repr__return_valuer0   r  rr   s   & r   test___repr__transport"StreamTests.test___repr__transport  sa    %%4995 IIK%)YY["2?""/?fNr   c           
     &   \         P                  ! R ^
4      p\        \        P                  ^,           4       F  pV P                  VR7      ;_uu_ 4        \        P                  ! \        P                  ! WR7      4      pV P                  \        V4      \        V4      4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       RRR4       K  	  R#   + '       g   i     K  ; i)s   abcpickle_protocolr  N)r   r   r  pickleHIGHEST_PROTOCOLsubTestloadsdumpsr0   r"  r   r   r   eprotoe2s   &   r   #test_IncompleteReadError_pickleable/StreamTests.test_IncompleteReadError_pickleable  s    ''3622Q67Ee44\\&,,q"AB  QR1  BJJ7  R[[9	 54 8444s   BC??Dc           
        \         P                  ! R ^
4      p\        \        P                  ^,           4       F  pV P                  VR7      ;_uu_ 4        \        P                  ! \        P                  ! WR7      4      pV P                  \        V4      \        V4      4       V P                  VP                  VP                  4       RRR4       K  	  R#   + '       g   i     K  ; i)r9  r,  r.  N)r   r   r  r/  r0  r1  r2  r3  r0   r"  consumedr4  s   &   r   !test_LimitOverrunError_pickleable-StreamTests.test_LimitOverrunError_pickleable  s    %%i4622Q67Ee44\\&,,q"AB  QR1  R[[9 54 8444s   A6CC*c                   \         P                  ! 4       ;_uu_ 4       pV P                  P                  \        P
                  ! VP                  !  4      w  r#VP                  R 4       VP                  4       pV P                  P                  V4      pV P                  VR4       VP                  4       pV P                  P                  V4      pV P                  VR4       V P                  VP                  4       4       VP                  4        V P                  VP                  4       4       V P                  P                  VP!                  4       4       RRR4       R#   + '       g   i     R# ; i)r)   r*   r+   N)r   r=   r   r-   r   r>   r?   r.   r/   r0   r1   r2   r   
is_closingr3   r   rM  r   rA   rdwrr8   r9   s   &     r   test_wait_closed_on_close%StreamTests.test_wait_closed_on_close  s   ''))UYY11''79FB HH./A99//2DT#9:	A99//2D&=>R]]_-HHJOOBMMO,II(()9: *)))s   D<E$$E5	c                   \         P                  ! 4       ;_uu_ 4       pV P                  P                  \        P
                  ! VP                  !  4      w  r#VP                  R 4       VP                  4       pV P                  P                  V4      pV P                  VR4       VP                  4        V P                  P                  VP                  4       4       RRR4       R#   + '       g   i     R# ; i)r)   r*   N)r   r=   r   r-   r   r>   r?   r.   r/   r0   r3   rM  r@  s   &     r   *test_wait_closed_on_close_with_unread_data6StreamTests.test_wait_closed_on_close_with_unread_data  s    ''))UYY11''79FB HH./A99//2DT#9:HHJII(()9: *)))s   CC))C:	c                0  a a V 3R  lp. oS P                   P                  V3R l4       \        P                  ! 4       ;_uu_ 4       pS P                   P	                  V! V4      4       RRR4       S P                  S. 4       R#   + '       g   i     L$; i)c                   <"   \         P                  ! V P                  !  G R j  xL
 w  rVP                  R4       VP	                  4       G R j  xL
 pSP                  VR4       VP                  4       G R j  xL
 pSP                  VR4       VP                  4        VP                  4       G R j  xL
  R #  L Ll LD L5i)Nr)   r*   r+   )
r   r>   r?   r.   r/   r0   r1   r2   r3   rM  rA   rA  rB  r9   r   s   &   r   inner0StreamTests.test_async_writer_api.<locals>.inner  s     "22EMMBBFBHH./&DT#9:?D&=>HHJ..""" C '" #sE   "CB;*CB=)C:B?;9C4C5C=C?CCc                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   3StreamTests.test_async_writer_api.<locals>.<lambda>	  r(   r   Nr   r,   r   r=   r-   r0   r   rK  rA   r%   s   f  @r   test_async_writer_api!StreamTests.test_async_writer_api  si    		# 		''(NO''))UII((u6 * 	2& *)   "BB	c                0  a a V 3R  lp. oS P                   P                  V3R l4       \        P                  ! 4       ;_uu_ 4       pS P                   P	                  V! V4      4       RRR4       S P                  S. 4       R#   + '       g   i     L$; i)c                    <"   \         P                  ! V P                  !  G R j  xL
 w  rVP                  R4       VP	                  4       G R j  xL
 pSP                  VR4       VP                  4       G R j  xL
 pSP                  VR4       VP                  4        SP                  \        4      ;_uu_ 4        VP                  R4       VP                  4       G R j  xL
  R R R 4       R #  L L L{ L  + '       g   i     R # ; i5i)Nr)   r*   r+   r  )r   r>   r?   r.   r/   r0   r1   r2   r3   rc   r  rL  rJ  s   &   r   rK  FStreamTests.test_async_writer_api_exception_after_close.<locals>.inner  s     "22EMMBBFBHH./&DT#9:?D&=>HHJ""#788!hhj   98 C '"
 ! 988s^   "DC2*DC4)D:C6;AD>%C:#C8$C:(D4D6D8C::D		Dc                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   IStreamTests.test_async_writer_api_exception_after_close.<locals>.<lambda>  r(   r   NrO  rP  s   f  @r   +test_async_writer_api_exception_after_close7StreamTests.test_async_writer_api_exception_after_close  si    	! 		''(NO''))UII((u6 * 	2& *)rS  c                  a . oV P                   P                  V3R  l4       \        P                  ! 4       ;_uu_ 4       pV P                   P	                  \
        P                  ! VP                  !  4      w  r#VP                  4        VP                  4       pV P                   P	                  V4       V P                  VP                  4       4       VP                  4       pV P                   P	                  V4      pV P                  VR4       RRR4       V P                  S. 4       R#   + '       g   i     L$; i)c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   ?StreamTests.test_eof_feed_when_closing_writer.<locals>.<lambda>)  r(   r   r   N)r   r,   r   r=   r-   r   r>   r?   r3   rM  r   r   r1   r0   )r   rA   rA  rB  r8   r9   r%   s   &     @r   !test_eof_feed_when_closing_writer-StreamTests.test_eof_feed_when_closing_writer&  s    		''(NO''))UYY11++U]];=FB HHJ AII((+OOBIIK(	A99//2DT3' * 	2& *)s    CD--D=	c                0  a a V 3R  lp. oS P                   P                  V3R l4       \        P                  ! 4       ;_uu_ 4       pS P                   P	                  V! V4      4       RRR4       S P                  S. 4       R#   + '       g   i     L$; i)c                   <"   \         P                  ! V P                  !  G R j  xL
 w  rVP                  R4       VP	                  4       G R j  xL
 pSP                  VR4       VP                  4       G R j  xL
 pSP                  VR4       SP                  \        4      ;_uu_ 4       p?\        P                  ! 4        SP                  \        VP                  4      ^4       SP                  \        VP                  ^ ,          P                   4      R4       R R R 4       R #  EL L L  + '       g   i     R # ; i5i)Nr)   r*   r+   unclosed <StreamWriter)r   r>   r?   r.   r/   r0   r1   r2   assertWarnsResourceWarninggccollectr  warningsassertStartsWithr"  r9  rA   rA  rB  r9   r   r   s   &    r   rK  :StreamTests.test_unclosed_resource_warnings.<locals>.inner:  s     "22EMMBBFBHH./&DT#9:?D&=>!!/22b

  R[[!115%%c"++a.*@*@&AC[\	 32 C '"222sL   "ED**ED-)E:D/;3E.A2D1 E-E/E1E	<	Ec                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   =StreamTests.test_unclosed_resource_warnings.<locals>.<lambda>I  r(   r   NrO  rP  s   f  @r   test_unclosed_resource_warnings+StreamTests.test_unclosed_resource_warnings9  sj    	] 		''(NO''))UII((u6 * 	2& *)rS  c           	       a a V 3R  lp. oS P                   P                  V3R l4       \        P                  ! 4       ;_uu_ 4       pS P	                  \
        4      ;_uu_ 4        S P                   P                  V! V4      4       RRR4       \        P                  ! 4        RRR4       S P                  S. 4       R#   + '       g   i     LA; i  + '       g   i     L7; i)c           	      j  <"   \         P                  ! V P                  !  G R j  xL
 w  rVP                  R4       VP	                  4       G R j  xL
 pSP                  VR4       VP                  4       G R j  xL
 pSP                  VR4       SP                  P                  4        VP                  4        SP                  P                  4       '       g!   \         P                  ! R4      G R j  xL
  K@  SP                  \        4      ;_uu_ 4       p?\        P                   ! 4        SP                  \#        VP$                  4      ^4       SP                  R\'        VP$                  ^ ,          P(                  4      4       R R R 4       R #  ELo ELG EL  L  + '       g   i     R # ; i5i)Nr)   r*   r+   g        zloop is closed)r   r>   r?   r.   r/   r0   r1   r2   r   rr  r3   	is_closedsleeprc  rd  re  rf  r  rg  r"  r9  ri  s   &    r   rK  @StreamTests.test_loop_is_closed_resource_warnings.<locals>.innerQ  s'    "22EMMBBFBHH./&DT#9:?D&=> IINNHHJii))++mmC(((!!/22b

  R[[!115  !13r{{1~7M7M3NO	 32 C '" )222se   "F3F*F3F)F3:F;AF3F34F5#F3A2F
F3F3F3F3F0	*	F3c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   CStreamTests.test_loop_is_closed_resource_warnings.<locals>.<lambda>g  r(   r   N)
r   r,   r   r=   rc   r;  r-   re  rf  r0   rP  s   f  @r   %test_loop_is_closed_resource_warnings1StreamTests.test_loop_is_closed_resource_warningsP  s    	P* 		''(NO''))U""<00		,,U5\: 1 JJL	 * 	2& 10 *)s$   C%"C 	C CCC#	c                  a aaa VV 3R  loVV3R lp. oS P                   P                  V3R l4       S P                   P                  4       oS P                   P                  V! 4       4       S P	                  S. 4       R# )c                   <"   SP                  R 4       SP                  \        4      ;_uu_ 4       p?\        P                  ! 4        SP                  \        VP                  4      ^4       SP                  \        VP                  ^ ,          P                  4      R4       RRR4       R#   + '       g   i     R# ; i5i)Trb  N)r"  rc  rd  re  rf  r0   r  rg  rh  r"  r9  )rA  rB  r   futr   s   && r   rK  AStreamTests.test_unclosed_server_resource_warnings.<locals>.innerr  s|     NN4 !!/22b

  R[[!115%%c"++a.*@*@&AC[\	 3222s   /CA2B.$
C.B?	9	Cc            	        <"   \         P                  ! S\        P                  ^ 4      G Rj  xL
 p T ;_uu_4       GRj  xL
  V P                  ^ ,          P                  4       p\        P                  ! V4      ;_uu_ 4        SG Rj  xL
  RRR4       RRR4      GRj  xL
  R#  L{ Lj L"  + '       g   i     L(; i L  + GRj  xL 
 '       g   i     R# ; i5i)rZ  N)r   r^  r   HOSTv4socketsr_  r\  create_connection)srvrm  rz  rK  s     r   outerAStreamTests.test_unclosed_server_resource_warnings.<locals>.outerz  s     ,,UM4H4H!LLCss{{1~113--d33II 4 ss M  43 ssss   *C!B)C! B+C!A CB/	
B-B/	CC!"C#C!+C!-B/	/B?:CC!C	
C
C	C		C!c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   DStreamTests.test_unclosed_server_resource_warnings.<locals>.<lambda>  r(   r   N)r   r,   create_futurer-   r0   )r   r  rz  rK  r%   s   f @@@r   &test_unclosed_server_resource_warnings2StreamTests.test_unclosed_server_resource_warningsq  s^    	]	 		''(NOii%%'		$$UW-2&r   c                   aaaa \         P                  ! 4       o. oV P                  P                  V3R  l4       V3R loVVV3R lpV P                  P	                  V! 4       4       S# )c                 &   < SP                  V4      # r   r!   r#   s   &&r   r&   <StreamTests._basetest_unhandled_exceptions.<locals>.<lambda>  r(   r   c                     <"   \         P                  ! R S4      G Rj  xL
 w  rVP                  R4       VP                  4       G Rj  xL
  VP	                  4        VP                  4       G Rj  xL
  R#  LY L0 L
5i)r  Ns   test msg)r   r>   r.   rL  r3   rM  )rA  rB  rl  s     r   r  :StreamTests._basetest_unhandled_exceptions.<locals>.client  s]     "22;EEFBHH[!((*HHJ.."""	 F"s3   A>A8*A>	A:
'A>1A<2A>:A><A>c                     <"   \         P                  ! SR S4      G Rj  xL
 p V P                  4       G Rj  xL
  S! 4       G Rj  xL
  V P                  4        V P	                  4       G Rj  xL
  R#  LU L? L2 L5i)r  N)r   r^  start_servingr3   rM  )rE  r  handle_echorl  s    r   r  8StreamTests._basetest_unhandled_exceptions.<locals>.main  sf     "//[$0 0F&&((((NNLLN$$&&&0(&sC   A=A5A=A7A=A9'A=.A;/A=7A=9A=;A=)r   find_unused_portr   r,   r-   )r   r  r  r  r%   rl  s   &f @@@r   _basetest_unhandled_exceptions*StreamTests._basetest_unhandled_exceptions  sN    --/		''(NO	#	' 			$$TV,r   c                n    R  pV P                  V4      pV P                  V^ ,          R,          R4       R# )c                     "   \        R 4      h5i)r  )	Exceptionr6   r7   s   &&r   r  9StreamTests.test_unhandled_exception.<locals>.handle_echo  s     F##s   r9  z*Unhandled exception in client_connected_cbNr  r0   r   r  r%   s   &  r   test_unhandled_exception$StreamTests.test_unhandled_exception  s4    	$66{C!Y/@	Br   c                R    R  pV P                  V4      pV P                  V. 4       R# )c                 t   "   VP                  4        \        P                  ! 4       P                  4        R # 5ir   )r3   r   current_taskr:  r  s   &&r   r  6StreamTests.test_unhandled_cancel.<locals>.handle_echo  s#     LLN  "))+s   68Nr  r  s   &  r   test_unhandled_cancel!StreamTests.test_unhandled_cancel  s)    	, 66{C2&r   c                   a aa \         P                  ! 4       oVVV 3R  lpV! 4       o\        P                  ! S4       R# )c                  F  <"   R p  \         P                  ! RSRR7      G R j  xL
  SP	                  T 4       SP                  \        P                  ! T 4      S.4       R #  L>  . ;\         ;e!   pTP                  ^ ,          p R p?NM	R p?N NM N6;f     Lsu i ; i5i)Nr  g      ?)rk  rl  happy_eyeballs_delay)r   r>   OSError
exceptionsassertIsNotNoneassertListEqualre  get_referrers)r+  excs	main_cororl  r   s     r   r  FStreamTests.test_open_connection_happy_eyeball_refcycles.<locals>.main  s     C)--$)-     %  !1!1#!6D
)G )ooa()s=   B!A$ A"A$ :B!"A$ $B2B
	BBB!N)r   r  r   run)r   r  r  rl  s   f @@r   ,test_open_connection_happy_eyeball_refcycles8StreamTests.test_open_connection_happy_eyeball_refcycles  s,    --/	E F	Ir   rn   )\rw  rx  ry  rz  rx   r   r   r:   rC   r   skip_unless_bind_unix_socketrI   rO   unittestskipIfrT   rV   r[   rd   rg   rj   rt   ry   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  r  r  r#  r&  r,  r6  r>  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r#  r)  r8  r<  rC  rF  rQ  rY  r^  rm  rv  r  r  r  r  r  r{  r|  __classcell__)r   r~  s   @@r   r   r      sV    #D'
'5
 //5 05
' __SD[/2A 3A //__SD[/2A 3 0A
';
 //; 0;
.44.	3.. 	F;.5".6)-.^
<-$	4
.I1$!.F.: 0"81.44"..&	M/1
,D'L //C' 0C'J __SD[/2<4 3<4|#//1
11-&)'V9C=
A
'	9O::;"
;'(','&'.'B'20B' r   r   __main__)__doc__re  r  r/  r\  r  r  r   rT   ImportErrorr   test.test_asyncior   r   test.supportr   r   TestCaser   rw  r  r
   r   r   <module>r     sy     	        1 &0h*%% hV% zMMO o%  
Cs   A* *	A65A6