+
    Bi                    h
   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RIHtHt ^ RIHt ^ RIHtHtHt ^ RIHtHtHtHtH t  ^ RI!H"t" ^ RI#t#^ RI$t$^ RI%t& ^ RI't'R t( ! R	 R
]'PR                  4      t*R t,]PZ                  ! ].! ]R4      R4      t/ ! R R4      t0 ! R R4      t1 ! R R]1]$Pd                  4      t3 ! R R]1]&Pd                  4      t4 ! R R]14      t5 ! R R]5]$Pd                  4      t6 ! R R]5]&Pd                  4      t7 ! R R]54      t8 ! R R ]8]$Pd                  4      t9 ! R! R"]8]&Pd                  4      t: ! R# R$]54      t; ! R% R&];]$Pd                  4      t< ! R' R(];]&Pd                  4      t= ! R) R*]54      t> ! R+ R,]>]$Pd                  4      t? ! R- R.]>]&Pd                  4      t@ ! R/ R04      tA ! R1 R2]A]$P                  4      tC ! R3 R4]A]&P                  4      tD ! R5 R64      tE ! R7 R8]E]$P                  4      tF ! R9 R:]E]&P                  4      tG ! R; R<]A4      tH ! R= R>]H]$P                  4      tI ! R? R@]H]&P                  4      tJ ! RA RB4      tK ! RC RD]K]$Pd                  4      tL ! RE RF]K]&Pd                  4      tM ! RG RH]P                  4      tO ! RI RJ]O4      tP]P                   ! RK RL]P                  4      4       tR ! RM RN]O4      tS]P                   ! RO RP]P                  4      4       tT ! RQ RR4      tU ! RS RT4      tV ! RU RV]P                  ]U4      tW ! RW RX]W]V4      tX ! RY RZ]W4      tY ! R[ R\]P                  ]U4      tZ ! R] R^]Z]V4      t[ ! R_ R`]Z4      t\ ! Ra Rb]P                  4      t] ! Rc Rd]]4      t^ ! Re Rf]]4      t_ ! Rg Rh]W]Z4      t` ! Ri Rj]`]V4      ta ! Rk Rl]`4      tb ! Rm Rn]#P                  4      tdRo te ! Rp Rq]P                  4      tf ! Rr Rs]P                  4      tg ! Rt Ru]$P                  4      thRv ti ! Rw Rx]g4      tj ! Ry Rz]g4      tk ! R{ R|]P                  4      tl ! R} R~]l4      tm ! R R]l4      tn ! R R]P                  4      to ! R R]o4      tp ! R R]o4      tq]P                  ! ]P                  R8H  R4       ! R R]P                  4      4       tt ! R R]t4      tu ! R R]t4      tv ! R R]P                  4      twR tx]yR8X  d   ]P                  ! 4        R# R#   ]+ d    R t( ELi ; i)    N)dequeUserList)cyclecount)support)assert_python_okassert_python_failurerun_python_until_end)import_helperis_apple	os_helperthreading_helperwarnings_helper)FakePathc                      \        V / VB p\        4       p\        P                  ! V\	        V4      4       V\        V4      P                  R 4      R&   V# )BNNN)bytesEmptyStructctypesresizelen
memoryviewcast)poskwdataobjs   *,  #/usr/lib/python3.14/test/test_io.py	bytesliker    9   sH    c R mc3t9%'+
3S!!$
    c                       ] tR t^@tRtR# )r    N__name__
__module____qualname____firstlineno____static_attributes__r#   r!   r   r   r   @   s    r!   r   c                  B    \         P                   ! R \        V / VB 4      # b)arrayr   )r   r   s   *,r   r    r    6   s    {{3s 1b 122r!   c                      \        \        R RR7      ;_uu_ 4       p V P                  uuRRR4       #   + '       g   i     R# ; i)rlatin-1encodingN)open__file___CHUNK_SIZE)fs    r   _default_chunk_sizer7   D   s)    	hi	0	0A}} 
1	0	0	0s	   2A	alarmztest requires signal.alarm()c                   &   a  ] tR t^Nt o R tRtV tR# )BadIndexc                    ^^ ,           R#    Nr#   selfs   &r   	__index__BadIndex.__index__O       	!r!   r#   N)r%   r&   r'   r(   r@   r)   __classdictcell____classdict__s   @r   r:   r:   N   s      r!   r:   c                   d   a  ] tR t^Rt o RR ltR tR tR tR tR t	R t
R tR	 tRR ltRtV tR
# )MockRawIOWithoutReadc                P    \        V4      V n        . V n        ^ V n        ^ V n        R# )r   N)list_read_stack_write_stack_reads_extraneous_reads)r?   
read_stacks   &&r   __init__MockRawIOWithoutRead.__init__V   s&    
+!"r!   c                `    V P                   P                  \        V4      4       \        V4      # N)rK   appendr   r   r?   r,   s   &&r   writeMockRawIOWithoutRead.write\   s#      q*1vr!   c                    R # Tr#   r>   s   &r   writableMockRawIOWithoutRead.writable`       r!   c                    ^*# )*   r#   r>   s   &r   filenoMockRawIOWithoutRead.filenoc   s    r!   c                    R # rX   r#   r>   s   &r   readableMockRawIOWithoutRead.readablef   r[   r!   c                    R # rX   r#   r>   s   &r   seekableMockRawIOWithoutRead.seekablei   r[   r!   c                    ^ # r   r#   r?   r   whences   &&&r   seekMockRawIOWithoutRead.seekl       r!   c                    ^ # rg   r#   r>   s   &r   tellMockRawIOWithoutRead.tello   rl   r!   c                   V ;P                   ^,          un         \        V4      p V P                  ^ ,          pTf   T P                  ^  R# \        T4      p\        T4      T8:  d   T P                  ^  Y1RT% T# TRT TR&   Y2R T P                  ^ &   T#   \         d    T ;P                  ^,          un         ^ # i ; i)r=   Nr   )rL   r   rJ   
IndexErrorrM   )r?   bufmax_lenr   ns   &&   r   readintoMockRawIOWithoutRead.readintor   s    qc(	##A&D <  #It9  #GH(7^CF"&x.DQN  	""a'"	s   B $B=<B=Nc                    V# rR   r#   )r?   r   s   &&r   truncateMockRawIOWithoutRead.truncate   s    
r!   )rM   rJ   rL   rK   )r#   rR   )r%   r&   r'   r(   rO   rU   rY   r^   ra   rd   rj   rn   ru   rx   r)   rC   rD   s   @r   rG   rG   R   s<     #* r!   rG   c                       ] tR t^tRtR# )CMockRawIOWithoutReadr#   Nr$   r#   r!   r   r{   r{          r!   r{   c                       ] tR t^tRtR# )PyMockRawIOWithoutReadr#   Nr$   r#   r!   r   r~   r~      r|   r!   r~   c                   *   a  ] tR t^t o RR ltRtV tR# )	MockRawIONc                    V ;P                   ^,          un          V P                  P                  ^ 4      #    T ;P                  ^,          un         R# ; i)r=   r!   )rL   rJ   poprM   r?   rt   s   &&r   readMockRawIO.read   sG    q	##''**	""a'"s	   6 Ar#   rR   r%   r&   r'   r(   r   r)   rC   rD   s   @r   r   r      s      r!   r   c                       ] tR t^tRtR# )
CMockRawIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                       ] tR t^tRtR# )PyMockRawIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                   Z   a a ] tR t^t oV 3R ltRV 3R lltR tR tV 3R ltRt	Vt
V ;t# )MisbehavedRawIOc                0   < \         SV `  V4      ^,          #    )superrU   )r?   r,   	__class__s   &&r   rU   MisbehavedRawIO.write   s    w}Q!##r!   c                0   < \         SV `  V4      ^,          # r   )r   r   )r?   rt   r   s   &&r   r   MisbehavedRawIO.read   s    w|A""r!   c                    R# ){   ir#   rh   s   &&&r   rj   MisbehavedRawIO.seek       r!   c                    R# )i  i8r#   r>   s   &r   rn   MisbehavedRawIO.tell   r   r!   c                F   < \         SV `  V4       \        V4      ^,          #    )r   ru   r   )r?   rr   r   s   &&r   ru   MisbehavedRawIO.readinto   s    3x!|r!   r#   rR   )r%   r&   r'   r(   rU   r   rj   rn   ru   r)   rC   __classcell__r   rE   s   @@r   r   r      s#     $# r!   r   c                       ] tR t^tRtR# )CMisbehavedRawIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                       ] tR t^tRtR# )PyMisbehavedRawIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                   8   a a ] tR t^t oV 3R ltR tRtVtV ;t# )SlowFlushRawIOc                X   < \         SV `  4        \        P                  ! 4       V n        R # rR   )r   rO   	threadingEventin_flush)r?   r   s   &r   rO   SlowFlushRawIO.__init__   s    !)r!   c                f    V P                   P                  4        \        P                  ! R 4       R# )g      ?N)r   settimesleepr>   s   &r   flushSlowFlushRawIO.flush   s    

4r!   )r   )	r%   r&   r'   r(   rO   r   r)   rC   r   r   s   @@r   r   r      s     * r!   r   c                       ] tR t^tRtR# )CSlowFlushRawIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                       ] tR t^tRtR# )PySlowFlushRawIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                   *   a  ] tR t^t o ^ tR tRtV tR# )CloseFailureIOc                D    V P                   '       g   ^V n         \        hR# r<   closedOSErrorr>   s   &r   closeCloseFailureIO.close   s    {{{DKM r!   )r   N)r%   r&   r'   r(   r   r   r)   rC   rD   s   @r   r   r      s     F r!   r   c                       ] tR t^tRtR# )CCloseFailureIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                       ] tR t^tRtR# )PyCloseFailureIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                   N   a a ] tR t^t oV 3R ltRV 3R lltV 3R ltRtVtV ;t	# )
MockFileIOc                4   < . V n         \        SV `	  V4       R # rR   )read_historyr   rO   r?   r   r   s   &&r   rO   MockFileIO.__init__   s    r!   c                   < \         SV `  V4      pV P                  P                  Vf	   R 4       V# \	        V4      4       V# rR   )r   r   r   rS   r   )r?   rt   resr   s   && r   r   MockFileIO.read   s>    gl1o  C
 ;>c(C
r!   c                \   < \         SV `  V4      pV P                  P                  V4       V# rR   )r   ru   r   rS   )r?   r,   r   r   s   && r   ru   MockFileIO.readinto   s+    gq!  %
r!   )r   rR   )
r%   r&   r'   r(   rO   r   ru   r)   rC   r   r   s   @@r   r   r      s     
 r!   r   c                       ] tR t^tRtR# )CMockFileIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                       ] tR t^tRtR# )PyMockFileIOr#   Nr$   r#   r!   r   r   r      r|   r!   r   c                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )MockUnseekableIOc                    R # Fr#   r>   s   &r   rd   MockUnseekableIO.seekable   s    r!   c                $    V P                  R 4      hznot seekableUnsupportedOperationr?   argss   &*r   rj   MockUnseekableIO.seek       ''77r!   c                $    V P                  R 4      hr   r   r   s   &*r   rn   MockUnseekableIO.tell   r   r!   c                $    V P                  R 4      hr   r   r   s   &*r   rx   MockUnseekableIO.truncate   r   r!   r#   N)
r%   r&   r'   r(   rd   rj   rn   rx   r)   rC   rD   s   @r   r   r      s     888 8r!   r   c                   .    ] tR t^t]P
                  tRtR# )CMockUnseekableIOr#   N)r%   r&   r'   r(   ior   r)   r#   r!   r   r   r      s    22r!   r   c                   .    ] tR tRt]P
                  tRtR# )PyMockUnseekableIO   r#   N)r%   r&   r'   r(   pyior   r)   r#   r!   r   r   r      s    44r!   r   c                   >   a a ] tR tRt oV 3R ltR tR tRtVtV ;t	# )MockCharPseudoDevFileIOi  c                &   < \         SV `  V4       R # rR   )r   rO   r   s   &&r   rO    MockCharPseudoDevFileIO.__init__	  s    r!   c                    ^ # rg   r#   r   s   &*r   rj   MockCharPseudoDevFileIO.seek  rl   r!   c                    ^ # rg   r#   r   s   &*r   rn   MockCharPseudoDevFileIO.tell  rl   r!   r#   )
r%   r&   r'   r(   rO   rj   rn   r)   rC   r   r   s   @@r   r   r     s     
 r!   r   c                       ] tR tRtRtR# )CMockCharPseudoDevFileIOi  r#   Nr$   r#   r!   r   r   r     r|   r!   r   c                       ] tR tRtRtR# )PyMockCharPseudoDevFileIOi  r#   Nr$   r#   r!   r   r   r     r|   r!   r   c                   T   a  ] tR tRt o R tR tR tR tR tRR lt	R t
R	 tR
tV tR# )MockNonBlockWriterIOi  c                "    . V n         R V n        R # rR   )rK   _blocker_charr>   s   &r   rO   MockNonBlockWriterIO.__init__  s    !r!   c                Z    R P                  V P                  4      p. V P                  R&   V# )r!   r   )joinrK   )r?   ss   & r   pop_written MockNonBlockWriterIO.pop_written  s+    HHT&&'!!r!   c                    Wn         R # rR   )r   )r?   chars   &&r   block_onMockNonBlockWriterIO.block_on$  s    !r!   c                    R # rX   r#   r>   s   &r   ra   MockNonBlockWriterIO.readable(  r[   r!   c                    R # rX   r#   r>   s   &r   rd   MockNonBlockWriterIO.seekable+  r[   r!   c                    ^ # rg   r#   rh   s   &&&r   rj   MockNonBlockWriterIO.seek.  s    r!   c                    R # rX   r#   r>   s   &r   rY   MockNonBlockWriterIO.writable2  r[   r!   c                F   \        V4      pRpV P                  '       dM    VP                  V P                  4      pV^ 8  d!   V P                  P	                  VRV 4       V# RV n        R# V P                  P	                  V4       \        V4      #   \
         d     L3i ; ir=   N)r   r   indexrK   rS   
ValueErrorr   )r?   r,   rt   s   && r   rU   MockNonBlockWriterIO.write5  s    !H GGD../ q5%%,,QrU3H *.D&  #1v  s   B B B )r   rK   Nrg   )r%   r&   r'   r(   rO   r   r  ra   rd   rj   rY   rU   r)   rC   rD   s   @r   r   r     s2     "
" r!   r   c                   .    ] tR tRt]P
                  tRtR# )CMockNonBlockWriterIOiI  r#   N)r%   r&   r'   r(   r   BlockingIOErrorr)   r#   r!   r   r  r  I  s    ((Or!   r  c                   .    ] tR tRt]P
                  tRtR# )PyMockNonBlockWriterIOiL  r#   N)r%   r&   r'   r(   r   r  r)   r#   r!   r   r  r  L  s    **Or!   r  c                     a  ] tR tRt o R tR tR tR8R ltR9tR t	R t
]P                  R 4       t]P                  ! ]! ]R	4      R
4      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' t.R( t/R) t0R* t1R+ t2R, t3R- t4R. t5R/ t6R0 t7R1 t8R2 t9R3 t:R4 t;]<Pz                  ! 4       R5 4       t>R6t?V t@R7# ):IOTestiP  c                N    \         P                  ! \         P                  4       R # rR   r   unlinkTESTFNr>   s   &r   setUpIOTest.setUpR      ))*r!   c                N    \         P                  ! \         P                  4       R # rR   r  r>   s   &r   tearDownIOTest.tearDownU  r  r!   c                   V P                  VP                  R 4      ^4       VP                  ^ 4       V P                  VP                  4       ^4       VP	                  ^ 4       V P                  VP                  R 4      ^4       V P                  VP	                  ^ 4      ^ 4       V P                  VP                  R4      ^4       V P                  VP                  4       ^4       V P                  VP	                  R^4      ^4       V P                  VP                  4       ^4       \        R4      pV P                  VP                  V4      ^	4       RVR&   V P                  VP	                  ^ 4      ^ 4       V P                  VP                  R4      ^4       V P                  VP	                  R^4      ^4       V P                  VP                  4       ^4       V P                  VP                  ^4      ^4       V P                  VP                  4       ^4       V P                  \        VP                  R4       R# )	s   blah.s   Hello.s	    world


r      h        Nr  s	   *********)assertEqualrU   rx   rn   rj   	bytearrayassertRaises	TypeError)r?   r6   buffers   && r   	write_opsIOTest.write_opsX  s   *A.	

11%	q	*A.A&+Q/1%A*1%?+!,q	A&*A+2&B,2&)QVVS1r!   c                   VP                  ^4      pV P                  VR4       \        V4      pV P                  VP                  V4      ^4       V P                  \	        V4      R4       \        ^4      pV P                  VP                  V4      ^4       V P                  \        V4      ^4       V P                  VR,          R4       V P                  VP                  ^ 4      ^ 4       V P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  \        R4      4      ^ 4       V P                  VP                  R^4      ^4       V P                  VP                  ^4      R4       V P                  VP                  ^ 4      R4       V P                  VP                  \        4       4      ^ 4       V P                  VP                  R^4      ^4       V P                  VP                  ^4      R4       V P                  VP                  4       ^
4       V P                  \        VP                  R	4       V'       d   VP                  ^ 4       V P                  VP                  4       R4       VP                  ^4       V P                  VP                  4       R
4       V P                  VP                  4       R4       VP                  ^ 4       \        ^4      pV P                  VP                  V4      ^4       V P                  \	        V4      R4       R# R# )r   s   hellos    worl:Nr   N   d
   hello world
r!      xs   worldr$  s   world
Ni)r   r%  r    ru   r   r&  r   rj   rn   r'  r(  	readinto1)r?   r6   bufferedr   s   &&& r   read_opsIOTest.read_opsp  sj   vvayx(D)1-th/|D)1-TA&b6*A&%56C(IdO4a8A*H-C(IK0!4A*H-2&)QVVS1FF1IQVVX'78FF1IQVVXz2QVVXs+FF1IQ<DQ[[.2U4[(3 r!   c                4    V P                  VP                  V P                  4      V P                  4       V P                  VP                  4       V P                  4       V P                  VP                  R4      ^4       V P                  VP                  4       V P                  ^,           4       V P                  VP                  R^4      V P                  ^,           4       V P                  VP                  4       V P                  ^,           4       V P                  VP                  4       V P                  ^,           4       V P                  VP                  ^ ^4      V P                  ^,           4       V P                  VP                  V P                  ^,           4      V P                  ^,           4       V P                  VP                  4       V P                  ^,           4       V P                  VP                  ^ ^4      V P                  ^,           4       V P                  VP                  R^4      V P                  4       V P                  VP                  ^4      R4       R#   \        \        3 d    T P                  R 4        EL_i ; i)zno largefile support   xxxr/  Nr  )
r%  rj   LARGEOverflowErrorr  skipTestrn   rU   rx   r   r?   r6   s   &&r   large_file_opsIOTest.large_file_ops  s   	2QVVDJJ/< 	4::.!,4::>2A

Q7tzzA~64::>21tzzA~6DJJN3TZZ!^D4::>21tzzA~6A

3D) z* 	2MM01	2s   5I1 1"JJc                   V P                   pV P                  \        P                  R RR7      ;_uu_ 4       pV P	                  WP
                  4       V P	                  WP                  4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P	                  WP
                  4       V P	                  WP                  4       RRR4       V P                  \        P                  R^ R7      ;_uu_ 4       pV P	                  WP
                  4       V P	                  WP                  4       RRR4       V P                  \        P                  R^ R7      ;_uu_ 4       pV P	                  WP                  R4       V P	                  WP                  R.4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P	                  WP                  R4       V P	                  WP                  R.4       RRR4       V P                  \        P                  R	RR7      ;_uu_ 4       pV P	                  WP                  R
4       V P	                  WP                  R.4       V P	                  WP                  ^V P                  4       V P	                  WP                  RV P                  4       RRR4       R#   + '       g   i     ELs; i  + '       g   i     EL ; i  + '       g   i     EL; i  + '       g   i     ELs; i  + '       g   i     EL; i  + '       g   i     R# ; i)wutf-8r1   Nwb	bufferingrbs   blahs   blah
r/   blahzblah
r  )r   r3   r   r  r'  r   readlinerU   
writelinesrj   SEEK_CURSEEK_END)r?   excfps   &  r   test_invalid_operationsIOTest.test_invalid_operations  sH   ''YYy''wY??2c77+c;;/ @ YYy''.."c77+c;;/ / YYy''Y;;rc77+c;;/ < YYy''Y;;rc88W5c==9+> < YYy''.."c88W5c==9+> / YYy''wY??2c88V4c==8*=c77At}}=c77B> @? @?? /.. <;; <;; /.. @??sH   7K7K,7L 0:L:L(BL<K)	,K=	 L	L%	(L9	<M	c                H    \        R R\        P                  ! R4      4       R# )z-S-ca  
            import sys
            assert "io" not in sys.modules
            try:
                sys.stdin.truncate()
            except Exception as e:
                typ = type(e)
                assert typ.__module__ == "io", (typ, typ.__module__)
                assert typ.__name__ == "UnsupportedOperation", (typ, typ.__name__)
            else:
                raise AssertionError("Expected UnsupportedOperation")
            N)r   textwrapdedentr>   s   &r   test_startup_optimization IOTest.test_startup_optimization  s      	tX__&
 	r!   piperequires os.pipe()c                *  a aa V 3R  loV 3R loV 3R lpV 3R lpV 3R lpV 3R lpV 3R lpV 3R lpSR3SR	3VR
3VR3VR3VR3VR
3VR3S P                   R3S P                  R33
pVVV 3R lpV Fv  w  rS P                  V	4      ;_uu_ 4        V	S8X  d(   \        P                  '       g   S P                  R4       V	! 4       ;_uu_ 4       pV! WV
4       RRR4       RRR4       Kx  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)c                     < \         P                  ! 4       w  r\         P                  ! V4       SP                  V R 4      # )r/   )osrR  r   FileIO)r/   r=  r?   s     r   pipe_reader3IOTest.test_optional_abilities.<locals>.pipe_reader  s,    WWYFQHHQK;;q#&&r!   c                  <  < \         P                  ! 4       w  rSP                  \         P                  V 4       \        P
                  ! \         P                  V ^d3R7      pVP                  4        SP                  VP                  4       SP                  VR4      # )d   targetr   r=  )
rV  rR  
addCleanupr   r   Threadr   startr   rW  )r/   r=  threadr?   s      r   pipe_writer3IOTest.test_optional_abilities.<locals>.pipe_writer  sf    WWYFQOOBHHa(%%RWWAs8DFLLNOOFKK(;;q#&&r!   c                  B   < S P                  S P                  4       4      # rR   )BufferedReaderr   r>   s   r   buffered_reader7IOTest.test_optional_abilities.<locals>.buffered_reader      &&t'<'<'>??r!   c                  B   < S P                  S P                  4       4      # rR   )BufferedWriterr   r>   s   r   buffered_writer7IOTest.test_optional_abilities.<locals>.buffered_writer  rh  r!   c                  B   < S P                  S P                  4       4      # rR   )BufferedRandomBytesIOr>   s   r   buffered_random7IOTest.test_optional_abilities.<locals>.buffered_random  s    &&t||~66r!   c                  `   < S P                  S P                  4       S P                  4       4      # rR   )BufferedRWPairr   r>   s   r   buffered_rw_pair8IOTest.test_optional_abilities.<locals>.buffered_rw_pair  s-    &&t'<'<'>%%') )r!   c                  b   <  ! V3R  lRSP                   4      p SP                  V ! 4       R4      # )c                   t   < ] tR tRt Z P                  P
                  t Z P                  P                  tRtR# )MIOTest.test_optional_abilities.<locals>.text_reader.<locals>.UnseekableReaderi  r#   N)r%   r&   r'   r(   BufferedIOBaserY   rU   r)   r>   s   r   UnseekableReaderrx    s%    ..77++11r!   rz  asciir   TextIOWrapper)rz  r?   s    r   text_reader3IOTest.test_optional_abilities.<locals>.text_reader  s.    24#8#8 2 %%&6&8'BBr!   c                  b   <  ! V3R  lRSP                   4      p SP                  V ! 4       R4      # )c                   t   < ] tR tRt Z P                  P
                  t Z P                  P                  tRtR# )MIOTest.test_optional_abilities.<locals>.text_writer.<locals>.UnseekableWriteri  r#   N)r%   r&   r'   r(   ry  ra   r   r)   r>   s   r   UnseekableWriterr    s%    ..77**//r!   r  r{  r|  )r  r?   s    r   text_writer3IOTest.test_optional_abilities.<locals>.text_writer  s.    04#8#8 0 %%&6&8'BBr!   frfwr/   r=  rwsrwc                 v  < R V9   pS	P                  VP                  4       V4       RV9   pS	P                  VP                  4       V4       \        VS	P                  4      '       d   RpM<\        VS	P
                  S	P                  34      '       d   RpMS	P                  R4       RV9   d   VP                  4        M S	P                  \        VP                  4       V'       d#   VP                  ^4       VP                  4        MAS	P                  \        VP                  ^4       S	P                  \        VP                  4       V'       d   VP                  X4       M!S	P                  \        VP                  X4       \        P                  P                  R4      '       d   V SS39   d   R# RV9   pS	P                  VP!                  4       V4       V'       d#   VP#                  4        VP%                  ^ 4       MAS	P                  \        VP"                  4       S	P                  \        VP$                  ^ 4       V'       d,   V'       d$   VP'                  4        VP'                  ^ 4       R# S	P                  \        VP&                  4       S	P                  \        VP&                  ^ 4       R# )	r/   r=  3   3zUnknown base classr6   winNr   )r%  ra   rY   
isinstance
TextIOBasery  	RawIOBasefailr^   r'  r   r   rU   sysplatform
startswithrd   rn   rj   rx   )
testr   	abilitiesra   rY   r   rd   rX  rb  r?   s
   &&&    r   do_test/IOTest.test_optional_abilities.<locals>.do_test	  s   i'HS\\^X6i'HS\\^X6#t//C$"5"5t~~!FGG		./i

!!'3::6
!!'388Q7!!'3884		$!!'399d;||&&u--$;. 3. i'HS\\^X6
!!'3884!!'388Q7HQ!!'3<<8!!'3<<;r!   zNeed threadsN)ro  StringIOsubTestr   can_start_threadr8  )r?   rf  rk  rp  rt  r~  r  testsr  r  r  r   rX  rb  s   f           @@r   test_optional_abilitiesIOTest.test_optional_abilities  s   	'
	'	@	@	7	)	C	C $+t!4c"_c$:e$'7&>#c 2\\5!DMM5#9
1	<f "'Td##;&/?/P/P/PMM.1VVsDy1  $# "' V $##s*   D. D
C.D.C>9DDc           
     \   R pV P                  \        V P                  VRRR7       \        VR4      p\        P
                  ! 4       ;_uu_ 4        \        P                  ! R\        4       V P                  \        V P                  VRRR7       RRR4       R#   + '       g   i     R# ; i)zfoo barr=  r>  r1   r{  ignoreN)r'  r  r3   r   warningscatch_warningssimplefilterDeprecationWarning)r?   fn_with_NULbytes_fns   &  r   test_open_handles_NUL_chars"IOTest.test_open_handles_NUL_charsD  s|     *diicGTg.$$&&!!(,>?j$))XsWU '&&&s   A BB+	c                   V P                  \        P                  R ^ R7      ;_uu_ 4       pV P                  VP	                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  V4       RRR4       V P                  \        P                  R^ R7      ;_uu_ 4       pV P                  VP	                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  V4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r?  r@  FTNrB  	r3   r   r  r%  ra   rY   rd   r*  r2  r9  s   & r   test_raw_file_ioIOTest.test_raw_file_ioM  s    YYy''Y;;qQZZ\51QZZ\40QZZ\40NN1	 <
 YYy''Y;;qQZZ\40QZZ\51QZZ\40MM!	 <; <;
 <;;s   A2EA2EE	E/	c                   V P                  \        P                  R 4      ;_uu_ 4       pV P                  VP	                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  V4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P                  VP	                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  VR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r?  FTNrB  r  r9  s   & r   test_buffered_file_ioIOTest.test_buffered_file_ioY  s    YYy''..!QZZ\51QZZ\40QZZ\40NN1	 /
 YYy''..!QZZ\40QZZ\51QZZ\40MM!T"	 /. /.
 /..s   A2EA3EE	E,	c                   V P                  \        P                  R 4      ;_uu_ 4       pVP                  R4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P	                  VP                  4       R4       V P	                  VP                  ^
4      R4       V P	                  VP                  ^4      R4       V P	                  VP                  ^4      R4       V P	                  VP                  4       R4       V P	                  VP                  R4      R	4       V P                  \        VP
                  R
4       RRR4       V P                  \        P                  RRR7      ;_uu_ 4       pV P                  \        VP
                  R
4       RRR4       R#   + '       g   i     EL}; i  + '       g   i     Lz; i  + '       g   i     R# ; i)r?  s"   abc
def
xyzzy
foo bar
another lineNrB     abc
   def
   xys   zzy
s   foo bar
s   another lineg333333@r/   r>  r1   )r3   r   r  rU   r%  rD  r'  r(  r9  s   & r   test_readlineIOTest.test_readlinee  sL   YYy''..!GG@A /YYy''..!QZZ\84QZZ^X6QZZ]E2QZZ]H5QZZ\?;QZZ-?iS9 / YYy''wY??1iS9 @? /.... @??s$   F/+C&G"G/G 	G	G'	c                |     ! R  RV P                   4      pV P                  \        \        3\        V! 4       4       R# )c                   &   a  ] tR tRt o R tRtV tR# )+IOTest.test_readline_nonsizeable.<locals>.Riv  c                    R # rR   r#   r>   s   &r   rD  4IOTest.test_readline_nonsizeable.<locals>.R.readlinew      r!   r#   N)r%   r&   r'   r(   rD  r)   rC   rD   s   @r   Rr  v        r!   r  N)IOBaser'  r(  StopIterationnextr?   r  s   & r   test_readline_nonsizeable IOTest.test_readline_nonsizeables  s-    	 	 	9m4dAC@r!   c                |     ! R  RV P                   4      pV P                  \        V! 4       P                  ^4       R# )c                   &   a  ] tR tRt o R tRtV tR# )'IOTest.test_next_nonsizeable.<locals>.Ri~  c                    R # rR   r#   r>   s   &r   __next__0IOTest.test_next_nonsizeable.<locals>.R.__next__  r  r!   r#   N)r%   r&   r'   r(   r  r)   rC   rD   s   @r   r  r  ~  r  r!   r  N)r  r'  r(  	readlinesr  s   & r   test_next_nonsizeableIOTest.test_next_nonsizeable{  s,    	 	 	)QS]]A6r!   c                    V P                  4       pV P                  V4       VP                  4       pV P                  VR 4       V P                  V4      pV P	                  VR4       R# )r.  TN)ro  r*  getvaluer%  r2  )r?   r6   r   s   &  r   test_raw_bytes_ioIOTest.test_raw_bytes_io  sQ    LLNqzz|/0LLar!   c                   \         P                  R ,          R8X  g   \        '       d)   \        P                  ! RRV P
                  ,          4       V P                  \        P                  R^ 4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P                  V4       RRR4       R#   + '       g   i     LT; i  + '       g   i     R# ; i)N   Nr  	largefilez-test requires %s bytes and a long time to runw+bN)
r  r  r   r   requiresr6  r3   r   r  r:  r9  s   & r   test_large_file_opsIOTest.test_large_file_ops  s     <<u$?$**LN YYy''22a" 3YYy''//1" 0/ 32///s   :C<C+C(	+C<	c                   R F  pV P                  \        P                  RV4      ;_uu_ 4       pVP                  R4       RRR4       V P	                  XP
                  R4        V P                  \        P                  RV4      ;_uu_ 4       p^^ ,           RRR4       V P                  R4       K  	  R#   + '       g   i     L; i  + '       g   i     L:; i  \         d"    T P	                  TP
                  R4        EK  i ; i)r   r?  r5  NTz1/0 didn't raise an exception)r   r[  )r3   r   r  rU   r%  r   r  ZeroDivisionError)r?   bufsizer6   s   &  r   test_with_openIOTest.test_with_open  s    G9++T7;;q <QXXt,;YYy//w??1aC @
 		9:  ;; @?$ 1  4001s5   B8&)C
CC8CCC'D
	D
c                   V P                  \        P                  R 4      ;_uu_ 4       pVP                  R4       RRR4       V P                  \        P                  R^ R7      ;_uu_ 4       pV P	                  VP                  4       ^4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P	                  VP                  4       ^4       RRR4       V P                  \        P                  RRR7      ;_uu_ 4       pV P                  VP                  4       ^ 4       RRR4       R#   + '       g   i     EL
; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r?  r5  Nabr@  ar>  r1   )r3   r   r  rU   r%  rn   assertGreaterr9  s   & r   test_append_mode_tellIOTest.test_append_mode_tell  s    YYy''..!GGFO /YYy''Y;;qQVVXq) <YYy''..!QVVXq) /YYy''wY??1qvvx+ @? /..;;..???s/   D<-!E>!E#!E6<E	E 	#E3	6F	c           	     *  a . o ! V3R  lRV P                   4      p\        P                  ! R\        34      ;_uu_ 4        V! \        P
                  R4      pVP                  R4       ?\        P                  ! 4        V P                  S. RO4       V P                  \        P
                  R4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                   R   <a a ] tR tRt oV V3R ltV V3R ltV V3R ltRtVtV ;t	# )(IOTest.test_destructor.<locals>.MyFileIOi  c                r   < SP                  ^4        \        SV `  pV! 4        R#   \         d     R# i ; ir<   rS   r   __del__AttributeErrorr?   r6   r   records   & r   r  0IOTest.test_destructor.<locals>.MyFileIO.__del__  8    a A C &    
' 66c                F   < SP                  ^4       \        SV `	  4        R# r   NrS   r   r   r?   r   r  s   &r   r   .IOTest.test_destructor.<locals>.MyFileIO.close      a r!   c                F   < SP                  ^4       \        SV `	  4        R# r  NrS   r   r   r  s   &r   r   .IOTest.test_destructor.<locals>.MyFileIO.flush  r  r!   r#   
r%   r&   r'   r(   r  r   r   r)   rC   r   r   rE   r  s   @@r   MyFileIOr             r!   r   r?  r5  rB  Nr=   r   r  )rW  r   check_warningsResourceWarningr   r  rU   r   
gc_collectr%  r3   r   )r?   r  r6   r  s   &  @r   test_destructorIOTest.test_destructor  s    	 t{{ 	  ++R,ABB))40AGGFO VY/9++T22a  62 3 CB 32 CBBs%    A;D;!C.	D.C>9DD	c                   a . o ! V3R  lRV4      pV! 4       p?\         P                  ! 4        V P                  S. RO4       R# )c                   X   <a a ] tR tRt oR tV V3R ltV V3R ltV V3R ltRtVt	V ;t
# )+IOTest._check_base_destructor.<locals>.MyIOi  c                0    ^V n         ^V n        ^V n        R# r<   )on_delon_closeon_flushr>   s   &r   rO   4IOTest._check_base_destructor.<locals>.MyIO.__init__  s    
   ! !r!   c                   < SP                  V P                  4        \        SV `  pV! 4        R #   \         d     R # i ; irR   )rS   r	  r   r  r  r  s   & r   r  3IOTest._check_base_destructor.<locals>.MyIO.__del__  s<    dkk*A C & s   
1 A A c                Z   < SP                  V P                  4       \        SV `  4        R # rR   )rS   r
  r   r   r  s   &r   r   1IOTest._check_base_destructor.<locals>.MyIO.close      dmm,r!   c                Z   < SP                  V P                  4       \        SV `  4        R # rR   )rS   r  r   r   r  s   &r   r   1IOTest._check_base_destructor.<locals>.MyIO.flush  r  r!   )r
  r	  r  )r%   r&   r'   r(   rO   r  r   r   r)   rC   r   r  s   @@r   MyIOr    s     "    r!   r  Nr  )r   r  r%  )r?   baser  r6   r  s   &&  @r   _check_base_destructorIOTest._check_base_destructor  s<    	 4 	 . F+r!   c                <    V P                  V P                  4       R # rR   )r  r  r>   s   &r   test_IOBase_destructorIOTest.test_IOBase_destructor  s    ##DKK0r!   c                <    V P                  V P                  4       R # rR   )r  r  r>   s   &r   test_RawIOBase_destructor IOTest.test_RawIOBase_destructor  s    ##DNN3r!   c                <    V P                  V P                  4       R # rR   )r  ry  r>   s   &r   test_BufferedIOBase_destructor%IOTest.test_BufferedIOBase_destructor  s    ##D$7$78r!   c                <    V P                  V P                  4       R # rR   )r  r  r>   s   &r   test_TextIOBase_destructor!IOTest.test_TextIOBase_destructor  s    ##DOO4r!   c                z   V P                  \        P                  R 4      ;_uu_ 4       pVP                  R4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P	                  VP                  4       R4       RRR4       R#   + '       g   i     Lc; i  + '       g   i     R# ; i)r?  r5  NrB  r3   r   r  rU   r%  r   r9  s   & r   test_close_flushesIOTest.test_close_flushes  su    YYy''..!GGFO /YYy''..!QVVXv. /. /....   B+!B)B&	)B:	c                  a aa \         P                   ! R \        ^
4      4      o\        SP                  4       4      oVVV 3R lpV! S P	                  4       4       V! S P                  \        P                  R4      4       V! S P                  S P                  4       4      4       V! S P                  S P                  4       4      4       V! S P                  S P                  4       S P                  4       4      4       R# )ic                    < V ;_uu_ 4        SP                  V P                  S4      S4       V P                  S34       R R R 4       R #   + '       g   i     R # ; irR   )r%  rU   rE  )r6   r  rt   r?   s   &r   check'IOTest.test_array_writes.<locals>.check  s:      Q/aT" s   4A

A	r=  N)r-   ranger   tobytesro  rW  r   r  rj  r   rn  rs  )r?   r,  r  rt   s   f @@r   test_array_writesIOTest.test_array_writes  s    KKU2Y'			# 	dllndkk)**C01d!!$.."234d!!$.."234d!!$.."2DNN4DEFr!   c           	     l    V P                  \        V P                  \        P                  R RRR7       R# )r=  r>  Fr2   closefdNr'  r  r3   r   r  r>   s   &r   test_closefdIOTest.test_closefd  s,    *dii1A1A3#*E 	 	;r!   c           	        V P                  \        P                  R RR7      ;_uu_ 4       pVP                  R4       RRR4       V P                  \        P                  RRR7      ;_uu_ 4       pV P                  VP	                  4       RRRR7      pV P                  VP                  4       R4       VP                  ^ 4       VP                  4        V P                  \        VP                  4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P                  VP	                  4       RRR	7      pV P                  VP                  4       R
,          R4       VP                  4        V P                  \        VP                  \        ^4      4       RRR4       R#   + '       g   i     EL~; i  + '       g   i     L; i  + '       g   i     R# ; i)r=  r>  r1   egg
Nr/   Fr3  rB  r4  r  s   egg)r3   r   r  rU   r^   r%  r   rj   r   r'  r  ru   r&  r?   r6   files   &  r   test_read_closedIOTest.test_read_closed  sH   YYy''wY??1GGG @YYy''wY??199QXXZw9NDTYY['2IIaLJJLj$))4 @ YYy''..!99QXXZu9=DTYY[_f5JJLj$--1F	 /. @???? /..s%   F2/BG$BG2G	G	G*	c           	     l    V P                  \        V P                  \        P                  R RRR7       R# )r/   r>  Fr3  Nr5  r>   s   &r   test_no_closefd_with_filename$IOTest.test_no_closefd_with_filename  s,    *dii1A1A3#*E 	 	;r!   c           	     D   V P                  \        P                  R 4      ;_uu_ 4       pVP                  R4       RRR4       V P                  \        P                  RRR7      ;_uu_ 4       pV P	                  VP
                  P                  P                  R4       V P                  VP                  4       RRRR7      pV P	                  VP
                  P                  P                  R4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)	r?  s   egg
Nr/   r>  r1   TFr3  )	r3   r   r  rU   r%  r)  rawr4  r^   r;  s   &  r   test_closefd_attrIOTest.test_closefd_attr  s    YYy''..!GGH /YYy''wY??1QXX\\114899QXXZw9NDT[[__44e< @? /.???s   C;-BD;D	D	c                D   \         P                  ! R \        34      ;_uu_ 4        V P                  \        P
                  R4      pVP                  R4       Wn        \        P                  ! V4      p?\        P                  ! 4        RRR4       V P                  X! 4       V4       V P                  \        P
                  R4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     Lz; i  + '       g   i     R# ; i)r  r?  s   abcxxxNrB  )r   r   r  rW  r   r  rU   r6   weakrefrefr   r  assertIsNoner3   r%  r   )r?   r6   wrs   &  r   test_garbage_collectionIOTest.test_garbage_collection'  s     ++R,ABBI,,d3AGGICQB  C 	"$#YYy''..!QVVXy1 /. CB /..s   A$C;!D;D	D	c                R   R p\         P                  P                  V4      '       g!   V P                  RP	                  V4      4       \
        P                  R8  d   V P                  R4       \        P                  \        P                  8  d   V P                  R4       V P                  VR^ R7      ;_uu_ 4       pV P                  \        VP                  4       RRR4       V P                  VR4      ;_uu_ 4       pV P                  \        VP                  4       RRR4       V P                  VR4      ;_uu_ 4       pV P                  \        VP                  4       RRR4       R#   + '       g   i     L; i  + '       g   i     Lh; i  + '       g   i     R# ; i)	z	/dev/zeroz{0} does not existiz+test can only run in a 32-bit address spacez&test requires at least 2 GiB of memoryrB  r@  Nr/   )rV  pathexistsr8  formatr  maxsizer   real_max_memuse_2Gr3   r'  r7  r   )r?   zeror6   s   &  r   test_unbounded_fileIOTest.test_unbounded_file5  s   ww~~d##MM.55d;<;;#MMGH""W[[0MMBCYYtTQY//1mQVV4 0YYtT""amQVV4 #YYtS!!QmQVV4 "!	 0/""!!!s$   >!E/!F!F/E?	F	F&	c                &  aa V P                   ! V/ VB o. oVV3R  lpVSn        V P                  \        SP                  4       V P                  SP                  4       V P                  S4       V P                  S^ ,          4       R Sn        R# )c                  8   < SP                   .S R &   \        4       hr   r   )r   r6   s   r   	bad_flush4IOTest.check_flush_error_on_close.<locals>.bad_flushJ  s    
F1I)Or!   c                      R # rR   r#   r#   r!   r   <lambda>3IOTest.check_flush_error_on_close.<locals>.<lambda>R      $r!   N)r3   r   r'  r   r   
assertTruer   assertFalse)r?   r   kwargsrZ  r   r6   s   &*, @@r   check_flush_error_on_close!IOTest.check_flush_error_on_closeE  st     IIt&v&	 '177+!#r!   c                   V P                  \        P                  R ^ R7       \        P                  ! \        P                  \        P
                  \        P                  ,          4      pV P                  VR ^ R7       \        P                  ! \        P                  \        P
                  \        P                  ,          4      pV P                  VR ^ RR7       \        P                  ! V4       V P                  \        P                  R 4       \        P                  ! \        P                  \        P
                  \        P                  ,          4      pV P                  VR 4       \        P                  ! \        P                  \        P
                  \        P                  ,          4      pV P                  VR RR7       \        P                  ! V4       V P                  \        P                  RRR7       \        P                  ! \        P                  \        P
                  \        P                  ,          4      pV P                  VRRR7       \        P                  ! \        P                  \        P
                  \        P                  ,          4      pV P                  VRRRR7       \        P                  ! V4       R	# )
r?  r@  F)rA  r4  r:  r=  r>  r1   r3  N)rc  r   r  rV  r3   O_WRONLYO_CREATr   )r?   fds   & r   test_flush_error_on_close IOTest.test_flush_error_on_closeT  s    	''	(8(8$!'LWWY%%r{{2::'=>''DA'>WWY%%r{{2::'=>''DAu'M
''	(8(8$?WWY%%r{{2::'=>''D1WWY%%r{{2::'=>''D%'@
''	(8(8#'PWWY%%r{{2::'=>''C''BWWY%%r{{2::'=>''C'5'Q
r!   c                    V P                  \        P                  R ^ R7      pVP                  4        VP                  4        VP                  4        V P	                  \
        VP                  4       R# )r?  r@  N)r3   r   r  r   r'  r  r   r9  s   & r   test_multi_closeIOTest.test_multi_closel  sK    IIi&&I:						*agg.r!   c                8   V P                  R4      pV P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  ^4      R4       R# )	   abc   dN   ab   c   ef   gr!   )ro  rp  N   efgN)rG   r%  r   r?   rawios   & r   test_RawIOBase_readIOTest.test_RawIOBase_reads  s     ))*LMA.A-A-A-A.A-A-A,r!   c                    V P                  4       V P                  4       V P                  4       V P                  4       V P	                  4       3pV F  pV P                  VR 4       K  	  R# )__dict__N)r  r  r  r  ro  assertHasAttr)r?   r  r   s   &  r   test_types_have_dictIOTest.test_types_have_dict  sT    KKMNNOOMMOLLN
 CsJ/ r!   c                  a V P                  \        P                  R RR7      ;_uu_ 4       pVP                  R4       RRR4       \        P                   ! \        P                  \        P
                  4      oV3R lpV P                  RRRVR7      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)	r=  r>  r1   r9  Nc                    < S# rR   r#   )rN  flagsrh  s   &&r   opener"IOTest.test_opener.<locals>.opener  s    Ir!   non-existentr/   )r2   r  )r3   r   r  rU   rV  O_RDONLYr%  r   )r?   r6   r  rh  s   &  @r   test_openerIOTest.test_opener  s    YYy''wY??1GGG @WWY%%r{{3	YY~sWVYLLPQQVVXw/ ML @?
 MLLs   C!CC	C+	c                    R  pV P                  \        4      ;_uu_ 4       pV P                  RRVR7       RRR4       V P                  \	        XP
                  4      R4       R#   + '       g   i     L7; i)c                     R# r=   r  r#   fnamer  s   &&r   	badopener4IOTest.test_bad_opener_negative_1.<locals>.badopener      Ir!   r  r/   r  Nzopener returned -1r'  r  r3   r%  str	exceptionr?   r  cms   &  r   test_bad_opener_negative_1!IOTest.test_bad_opener_negative_1  T    	z**bIInc)I< +R\\*,@A +*   A%%A5	c                    R  pV P                  \        4      ;_uu_ 4       pV P                  RRVR7       RRR4       V P                  \	        XP
                  4      R4       R#   + '       g   i     L7; i)c                     R# )r   r#   r  s   &&r   r  8IOTest.test_bad_opener_other_negative.<locals>.badopener  r  r!   r  r/   r  Nzopener returned -2r  r  s   &  r   test_bad_opener_other_negative%IOTest.test_bad_opener_other_negative  r  r  c                :  a \         P                  ! 4       oV P                  \        4      ;_uu_ 4       pV P	                  R V3R lR7       RRR4       V P                  XP                  P                  \        P                  4       R#   + '       g   i     LF; i)fooc                    < S# rR   r#   )namer  rh  s   &&r   r]  /IOTest.test_opener_invalid_fd.<locals>.<lambda>  s    r!   r  N)	r   make_bad_fdr'  r   r3   r%  r  errnoEBADF)r?   r  rh  s   & @r   test_opener_invalid_fdIOTest.test_opener_invalid_fd  sc     ""$w''2IIe$:I; (++U[[9 ('s   B

B	c           	        V P                  \        R 4      ;_uu_ 4       pV P                  \        R 4      ;_uu_ 4       pV P                  VP                  4       RR7      pVP	                  VP                  4       RR7       VP                  4        VP                  4        VP                  4        RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)rB  Fr:  N)r3   r4   rW  r^   rO   rD  r   )r?   f1f2fileios   &   r   test_fileio_closefdIOTest.test_fileio_closefd  s    YYx&&"YYx&&"[[e[<FOOBIIKO7KKMLLNKKM ' '&&& '&&s#   CA3C	1CCCC'	c                4   \         P                  ! V 4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P	                  \
        P                  R R^ R7       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r=  r>  r2   rA  Nr   check_no_resource_warningr'  r  r3   r   r  r>   s   &r   test_nonbuffered_textioIOTest.test_nonbuffered_textio  s^    66t<<"":..		)**C'Q	O / =<.. =<<"   B$A3	!B3B>BB	c                4   \         P                  ! V 4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P	                  \
        P                  R RRR7       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r=  r>  invalidr2   newlineNr  r>   s   &r   test_invalid_newlineIOTest.test_invalid_newline  s^    66t<<"":..		)**C'9	U / =<.. =<<r  c           	     J    ! R  RV P                   4      pV! 4       pR Fl  pV P                  V4      ;_uu_ 4        \        ^4      pV P                  \	        W#4      ! V4      ^4       V P                  \        V4      R4       RRR4       Kn  	  R#   + '       g   i     K  ; i)c                   *   a  ] tR tRt o R t]tRtV tR# )3IOTest.test_buffered_readinto_mixin.<locals>.Streami  c                    R # )   12345r#   r?   sizes   &&r   r   8IOTest.test_buffered_readinto_mixin.<locals>.Stream.read  s    r!   r#   N)r%   r&   r'   r(   r   read1r)   rC   rD   s   @r   Streamr    s      Er!   r  r  Nru   r0  )ry  r  r    r%  getattrr   )r?   r  streammethodr)  s   &    r   test_buffered_readinto_mixin#IOTest.test_buffered_readinto_mixin  s    	T(( 	 /Ff%%"1  !8!@!D  v9 &% 0%%%s   ABB"c           
     F  a  V 3R  lpV! \        \        P                  4      4       V! \        \        P                  ! \        P                  4      4      4       S P                  \        P                  RRR7      ;_uu_ 4       p\        VP                  4       4      pS P                  \        4      ;_uu_ 4        S P                  VRRR7       RRR4       RRR4       \        R4      pS P                  \        4      ;_uu_ 4        S P                  VRRR7       RRR4       \        \        4      pS P                  \        4      ;_uu_ 4        S P                  VRRR7       RRR4       S P                  \        R4      ;_uu_ 4        S P                  \        \        P                  4      RRR7       RRR4       R#   + '       g   i     L; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)c                 L  < SP                  V R RR7      ;_uu_ 4       pVP                  R4       RRR4       SP                  V RRR7      ;_uu_ 4       pSP                  VP                  4       R4       RRR4       R#   + '       g   i     LW; i  + '       g   i     R# ; i)r=  r>  r1   r9  Nr/   )r3   rU   r%  r   )rN  r6   r?   s   & r   check_path_succeeds7IOTest.test_fspath_support.<locals>.check_path_succeeds  sw    4w771  8 4w771  73 87 87 877s   A?!B?B	B#	r=  r>  r1   Nzread/write/append moderwxa)r   r   r  rV  fsencoder3   r^   r'  r(  FloatingPointErrorassertRaisesRegexr  )r?   r  r6   bad_paths   f   r   test_fspath_supportIOTest.test_fspath_support  sn   	4 	HY%5%567HR[[1A1A%BCDYYy''wY??1
+H""9--		(C'	: . @
 D>y))IIhgI6 * ./122IIhgI6 3 ##J0HIIIIhy//0&7IK JI .- @?? *) 32 JIIsH   7G;G	GG)G<,HGGG&	)G9	<H	H 	c                    V P                  R4      pV P                  VP                  4       R4       V P                  R4      pV P                  VP                  4       R4       R# ro     abcdefgNro  rp  ru  )rG   r%  r   readallrv  s   & r   test_RawIOBase_readallIOTest.test_RawIOBase_readall  sR     ))*@Az2))*@A*5r!   c           
     v    ! R  RV P                   4      pRp^pV EF  pV P                  V4      ;_uu_ 4        Vw  rVrxV! \        \        V4      4      4      p	\	        V3V,          4      p
\        W4      pV P                  V! V
4      V4       V P                  \        V
4      V4       V P                  V
RV \        V4      4       V3Wx,
          ,          pV P                  WR V4       V P                  \        V	P                  4      Wh,
          4       RRR4       EK  	  R#   + '       g   i     EK  ; i)c                   2   a  ] tR tRt o R tR tR tRtV tR# )3IOTest.test_BufferedIOBase_readinto.<locals>.Readeri  c                    Wn         R # rR   avail)r?   r  s   &&r   rO   <IOTest.test_BufferedIOBase_readinto.<locals>.Reader.__init__  s    "
r!   c                L    V P                   R V pV P                   VR  V n         V# rR   r  )r?   r  results   && r   r   8IOTest.test_BufferedIOBase_readinto.<locals>.Reader.read  s)    ET*!ZZ.
r!   c                8    V P                  \        V^4      4      # r   )r   minr  s   &&r   r  9IOTest.test_BufferedIOBase_readinto.<locals>.Reader.read1  s    yyT1..r!   r  N)	r%   r&   r'   r(   rO   r   r  r)   rC   rD   s   @r   Readerr    s     #/ /r!   r  N)
)ru   
   r   r   )ru   r     r  )ru   r   r  r   )ru   r     r  )ru   r  r   r   )r0  r  r   r   )r0  r  r  r   )r0  r   r  r   )r0  r  r  r   )r0  r  r   r   )
ry  r  r   r.  r&  r  r%  r   assertSequenceEqualr  )r?   r  r  UNUSED_BYTEr  r  r  requestr  readerr)  unuseds   &           r   test_BufferedIOBase_readinto#IOTest.test_BufferedIOBase_readinto  s   		/T(( 		/
 Dd##15.weEl 34"K>G#;< 0  8  Vg6((%-H%7+;<((&A  V\\!2ENC $# ###s   CD&&D8c                     ! R  RV P                   4      pV! 4       pV P                  \        VP                  4       R Vn        R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )#IOTest.test_close_assert.<locals>.Ri  c                    R # rR   r#   )r?   r  values   &&&r   __setattr__/IOTest.test_close_assert.<locals>.R.__setattr__      r!   c                    \        4       hrR   r   r>   s   &r   r   )IOTest.test_close_assert.<locals>.R.flush   s	    ir!   r#   N)r%   r&   r'   r(   r  r   r)   rC   rD   s   @r   r  r    s        r!   r  c                     R # rR   r#   r>   s   &r   r]  *IOTest.test_close_assert.<locals>.<lambda>'      tr!   N)r  r'  r   r   r   )r?   r  r6   s   &  r   test_close_assertIOTest.test_close_assert  s8    	  	 
 C'177+ $r!   c                H  a a	a
 ^p^do
^do	V
3R lpV	V 3R lpS P                  \        P                  R4      ;_uu_ 4       p\        P                  ! V^,           4      p\        P
                  ! W4V3R7      p\        V4       Uu. uF  p\        P
                  ! W$V3R7      NK  	  pp\        P                  ! 4       ;_uu_ 4       p\        P                  ! Ws.,           4      ;_uu_ 4         RRR4       S P                  VP                  4       RRR4       RRR4       S P                  \        P                  ! \        P                  4      P                  S
V,          4       R# u upi   + '       g   i     L; i  + '       g   i     Lw; i  + '       g   i     L; i)r   c                 n   < VP                  4        \        S4       F  pV P                  R 4       K  	  R# )xN)waitr.  rU   )r<  barrier_write_counts   && r   writer0IOTest.test_write_readline_races.<locals>.writer0  s&    LLN;'

3 (r!   c                    < VP                  4        \        S4       F  pV  F  pSP                  VR 4       K  	  K   	  R# )r  N)r
  r.  r%  )r<  r  r  line
read_countr?   s   &&  r   r  0IOTest.test_write_readline_races.<locals>.reader5  s5    LLN:& D$$T2. ! 'r!   w+r\  N)r3   r   r  r   Barrierr_  r.  r   catch_threading_exceptionstart_threadsrI  exc_typer%  rV  statst_size)r?   thread_countr  r  r6   r  r  writersr  r  r  s   f        @@r   test_write_readline_races IOTest.test_write_readline_races)  s2    
	 
	/ YYy''..!''q(89G%%Vg,GF %l 35 31 !''vLI 3  5!;;==%33Gh4FGG H!!"++. > / 	!1!12::$|3	55 HG >= /.sN   AF"E&%F&E>	*E+,#E>	F&F+E;6E>	>F	FF!	r#   Nr   l        )Ar%   r&   r'   r(   r  r   r*  r2  r6  r:  rJ  r   cpython_onlyrP  unittest
skipUnlesshasattrrV  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r&  r0  r6  r=  r@  rD  rK  rU  rc  ri  rl  rx  r}  r  r  r  r  r  r  r  r  r  r  r  r  r   requires_working_threadingr  r)   rC   rD   s   @r   r  r  P  sg    ++204B E*(?2  $ V,.BCm2 Dm2`V

#:A7#;,34,<1495/G;G;
=25 0/-	00BB:
P
V
:L86'DR$ 0025 35r!   r  c                   &   a  ] tR tRt o R tRtV tR# )CIOTestiI  c                     ! R  RV P                   4      pV! 4        V! 4       pW"n        \        P                  ! V4      p??\        P
                  ! 4        V P                  V! 4       V4       R# )c                   &   a  ] tR tRt o R tRtV tR# )*CIOTest.test_IOBase_finalize.<locals>.MyIOiO  c                    R # rR   r#   r>   s   &r   r   0CIOTest.test_IOBase_finalize.<locals>.MyIO.closeP  r  r!   r#   Nr%   r&   r'   r(   r   r)   rC   rD   s   @r   r  r(  O  s      r!   r  N)r  r   rG  rH  r   r  rI  )r?   r  r   rJ  s   &   r   test_IOBase_finalizeCIOTest.test_IOBase_finalizeK  sW    	4;; 	
 	f[["$#r!   r#   N)r%   r&   r'   r(   r,  r)   rC   rD   s   @r   r%  r%  I  s     $ $r!   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	# )
TestIOCTypesi]  c                   \         P                  ! R 4      pVP                  VP                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  .V n        \"        P$                  R8X  d&   V P                   P'                  VP(                  4       Wn        R# )_iowin32N)r   import_modulers  rn  re  rj  ro  rW  IncrementalNewlineDecoderr  r}  _BufferedIOBase_BytesIOBuffer_IOBase
_RawIOBase_TextIOBasetypesr  r  rS   _WindowsConsoleIOr1  r?   r1  s   & r   r  TestIOCTypes.setUp_  s    ))%0KKJJ))LLKKNNOO

  <<7"JJc334r!   c           
        V P                    FT  pV P                  VR 7      ;_uu_ 4        V P                  \        R4      ;_uu_ 4        RVn        RRR4       RRR4       KV  	  R#   + '       g   i     L; i  + '       g   i     K~  ; i))tp	immutablebarN)r:  r  r  r(  r  )r?   r?  s   & r   test_immutable_types!TestIOCTypes.test_immutable_typesu  s\    **B$$++I{CC"BF D %$ CC %$$s#   A:	A'A:'A72A::Bc                  a aa V 3R  loVVV 3R loS P                   pVP                  VP                  VP                  VP                  VP
                  VP                  VP                  0VP                  VP                  0VP                  VP                  VP                  0//p\        P                  R8X  d=   W!P                  ,          VP                  ,          P                  VP                   4       S! V4       R# )c                    < V  F7  pSP                  W!R 7      ;_uu_ 4        SP                  W!4       RRR4       K9  	  R#   + '       g   i     KN  ; i))r?  r  N)r  assertIsSubclass)r:  r  r?  r?   s   && r   
check_subs5TestIOCTypes.test_class_hierarchy.<locals>.check_subs|  s>    \\R\33))"3 43 333s   AAc                    < V P                  4        FV  w  r\        V\        4      '       d   S! V4       K%  \        V\        4      '       d   S! W!4       KE  SP	                  R 4       KX  	  R# )zcorrupt test datasetN)itemsr  dictr   r  )dkvrG  recursive_checkr?   s   &  r   rO  :TestIOCTypes.test_class_hierarchy.<locals>.recursive_check  sL    	a&&#A&3''q$II45 "r!   r2  N)r1  r7  r5  rs  rn  re  rj  ro  r8  rW  r9  r  r}  r  r  addr;  )r?   r1  	hierarchyrG  rO  s   f  @@r   test_class_hierarchy!TestIOCTypes.test_class_hierarchy{  s    	4
	6 hhKK##&&&&&&&&KK& JJ! LL%%"
	$ <<7"kk"3>>266s7L7LM	"r!   c           
        V P                   pV P                   Uu/ uF  q"R bK  	  ppRW1P                  &   VP                  4        F  w  rEV P	                  WER7      ;_uu_ 4        VP
                   R2pV3pV'       d   \        Wg/ 4      pM5Rp	V P                  \        V	4      ;_uu_ 4        \        Wg/ 4      pRRR4       RRR4       K  	  R# u upi   + '       g   i     L#; i  + '       g   i     K  ; i)TF)r?  is_basetype	_subclassznot an acceptable base typeN)	r1  r:  r6  rJ  r  r%   typer  r(  )
r?   r1  rM  datasetr?  rV  r  basesr  msgs
   &         r   test_subclassingTestIOCTypes.test_subclassing  s    hh$(JJ/Jqd7J/&+""#&}}OB==++i0T"-A7C//	3?? b1 @ >=  / 0 @? >==s*   C%AC(-C:C(C% C((C9c                ^    V P                   p\        P                  ! WP                  4       R # rR   )r1  r   check_disallow_instantiationr6  r<  s   & r   test_disallow_instantiation(TestIOCTypes.test_disallow_instantiation  s    hh,,T3E3EFr!   c                   V P                   P                  4       pV P                  \        R 4      ;_uu_ 4        VP	                  ^R^ / 34       RRR4       VP	                  RR^ / 34       V P                  VP                  4       R4       VP	                  RR^ / 34       V P                  VP                  4       R4       R#   + '       g   i     L|; i)z*initial_value must be str or None, not intr  N)r1  r  r  r(  __setstate__r%  r  )r?   r   s   & r   test_stringio_setstate#TestIOCTypes.test_stringio_setstate  s    hh!##8
 
 aQ^,	
 	$Ar*+,"b!R),
 
s   CC	)r1  r:  N)r%   r&   r'   r(   r  rB  rS  r\  r`  rd  r)   rC   rD   s   @r   r/  r/  ]  s*     ,#%#N2 G- -r!   r/  c                       ] tR tRtRtR# )PyIOTesti  r#   Nr$   r#   r!   r   rg  rg    r|   r!   rg  c                   ,   a  ] tR tRt o R tR tRtV tR# )APIMismatchTesti  c                    \         P                  ! \        P                  \        P                  RR7      pV P                  V\        4       RR7       R# )__weakref__)r  z6Python RawIOBase does not have all C RawIOBase methodsr[  N)rk  r)   )r   detect_api_mismatchr   r  r   r%  r   r?   mismatchs   & r   test_RawIOBase_io_in_pyio_match/APIMismatchTest.test_RawIOBase_io_in_pyio_match  s:    ..t~~r||6^`35.fgr!   c                    \         P                  ! \        P                  \        P                  4      pV P                  V\        4       R R7       R# )z6C RawIOBase does not have all Python RawIOBase methodsrl  N)r   rm  r   r  r   r%  r   rn  s   & r   test_RawIOBase_pyio_in_io_match/APIMismatchTest.test_RawIOBase_pyio_in_io_match  s4    ..r||T^^L35.fgr!   r#   N)r%   r&   r'   r(   rp  rs  r)   rC   rD   s   @r   ri  ri    s     hh hr!   ri  c                   z   a  ] tR tRt o 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V tR# )CommonBufferedTestsi  c                    V P                  4       pV P                  V4      pV P                  VP                  4       V4       V P	                  \
        VP                  4       \        V4       R # rR   )r   r?  assertIsdetachr'  r  reprr?   rC  rr   s   &  r   test_detachCommonBufferedTests.test_detach  sJ    nnggclcjjlC(*cjj1S	r!   c                    V P                  4       pV P                  V4      pV P                  ^*VP                  4       4       R# )r]   N)r   r?  r%  r^   r?   rw  bufios   &  r   test_filenoCommonBufferedTests.test_fileno  s1     U\\^,r!   c                    V P                  4       pV P                  V4      pV P                  \        VP                  ^ R4       V P                  \        VP                  ^ ^	4       R# r   Nr  )r   r?  r'  r  rj   r  s   &  r   test_invalid_args%CommonBufferedTests.test_invalid_args  sK     *ejj!R8*ejj!Q7r!   c                   a V P                   p. o ! V3R  lRV4      pV P                  4       pV! V4      p?\        P                  ! 4        V P	                  S. RO4       R# )c                   R   <a a ] tR tRt oV V3R ltV V3R ltV V3R ltRtVtV ;t	# )BCommonBufferedTests.test_override_destructor.<locals>.MyBufferedIOi  c                r   < SP                  ^4        \        SV `  pV! 4        R#   \         d     R# i ; ir<   r  r  s   & r   r  JCommonBufferedTests.test_override_destructor.<locals>.MyBufferedIO.__del__  r  r  c                F   < SP                  ^4       \        SV `	  4        R# r  r  r  s   &r   r   HCommonBufferedTests.test_override_destructor.<locals>.MyBufferedIO.close  r  r!   c                F   < SP                  ^4       \        SV `	  4        R# r  r  r  s   &r   r   HCommonBufferedTests.test_override_destructor.<locals>.MyBufferedIO.flush  r  r!   r#   r  r  s   @@r   MyBufferedIOr    r  r!   r  Nr  )r?  r   r   r  r%  )r?   r?  r  rw  r  r  s   &    @r   test_override_destructor,CommonBufferedTests.test_override_destructor  sT    WW	 2 	   U#+r!   c                   a V P                  4       pV P                  V4      oV3R  lpV! 4        V P                  \        V4       R# )c                  X   < S ;_uu_ 4         R R R 4       R #   + '       g   i     R # ; irR   r#   r  s   r   _with7CommonBufferedTests.test_context_manager.<locals>._with  s     s   )	N)r   r?  r'  r  )r?   rw  r  r  s   &  @r   test_context_manager(CommonBufferedTests.test_context_manager  s:     	 	 	*e,r!   c           	        V P                  4       p\        P                  ! 4       ;_uu_ 4       pV P                  \        4      ;_uu_ 4        V P                  V4      P                   R R R 4       V P                  VP                  P                  \        4       R R R 4       R #   + '       g   i     LD; i  + '       g   i     R # ; irR   )r   r   catch_unraisable_exceptionr'  r  r?  xyzzyr%  
unraisabler  r   r?   rw  r  s   &  r   test_error_through_destructor1CommonBufferedTests.test_error_through_destructor  s     ##%//11R"">22$$ 3 R]]33W=	 2122 211s#   B7B$	(2B7$B4/B77C	c                   V P                  4       pV P                  V4      pR V P                  P                  : RV P                  P                  : 2pV P	                  \        V4      RV,          4       RVn        V P	                  \        V4      RV,          4       RVn        V P	                  \        V4      RV,          4       R# )(z\.)?z<%s>dummyz<%s name='dummy'>   dummyz<%s name=b'dummy'>N)r   r?  r&   r'   assertRegexrz  r  )r?   rC  r,   clsnames   &   r   	test_reprCommonBufferedTests.test_repr  s    nnGGCL"&''"4"4dgg6J6JKa&7"23a"5"?@a"6"@Ar!   c                   V P                  4       pV P                  V4      p\        P                  ! VR V4      ;_uu_ 4        \        P                  ! ^4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \        V4       RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)r  N)r   r?  r   	swap_attrinfinite_recursionr'  RuntimeErrorrz  r?   rC  r,   s   &  r   test_recursive_repr'CommonBufferedTests.test_recursive_repr(  s    nnGGCLsFA..0J0J20N0N""<00Q 1 1O..00 1O0N...s<   C!B8	?B%B8	C%B50B8	8CCC	c                  aaa V P                  4       o. oVVV3R  lpVSn        V P                  S4      oV P                  \        SP
                  4       V P                  SP                  4       V P                  SP                  4       V P                  S4       V P                  S^ ,          4       V P                  S^,          4       R Sn        R# )c                  N   < S P                   SP                   .SR &   \        4       hrY  r   )r,   r   rC  s   r   rZ  @CommonBufferedTests.test_flush_error_on_close.<locals>.bad_flush5  s     3::.F1I)Or!   c                      R # rR   r#   r#   r!   r   r]  ?CommonBufferedTests.test_flush_error_on_close.<locals>.<lambda>@      Dr!   N)	r   r   r?  r'  r   r   r`  r   ra  )r?   rZ  r,   r   rC  s   & @@@r   ri  -CommonBufferedTests.test_flush_error_on_close0  s     nn	 	GGCL'177+!

### 	r!   c                T   V P                  4       pR  pR pW1n        V P                  V4      pW$n        V P	                  \
        4      ;_uu_ 4       pVP                  4        RRR4       V P                  XP                  P                  R4       V P                  VP                  P                  \
        4       V P                  VP                  P                  P                  R4       V P                  VP                  4       R Vn        R Vn        R#   + '       g   i     L; i)c                      \        R 4      hr   r   r#   r!   r   rZ  @CommonBufferedTests.test_close_error_on_close.<locals>.bad_flushD      '""r!   c                      \        R 4      hr   r   r#   r!   r   	bad_close@CommonBufferedTests.test_close_error_on_close.<locals>.bad_closeF  r  r!   Nc                      R # rR   r#   r#   r!   r   r]  ?CommonBufferedTests.test_close_error_on_close.<locals>.<lambda>S  r  r!   c                      R # rR   r#   r#   r!   r   r]  r  T  r_  r!   r  r  )r   r   r?  r   r'  r   r%  r  r   assertIsInstance__context__ra  r   r?   rC  rZ  r  r,   errs   &     r   test_close_error_on_close-CommonBufferedTests.test_close_error_on_closeB  s    nn	#	#	GGCLw''3GGI (++Z8cmm77A2277D" !	 ('s   DD'	c                P   V P                  4       pR  pR pW1n        V P                  V4      pW$n        V P	                  \
        4      ;_uu_ 4       pVP                  4        RRR4       V P                  R\        XP                  4      4       V P                  VP                  P                  \
        4       V P                  R\        VP                  P                  4      4       V P                  VP                  4       R Vn        R Vn        R#   + '       g   i     L; i)c                      \         hrR   non_existing_flushr#   r!   r   rZ  NCommonBufferedTests.test_nonnormalized_close_error_on_close.<locals>.bad_flushY      $$r!   c                      \         hrR   non_existing_closer#   r!   r   r  NCommonBufferedTests.test_nonnormalized_close_error_on_close.<locals>.bad_close[  r  r!   Nr  r  c                      R # rR   r#   r#   r!   r   r]  MCommonBufferedTests.test_nonnormalized_close_error_on_close.<locals>.<lambda>h  r_  r!   c                      R # rR   r#   r#   r!   r   r]  r  i  r  r!   )r   r   r?  r   r'  	NameErrorassertInr  r  r  r  ra  r   r  s   &     r   'test_nonnormalized_close_error_on_close;CommonBufferedTests.test_nonnormalized_close_error_on_closeV  s    nn	%	%	GGCLy))SGGI **C,>?cmm77C*C0I0I,JK"  	 *)s   DD%	c                    V P                  4       pV P                  V4      pVP                  4        VP                  4        VP                  4        V P                  \        VP
                  4       R # rR   )r   r?  r   r'  r  r   r  s   &  r   rl  $CommonBufferedTests.test_multi_closek  sJ    nnGGCL						*agg.r!   c                    V P                  V P                  R4      4      pV P                  V P                  VP                  4       V P                  V P                  VP
                  ^ 4       R#    AN
   AAAAAAAAAA)r?  r   r'  r   rn   rj   r?   r  s   & r   test_unseekable#CommonBufferedTests.test_unseekables  sQ    --i89$33UZZ@$33UZZCr!   c                    V P                  4       pV P                  V4      pV P                  4       pV P                  \        4      ;_uu_ 4        W2n        R R R 4       R #   + '       g   i     R # ; irR   )r   r?  r'  r  rC  )r?   rC  rr   r	  s   &   r   test_readonly_attributes,CommonBufferedTests.test_readonly_attributesx  sL    nnggclNN~..G /...s   A  A1	c                  a   ! V 3R  lRS P                   4      sS P                  R4      p\        VRR7      p\        \        P
                  ^,           4       F  pS P                  VR7      ;_uu_ 4        \        P                  ! W#4      p\        P                  ! V4      pS P                  VP                  P                  4       R4       S P                  VP                  R4       RRR4       K  	  @R#   + '       g   i     K  ; i)c                   F   <a a ] tR tRt oV 3R ltR tV3R ltRtVtV ;t	# )r  i  c                2   < \         SV `  V4       W n        R # rR   r   rO   tagr?   rC  r  r   s   &&&r   rO   MyBufferedIO.__init__       %r!   c                N    V P                   V P                  P                  4       3# rR   )r  rC  r  r>   s   &r   __getstate__MyBufferedIO.__getstate__  s    xx!2!2!444r!   c                R   < Vw  r#V P                  SP                  V4      V4       R # rR   rO   ro  slfstater  r  r?   s   &&  r   rc  MyBufferedIO.__setstate__  !    "
T\\%0#6r!   r  
r%   r&   r'   r(   rO   r  rc  r)   rC   r   r   rE   r?   s   @@r   r  r    s     57 7r!   r     datahamr  protocolN)r?  r  ro  r.  pickleHIGHEST_PROTOCOLr  dumpsloadsr%  rC  r  r  )r?   rC  rr   protopicklednewbufs   f     r   test_pickling_subclass*CommonBufferedTests.test_pickling_subclass  s    	7477 	7 ll7#3E*622Q67Eu-- ,,s2g.  !4!4!6@  U3	 .- 8  .--s   5A3C77Dr#   N)r%   r&   r'   r(   r|  r  r  r  r  r  r  r  ri  r  r  rl  r  r  r  r)   rC   rD   s   @r   rv  rv    sW     -8,0
->B!$(!*/D
 r!   rv  c                   h   a  ] tR tRt o ]P
                  R 4       t]P
                  R 4       tRtV t	R# )
SizeofTesti  c                (   R pRpV P                  4       pV P                  W1R7      p\        P                  ! V4      V,
          pV P                  4       pV P                  W2R7      pV P	                  \        P                  ! V4      WR,           4       R# )       buffer_sizeN)r   r?  r  	getsizeofr%  )r?   bufsize1bufsize2rw  r  r  s   &     r   test_sizeofSizeofTest.test_sizeof  sr     4}}U#h. 4u-t?r!   c                    R pV P                  4       pV P                  W!R7      p\        P                  ! V4      V,
          pVP	                  4        V P                  \        P                  ! V4      V4       R# )r  r  N)r   r?  r  r  r   r%  )r?   r  rw  r  r  s   &    r   test_buffer_freeingSizeofTest.test_buffer_freeing  sX     3}}U#g-u-t4r!   r#   N)
r%   r&   r'   r(   r   r  r  r  r)   rC   rD   s   @r   r	  r	    s9     @ @ 5 5r!   r	  c                      a  ] tR tRt o 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]P(                  ! 4       ]P,                  ! R4      R 4       4       tR tR tR tR tR tR tR tRtV t R# )BufferedReaderTesti  rB  c                R   V P                  R .4      pV P                  V4      pVP                  V4       VP                  VRR7       VP                  V^R7       V P                  R VP	                  4       4       V P                  \        VP                  V^ R7       V P                  \        VP                  VRR7       V P                  \        VP                  VRR7       V P                  R .4      pVP                  V4       V P                  R VP	                  4       4       R# )ro     r  Nr  )r   r?  rO   r%  r   r'  r  r  s   &  r   test_constructor#BufferedReaderTest.test_constructor  s    x(uu$/u"-.*enneK*enneM*enneLx(u.r!   c                l   V P                   P                  V P                   4      p?V P                   P                  V P                   4      pV P                  \        \        3R VP
                  ^ 4       VP                  V P                  4       4       V P                  VP                  ^ 4      R4       R# uninitialized|has no attributer!   N)	r?  __new__r  r  r  r   rO   r   r%  r  s   & r   test_uninitialized%BufferedReaderTest.test_uninitialized  s    ((
N;?$zz1	. 	t~~'(A,r!   c                    R FF  pV P                  R4      pV P                  V4      pV P                  RVP                  V4      4       KH  	  V P	                  \
        XP                  R4       R # )Nr  )Nr  r  r  )r   r?  r%  r   r'  r  )r?   argrw  r  s   &   r   	test_readBufferedReaderTest.test_read  sX    CNN#9:EGGENEZC9 
 	*ejj"5r!   c                0   V P                  R4      pV P                  V4      pV P                  RVP                  ^4      4       V P                  RVP	                  ^4      4       V P                  VP
                  ^4       V P                  RVP	                  ^ 4      4       V P                  RVP	                  ^d4      4       V P                  VP
                  ^4       V P                  RVP	                  ^d4      4       V P                  VP
                  ^4       V P                  RVP	                  ^d4      4       V P                  VP
                  ^4       V P                  RVP	                  ^d4      4       V P                  VP
                  ^4       R# )	ro  rp  ru     a   br!   rr  Nr  r   r?  r%  r   r  rL   r  s   &  r   
test_read1BufferedReaderTest.test_read1  s.   56uzz!}-u{{1~.q)ekk!n-u{{3/0q)u{{3/0q)S!12q)ekk#./q)r!   c                   V P                  R4      pV P                  V4      pV P                  RVP                  ^4      4       V P                  RVP	                  4       4       V P                  RVP	                  4       4       V P                  RVP	                  R4      4       V P                  VP
                  ^4       V P                  RVP	                  4       4       V P                  VP
                  ^4       R# )	ro  rp  ru  r)  s   bcr!   Nr  r  r+  r  s   &  r   test_read1_arbitrary'BufferedReaderTest.test_read1_arbitrary  s    56uzz!}-.u{{}-R1q)ekkm,q)r!   c                n   V P                  R4      pV P                  V4      p\        ^4      pV P                  VP	                  V4      ^4       V P                  VR4       V P                  VP	                  V4      ^4       V P                  VR4       V P                  VP	                  V4      ^4       V P                  VR4       V P                  VP	                  V4      ^4       V P                  VR4       V P                  VP	                  V4      ^ 4       V P                  VR4       V P                  R4      pV P                  V4      pV P                  VP	                  V4      ^4       V P                  VR4       V P                  VP	                  V4      ^4       V P                  VR4       R# )	ro  rq     cdrs  s   gfNs   cbr  ro  N)r   r?  r&  r%  ru   )r?   rw  r  r,   s   &   r   test_readinto BufferedReaderTest.test_readinto  sa   56aL*A.E"*A.E"*A.E"*A.E"*A.E"~.*A.E"*A.E"r!   c                   ^
pV P                  R4      pV P                  W!R7      p\        ^4      pV P                  VP	                  ^4      R4       V P                  VP
                  ^4       V P                  VP                  V4      ^4       V P                  VR4       V P                  VP
                  ^4       V P                  VP                  V4      ^4       V P                  VR,          R4       V P                  VP
                  ^4       V P                  VP                  V4      ^4       V P                  VR4       V P                  VP
                  ^4       \        ^V,          4      pV P                  VP	                  ^4      R4       V P                  VP
                  ^4       V P                  VP                  V4      ^4       V P                  VR,          R	4       V P                  VP
                  ^4       R
# )r  ro     de   fghr  rq  :Nr=   Nrr  :Nr  Ns   fghjklN)ro  r7  r8  s   jkl)r   r?  r&  r%  peekrL   r0  )r?   r  rw  r  r,   s   &    r   test_readinto1!BufferedReaderTest.test_readinto1  s   >?7aLA/q)+Q/E"q)+Q/2%q)+Q/E"q)am$A/q)+Q/2	*q)r!   c           	        ^<pRpV P                  V34      pV P                  W1R7      p\        P                  ! RR4      pVP                  V4      pV P	                  V\        V4      4       \        V4      P                  R4      pV P                  V\        V4      4       V P                  VRV VRV 4       V P                  WvR R\        WvR 4      ,          4       R# <   r  r*  r/  r   Ns   aaaaaaaaaaaaaaaaaaaaaaaaaas    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
r   r?  r-   ru   r  r   r   r   
assertLessr%  r?   r  r   rw  r  r,   rt   bms   &       r   test_readinto_array&BufferedReaderTest.test_readinto_array  s    w'7 KKY'
 NN11c!f% ]$3r7#BQbq*BRV!56r!   c           	        ^<pRpV P                  V34      pV P                  W1R7      p\        P                  ! RR4      pVP                  V4      pV P	                  V\        V4      4       \        V4      P                  R4      pV P                  V\        V4      4       V P                  VRV VRV 4       V P                  WvR R\        WvR 4      ,          4       R# r=  )
r   r?  r-   r0  r  r   r   r   r?  r%  r@  s   &       r   test_readinto1_array'BufferedReaderTest.test_readinto1_array+  s    w'7 KKY'
 OOA1c!f% ]$3r7#BQbq*BRV!56r!   c                  a  V 3R  lpS P                  V! 4       P                  4       . RO4       S P                  V! 4       P                  ^4      RR.4       S P                  V! 4       P                  R4      . RO4       R# )c                  H   < SP                  R4      p SP                  V 4      # )r  r  r-  rs  )r   r?  )rw  r?   s    r   r  0BufferedReaderTest.test_readlines.<locals>.bufioA  s     NN#<=E775>!r!   r  r-  NrI  r%  r  r  s   f r   test_readlines!BufferedReaderTest.test_readlines@  sf    	" 	**,.GH**1-&/AB**402KLr!   c           	     `   R p\        V4      p^d. ROV^ ..^d. ROV..^. RO. RO..pV F  w  rEpV P                  V4      pV P                  WtR7      p^ p	V F4  p
V P                  VP	                  V
4      WW,            4       W,          p	K6  	  V P                  VP
                  V4       K  	  R# )	   abcdefghir  N)r  r=         )r  r  r  )r=   r   rP  r   )rP  rP  r=   )r   r   r?  r%  r   r   )r?   r   dlenr  r  buf_read_sizesraw_read_sizesrw  r  r   nbytess   &          r   test_buffering!BufferedReaderTest.test_bufferingH  s    4y >T1;0:T80>;0
 8=3G^OOD)EGGEG7EC(  F!3Tcj5IJ ) U//@ 8=r!   c                n   V P                  R4      pV P                  V4      pV P                  RVP                  ^4      4       V P                  RVP                  ^4      4       V P                  RVP                  4       4       V P                  RVP	                  ^4      4       V P                  VP                  4       4       V P                  RVP                  4       4       V P                  R4      pV P                  RVP                  4       4       V P                  VP                  4       4       R# )	ro  N   abcd   es   fgr!   r)  )ro  rp  Nru  NNN)r)  NN)r   r?  r%  r   r9  rI  r  r  s   &  r   test_read_non_blocking)BufferedReaderTest.test_read_non_blocking\  s    MN%**Q-0uzz!}-

-ejjm,%**,'ejjl+12u}}/%--/*r!   c                    V P                  R4      pV P                  V4      pV P                  RVP                  R4      4       R# )ro  r  i(#  Nr  r   r?  r%  r   r  s   &  r   test_read_past_eof%BufferedReaderTest.test_read_past_eofk  s7    56UZZ%56r!   c                    V P                  R4      pV P                  V4      pV P                  RVP                  4       4       R# r  r^  r  s   &  r   test_read_all BufferedReaderTest.test_read_allq  s4    56UZZ\2r!   cpuc           	       a
aa  R p\        \        R4      4      V,          p\        P                  ! V4       \	        \        V4      4      pV P                  \        P                  R4      ;_uu_ 4       pVP                  V4       RRR4       V P                  \        P                  V P                  ^ R7      ;_uu_ 4       pV P                  V^4      o
. o. oV
VV3R lp\        ^4       Uu. uF  p\        P                  ! VR7      NK  	  pp\        P                  ! V4      ;_uu_ 4        \         P"                  ! R4       RRR4       V P%                  SRS,          4       R	P'                  S4      p\        R4       F9  p\	        \        V.4      4      p	V P)                  VP+                  V	4      V4       K;  	  RRR4       \        P,                  ! \        P                  4       R#   + '       g   i     ELp; iu upi   + '       g   i     L; i  + '       g   i     Lb; i  \        P,                  ! \        P                  4       i ; i)
  r   r?  Nr@  c                     <  \        ^^.4       F0  p SP                  V 4      pV'       g    R# SP                  V4       K2  	  R#   \         d   pSP                  T4       h Rp?ii ; ir<   )r   r   rS   	Exception)rt   r   er  errorsresultss      r   r6   *BufferedReaderTest.test_threads.<locals>.f  sZ    
!&2wA %

1A#$ %#NN1- "0 % a(s   *A A A(A##A(r]  {Gz?(the following exceptions were caught: %rr!   )rI   r.  randomshuffler   r&  r3   r   r  rU   	read_moder?  r   r_  r   r  r   r   ra  r   r%  r   r  )r?   Nlr   r6   rC  r	  threadsr*  cr  rj  rk  s   &         @@@r   test_threadsBufferedReaderTest.test_threadsw  s   $	/ AU3Z 1$ANN1il#A9++T22a
 39++T^^qIISQ @ERyIy!9++15yI%33G<<JJt$ =  >GIHHW%sAin-A$$QWWQZ3 $- J4 Y--.9 322$ J<<# JI4 Y--.sg   A/H, 4G-<H, ,H. H H.H	A:H?H, -G>	8	H, HHHH)	$H, ,&Ic                   V P                  V P                  R4      4      pV P                  V P                  VP                  4       V P                  V P                  VP
                  ^ 4       VP                  ^4       V P                  V P                  VP
                  ^ 4       V P                  V P                  VP                  4       R# r  )r?  r   r'  r   rn   rj   r   r  s   & r   r  "BufferedReaderTest.test_unseekable  s    --i89$33UZZ@$33UZZC

1$33UZZC$33UZZ@r!   c                    V P                  R4      pV P                  V4      pV P                  \        VP                  ^ 4       V P                  \        VP
                  4       R Vn        R# )ro  c                      R # rR   r#   r#   r!   r   r]  7BufferedReaderTest.test_misbehaved_io.<locals>.<lambda>      dr!   Nr  )r   r?  r'  r   rj   rn   r   r  s   &  r   test_misbehaved_io%BufferedReaderTest.test_misbehaved_io  sS    $$%;<'5::q1'5::. #r!   c           	        ^p^V^,
          W^,           V^,          3 EF  pV P                  RV,          .4      pV P                  W14      pV P                  VP                  V4      RV,          4       V P                  VP                  ^ RP                  W#P                  4      4       V P                  RV^,
          ,          R.4      pV P                  W14      pV P                  VP                  V4      RV,          4       V P                  VP                  ^ RP                  W#P                  4      4       EK  	  R# )   r/  zfailed for {}: {} != 0N)r   r?  r%  r   rM   rP  )r?   r  rt   rw  r  s   &    r   test_no_extraneous_read*BufferedReaderTest.test_no_extraneous_read  s    Wq['Q;!DANND1H:.EGGE+EUZZ]D1H5U44a5<<Q@W@WXZ NNDAEND#9:EGGE+EUZZ]D1H5U44a5<<Q@W@WXZ Er!   c                   V P                  V P                  R 4      4      pVP                  ^4       VP                  4        V P	                  R4      ;_uu_ 4        V P                  \        VP                  4       RRR4       V P	                  R4      ;_uu_ 4        V P                  \        VP                  ^4       RRR4       V P	                  R4      ;_uu_ 4        V P                  \        VP                  4       RRR4       V P	                  R4      ;_uu_ 4        V P                  \        VP                  \        4       4       RRR4       V P	                  R4      ;_uu_ 4        V P                  \        VP                  \        4       4       RRR4       V P	                  R4      ;_uu_ 4        V P                  \        VP                  4       RRR4       V P	                  R4      ;_uu_ 4        V P                  \        VP                  4       RRR4       V P	                  R	4      ;_uu_ 4        V P                  \        VP                  ^ 4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELa; i  + '       g   i     EL*; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)
   12r9  Nr  r   ru   r0  r   rx   rj   )re  ro  r   r   r  r'  r  r9  r  ru   r&  r0  r   rx   rj   rT   s   & r   test_read_on_closed&BufferedReaderTest.test_read_on_closed  s   U 34	q			\\&!!j!&&1 "\\'""j!''15 #\\&!!j!&&1 "\\*%%j!**ikB &\\+&&j!++y{C '\\'""j!''2 #\\*%%j!**5 &\\&!!j!&&!4 "! "!!"""!!!%%%&&&""%%!!!s`   !I("I< !J"*J$-*J88!K:!K<"K2(I9	<J	J!	$J5	8K		K	K/	2L	c                "   V P                  R 4      pV P                  V4      pV P                  VP                  4       4       V P	                  V P
                  VP                  4       V P	                  V P
                  VP                  ^ 4       R# r3  )r   r?  ra  rY   r'  r   rx   r  s   &  r   test_truncate_on_read_only-BufferedReaderTest.test_truncate_on_read_only  sh    ')*$33U^^D$33U^^QGr!   c                   V P                  R 4      pV P                  V4      pV P                  VP                  4       ^ 4       V P                  VP	                  ^4      R4       V P                  VP                  4       ^ 4       R# r     1N)r   r?  r%  rn   r   r{  s   &  r   test_tell_character_device_file2BufferedReaderTest.test_tell_character_device_file  se     **51ggclQ'!d+Q'r!   c                L   V P                  R 4      pV P                  V4      pV P                  VP                  ^ \        P
                  4      ^ 4       V P                  VP                  ^\        P                  4      ^ 4       V P                  VP                  ^ \        P
                  4      ^ 4       V P                  VP                  ^4      R4       V P                  VP                  4       ^ 4       V P                  VP                  ^ \        P
                  4      ^ 4       R# r  )	r   r?  r%  rj   r   rF  SEEK_SETr   rn   r{  s   &  r   test_seek_character_device_file2BufferedReaderTest.test_seek_character_device_file  s    **51ggcl!R[[115!R[[115!R[[115!d+
 	Q'!R[[115r!   r#   N)!r%   r&   r'   r(   rr  r  r"  r&  r,  r/  r4  r:  rB  rE  rL  rV  r[  r_  rb  r   r#  r   requires_resourcerw  r  r  r  r  r  r  r  r)   rC   rD   s   @r   r  r    s     I/-6* 	*#**.7*7*MA(+73 002u%%/ & 3%/NA#Z(5,H(6 6r!   r  c                   \   a  ] tR tRt o ]P
                  tR tR tR t	R t
R tR tRtV tR	# )
CBufferedReaderTesti  c                   V P                  R .4      pV P                  V4      pV P                  \        VP                  V^ R7       V P                  \        VP
                  4       V P                  \        VP                  VRR7       V P                  \        VP
                  4       V P                  \        VP                  VRR7       V P                  \        VP
                  4       R# )ro  r  Nr  r  )r   r?  r'  r  rO   r   r  s   &  r   test_initialization'CBufferedReaderTest.test_initialization  s    x(*enneK*ejj1*enneM*ejj1*enneL*ejj1r!   c                    V P                  R4      pV P                  V4      pV P                  \        VP                  ^
4       R# )ro  Nr  )r   r?  r'  r   r   r  s   &  r   test_misbehaved_io_read+CBufferedReaderTest.test_misbehaved_io_read  s8    $$%;< 	'5::r2r!   c                   V P                  \        P                  \        P                  4       \        P
                  ! R \        34      ;_uu_ 4        V P                  \        P                  R4      pV P                  V4      pW"n	        \        P                  ! V4      p?\        P                  ! 4        RRR4       V P                  X! 4       V4       R#   + '       g   i     L); i)r  r  N)r^  r   r  r  r   r   r  rW  r?  r6   rG  rH  r   r  rI  r?   rw  r6   rJ  s   &   r   rK  +CBufferedReaderTest.test_garbage_collection  s     		(()*:*:;++R,ABBKK	 0 0%8EACQB  C 	"$# CBs   A$CC(	c                    V P                  \        R 4      ;_uu_ 4        V P                  V P                  4       RRR4       RRR4       R#   + '       g   i     R# ; i)re  r  Nr  r(  r?  ro  r>   s   &r   test_args_error#CBufferedReaderTest.test_args_error  >    ##I/?@@GGDLLND$5 A@@@   #AA	c                T   V P                  V P                  R 4      4      pR Vn        V P                  V4      pV P                  \        4      ;_uu_ 4       pVP                  4        RRR4       V P                  XP                  P                  4       R#   + '       g   i     L7; i)r  c                     R# r  r#   rr   s   &r   r]  =CBufferedReaderTest.test_bad_readinto_value.<locals>.<lambda>#  s    Rr!   N)	r?  ro  ru   r'  r   rD  rI  r  	__cause__r?   rw  r  r  s   &   r   test_bad_readinto_value+CBufferedReaderTest.test_bad_readinto_value!  sp    U+,'w''2NN (",,001 ('s   BB'	c                ^   V P                  V P                  R 4      4      pR Vn        V P                  V4      pV P                  \        4      ;_uu_ 4       pVP                  4        RRR4       V P                  XP                  P                  \        4       R#   + '       g   i     L<; i)r  c                     R # r!   r#   r  s   &r   r]  <CBufferedReaderTest.test_bad_readinto_type.<locals>.<lambda>+  s    Sr!   N)
r?  ro  ru   r'  r   rD  r  r  r  r(  r  s   &   r   test_bad_readinto_type*CBufferedReaderTest.test_bad_readinto_type)  sr    U+,(w''2NN (bll44i@ ('s   BB,	r#   N)r%   r&   r'   r(   r   re  r?  r  r  rK  r  r  r  r)   rC   rD   s   @r   r  r    s5     			B23$6
2A Ar!   r  c                   .    ] tR tRt]P
                  tRtR# )PyBufferedReaderTesti2  r#   N)r%   r&   r'   r(   r   re  r?  r)   r#   r!   r   r  r  2      			Br!   r  c                   .  a  ] tR tRt o 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]P2                  ! 4       ]P6                  ! R4      R 4       4       tR tR tR t]P2                  ! 4       R 4       t Rt!V t"R# )BufferedWriterTesti6  r?  c                   V P                  4       pV P                  V4      pVP                  V4       VP                  VR R7       VP                  V^R7       V P                  ^VP	                  R4      4       VP                  4        V P                  \        VP                  V^ R7       V P                  \        VP                  VRR7       V P                  \        VP                  VRR7       VP                  V4       V P                  ^VP	                  R4      4       VP                  4        V P                  RP                  VP                  4      R4       R# )	r  r  ro     ghir!   s   abcghiNr  r  )
r   r?  rO   r%  rU   r   r'  r  r   rK   r  s   &  r   r  #BufferedWriterTest.test_constructor9  s    uu$/u"-EKK/0*enneK*enneM*enneLuEKK/0%"4"45yAr!   c                l   V P                   P                  V P                   4      p?V P                   P                  V P                   4      pV P                  \        \        3R VP
                  R4       VP                  V P                  4       4       V P                  VP                  R4      ^ 4       R# r  )	r?  r!  r  r  r  rU   rO   r   r%  r  s   & r   r"  %BufferedWriterTest.test_uninitializedI  s    ((
N;?${{C	1 	t~~'(S)1-r!   c                    V P                  4       pV P                  V4      pVP                  R 4       V P                  VP                  4       VP                  4        V P                  VP                  R .4       R# )s   howdy!N)r   r?  rU   ra  rK   ry  r%  r{  s   &  r   test_detach_flush$BufferedWriterTest.test_detach_flushS  s\    nnggcl		)))*

))I;7r!   c                Z   V P                  4       pV P                  V^4      pVP                  R4       V P                  VP                  4       \        R4      pVP                  V4       RVR&   VP                  4        V P                  RP                  VP                  4      R4       R# )rQ  ro     def   ***r   r!      abcdefN)	r   r?  rU   ra  rK   r&  r   r%  r   )r?   r  r  r)  s   &   r   
test_writeBufferedWriterTest.test_write[  s    !"F,,-6"Fq	&"5"56	Br!   c                   V P                  4       pV P                  V^4      pRp\        ^ \        V4      ^4       F  pVP	                  W4V^,            4       K  	  RP                  VP                  4      pV P                  WSRR 4       R# )rQ  s   abcdefghijklmnopr!   Ni)r   r?  r.  r   rU   r   rK   assertStartsWith)r?   r  r  contentsrt   flusheds   &     r   test_write_overflow&BufferedWriterTest.test_write_overflowg  sx    !"&q#h-+AKK1Q3( ,((6../ 	g}5r!   c                   \        \        R 4      4      R,          p^ pV P                  4       pV P                  V^4      pR pV! 4       pV\	        V4      8  da   \        \        V4      \	        V4      V,
          4      pV P                  VP                  W#W8,            4      V4       V! V4       W8,          pKp  VP                  4        V P                  VRP                  VP                  4      4       R# )r   rf  c               3   ^   "   \        ^4       F  p \        ^4       F  pV x  K	  	  K  	  R# 5ir<   )r   r.  )r  r*  s     r   	gen_sizes2BufferedWriterTest.check_writes.<locals>.gen_sizesy  s&     arAJ # !s   +-r!   N)r   r.  r   r?  r   r  r  r%  rU   r   r   rK   )	r?   intermediate_funcr  rt   r  r  r  sizesr  s	   &&       r   check_writesBufferedWriterTest.check_writesr  s    s$t+!#	 #h-tE{CMA$56DU[[AF);<dCe$IA388F,?,?#@Ar!   c                *    V P                  R  4       R# )c                     R # rR   r#   r  s   &r   r]  0BufferedWriterTest.test_writes.<locals>.<lambda>  s    r!   Nr  r>   s   &r   test_writesBufferedWriterTest.test_writes  s    ,-r!   c                *    V P                  R  4       R# )c                 "    V P                  4       # rR   r  r  s   &r   r]  <BufferedWriterTest.test_writes_and_flushes.<locals>.<lambda>  s
    r!   Nr  r>   s   &r   test_writes_and_flushes*BufferedWriterTest.test_writes_and_flushes  s    56r!   c                V    R  pV P                  V4       R pV P                  V4       R# )c                     V P                  4       pV P                  V^,           ^ 4       V P                  V^,
          ^ 4       V P                  V^ 4       R# r<   )rn   rj   r  r   s   & r   _seekabs:BufferedWriterTest.test_writes_and_seeks.<locals>._seekabs  s?    **,CJJsQw"JJsQw"JJsAr!   c                     V P                  ^ ^4      pV P                  ^^4       V P                  R^4       V P                  V^ 4       R# r  )rj   r  s   & r   _seekrel:BufferedWriterTest.test_writes_and_seeks.<locals>._seekrel  s<    **Q"CJJr1JJr1JJsAr!   Nr  )r?   r  r  s   &  r   test_writes_and_seeks(BufferedWriterTest.test_writes_and_seeks  s,    	
 	(#	
 	(#r!   c                *    V P                  R  4       R# )c                 @    V P                  V P                  4       4      # rR   )rx   rn   r  s   &r   r]  >BufferedWriterTest.test_writes_and_truncates.<locals>.<lambda>  s    uzz|(Dr!   Nr  r>   s   &r   test_writes_and_truncates,BufferedWriterTest.test_writes_and_truncates  s    DEr!   c                   V P                  4       pV P                  V^4      pV P                  VP                  R4      ^4       V P                  VP                  R4      ^4       VP	                  R4       V P                  VP                  R4      ^4       VP	                  R4        VP                  R4       V P                  R4       V P                  X^4       V P                  VP                  4       R	4       V P                  VP                  R
4      ^	4       VP                  4       pV P                  VR4       R#   T P                   d   pTP                  p Rp?LRp?ii ; i)rQ  rY  s   efghi   ks   jklmn   0s   opqrwxyz0123456789z'BlockingIOError should have been raisedNs   abcdefghijklmnopqrwxyzs	   ABCDEFGHIs	   01234567A)
r   r?  r%  rU   r  r  r  characters_writtenr   r  )r?   rC  r  ri  writtenr   s   &     r   test_write_non_blocking*BufferedWriterTest.test_write_non_blocking  s*   '')QW-q1X.2TX.2 	T	AKK-. II?@"%*%	' 	\2A6OOa. ## 	+**G	+s   )E E)E$$E)c                8   V P                  4       pV P                  V^4      pV P                  VP                  R4      ^4       V P                  VP	                  4       ^4       VP                  ^ ^ 4       V P                  VP                  R4      ^4       VP                  ^^ 4       V P                  VP                  4       R4       V P                  VP                  R4      ^4       VP                  4        V P                  VP                  4       R4       R# )rP  r  s   XYs   XYcdefs   123456s   XYcdef123456N)ro  r?  r%  rU   rn   rj   r  r   r?   rC  r  s   &  r   test_write_and_rewind(BufferedWriterTest.test_write_and_rewind  s    llnQY/3q)

1aU+Q/

1a3Y/39r!   c                    V P                  4       pV P                  V^4      pVP                  R4       VP                  4        V P	                  RVP
                  ^ ,          4       R# rQ  ro  N)r   r?  rU   r   r%  rK   r?   r  r  s   &  r   
test_flushBufferedWriterTest.test_flush  sN    !"F!4!4Q!78r!   c                    . ROpV P                  4       pV P                  V^4      pVP                  V4       VP                  4        V P	                  RP                  VP                  4      R4       R# rq  r!   r  N)rq  r2  rs  )r   r?  rE  r   r%  r   rK   r?   rt  r  r  s   &   r   test_writelines"BufferedWriterTest.test_writelines  sY    !!"&"5"56	Br!   c                    \        . RO4      pV P                  4       pV P                  V^4      pVP                  V4       VP	                  4        V P                  RP                  VP                  4      R4       R# r  )r   r   r?  rE  r   r%  r   rK   r  s   &   r   test_writelines_userlist+BufferedWriterTest.test_writelines_userlist  s_    *+!"&"5"56	Br!   c                   V P                  4       pV P                  V^4      pV P                  \        VP                  . RO4       V P                  \        VP                  R4       V P                  \        VP                  R4       R# )rQ  Nabcr  )r   r?  r'  r(  rE  r  s   &  r   test_writelines_error(BufferedWriterTest.test_writelines_error  sf    !")U%5%5yA)U%5%5t<)U%5%5u=r!   c                    V P                  4       pV P                  V^4      pVP                  R4       ?\        P                  ! 4        V P                  RVP                  ^ ,          4       R# r  )r   r?  rU   r   r  r%  rK   r  s   &  r   r  "BufferedWriterTest.test_destructor  sT    !"F!4!4Q!78r!   c                   V P                  \        P                  \        P                  4       V P	                  \        P                  V P
                  ^ R7      ;_uu_ 4       pV P                  V^4      pVP                  R4       V P                  VP                  ^4      ^4       V P                  VP                  4       ^4       RRR4       V P	                  \        P                  R^ R7      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     Le; i  + '       g   i     R# ; i)r   r@  r  NrB  ro  )r^  r   r  r  r3   
write_moder?  rU   r%  rx   rn   r   )r?   rC  r  r6   s   &   r   test_truncate BufferedWriterTest.test_truncate  s    	(()*:*:;YYy''AYFF#GGCOEKK	"U^^A.2UZZ\1-	 G
 YYy''Y;;qQVVXv. <; GF
 <;;s   #A%D%:!D8%D5	8E		c                   V P                  \        P                  \        P                  4       V P	                  \        P                  R 4      ;_uu_ 4       pVP                  RR,          4       RRR4       . ROpV F  pV P	                  \        P                  RVR7      ;_uu_ 4       pVP                  RV^,           ,          4       VP                  ^4       VP                  4        V P                  VP                  4       V^,           4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)r?      i'  Nzr+br@  )r  r     )
r^  r   r  r  r3   rU   r   rx   r%  rn   )r?   r6   buffer_sizesr  s   &   r   test_truncate_after_write,BufferedWriterTest.test_truncate_after_write  s     		(()*:*:;YYy''..!GGGeO$ / )'K9++UkJJa;?34q	

  ;?; KJ (	 /.
 KJJs   D!+A(D4!D1	4Erd  c           	       aaa  R p\        \        R4      4      V,          p\        ^^.4      p^ p\        4       oV\	        V4      8  d/   \        V4      pSP                  W$WE,            4       WE,          pK>  ?V P                  \        P                  V P                  ^ R7      ;_uu_ 4       pV P                  V^4      o. oVVV3R lp\        ^4       Uu. uF  p\        P                  ! VR7      NK  	  p	p\        P                  ! V	4      ;_uu_ 4        \         P"                  ! R4       RRR4       V P%                  SRS,          4       SP'                  4        RRR4       V P                  \        P                  R4      ;_uu_ 4       pVP)                  4       p
RRR4       \        R4       F.  pV P+                  X
P-                  \        V.4      4      V4       K0  	  \        P.                  ! \        P                  4       R# u upi   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  \        P.                  ! \        P                  4       i ; i)	rf  r   r@  c                     <    SP                  4       p SP                  T 4       K%    \         d     R# i ; i  \         d   pSP	                  T4       h Rp?ii ; i)TN)popleftrq   rU   rh  rS   )r   ri  r  rj  queues     r   r6   *BufferedWriterTest.test_threads.<locals>.f   s\    	"'$)MMO "KKN $. ' &' % a(s-   : ( : 7: 7: AAArm  rn  Nro  rB  )r   r.  r   r   r   r  rS   r3   r   r  r  r?  r   r_  r   r  r   r   ra  r   r   r%  r   r  )r?   rs  r  r  rt   r  rC  r6   r	  ru  r   r*  r  rj  r  s   &           @@@r   rw  BufferedWriterTest.test_threads  s   +	/ AU3Z(1,H1b'NEAGEc(m#E{X/0	 9++T__JJcQ
 @ERyIy!9++15yI%33G<<JJt$ =  >GI' K( 9++T22aFFH 33Z  s!4a8   Y--. J<< KJ( 32
 Y--.sg   B)I
 .*H$ H8 H$H	/1H$ 0I
 H7!AI
 H$H!H$$H4	/I
 7I	I
 
&I0c                   V P                  4       pV P                  V^4      pV P                  \        VP                  ^ 4       V P                  \        VP
                  4       V P                  \        VP                  R4       R Vn        R# )r   r  c                      R # rR   r#   r#   r!   r   r]  7BufferedWriterTest.test_misbehaved_io.<locals>.<lambda>@  r~  r!   N)r   r?  r'  r   rj   rn   rU   r   r  s   &  r   r  %BufferedWriterTest.test_misbehaved_io8  si    $$&q!'5::q1'5::.'5;;	: #r!   c                    V P                  \        4      ;_uu_ 4        V P                  V P                  4       ^^4       RRR4       R#   + '       g   i     R# ; irQ  Nr'  r(  r?  r   r>   s   &r   test_max_buffer_size_removal/BufferedWriterTest.test_max_buffer_size_removalB  s9    y))GGDNN$a, *)))s   "A

A	c                    V P                  4       pR  pW!n        V P                  V4      pVP                  R4       V P                  \        VP
                  4       V P                  VP                  4       R# )c                     \        4       hrR   r   r+   s   &r   	bad_write?BufferedWriterTest.test_write_error_on_close.<locals>.bad_writeH  s	    )Or!      spamN)r   rU   r?  r'  r   r   r`  r   )r?   rC  r)  r,   s   &   r   test_write_error_on_close,BufferedWriterTest.test_write_error_on_closeF  sU    nn		GGCL	'177+!r!   c                x   V P                  4       pV P                  V^4      p\        P                  ! VP                  R7      pVP                  4        VP                  P                  4        V P                  \        VP                  R4       V P                  VP                  4       VP                  4        R# )rQ  rm  r+  N)r   r?  r   r_  r   r`  r   r
  r'  r  rU   r`  r   r   )r?   rw  r  ts   &   r   test_slow_close_from_thread.BufferedWriterTest.test_slow_close_from_threadP  s~     ##%q!EKK0		*ekk7;%	r!   r#   N)#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  rw  r  r%  r,  r0  r)   rC   rD   s   @r   r  r  6  s     JB .8
C	6B(.7$F/6:9CC>9	/<$ 002u%,/ & 3,/\#-" 002	 3	r!   r  c                   J   a  ] tR tRt o ]P
                  tR tR tR t	Rt
V tR# )CBufferedWriterTesti^  c                   V P                  4       pV P                  V4      pV P                  \        VP                  V^ R7       V P                  \        VP
                  R4       V P                  \        VP                  VRR7       V P                  \        VP
                  R4       V P                  \        VP                  VRR7       V P                  \        VP
                  R4       R# )r   r  r  Nr  r  )r   r?  r'  r  rO   rU   r  s   &  r   r  'CBufferedWriterTest.test_initializationa  s     *enneK*ekk6:*enneM*ekk6:*enneL*ekk6:r!   c                   V P                  \        P                  \        P                  4       \        P
                  ! R \        34      ;_uu_ 4        V P                  \        P                  R4      pV P                  V4      pVP                  R4       W"n
        \        P                  ! V4      p?\        P                  ! 4        RRR4       V P                  X! 4       V4       V P!                  \        P                  R4      ;_uu_ 4       pV P#                  VP%                  4       R4       RRR4       R#   + '       g   i     Lz; i  + '       g   i     R# ; i)r  r  s   123xxxNrB  )r^  r   r  r  r   r   r  rW  r?  rU   r	  rG  rH  r   r  rI  r3   r%  r   r  s   &   r   rK  +CBufferedWriterTest.test_garbage_collectionk  s     		(()*:*:;++R,ABBKK	 0 0%8EAGGICQB  C 	"$#YYy''..!QVVXy1 /. CB /..s   A5D:!E:E
	E	c                    V P                  \        R 4      ;_uu_ 4        V P                  V P                  4       RRR4       RRR4       R#   + '       g   i     R# ; i)rj  r  Nr  r>   s   &r   r  #CBufferedWriterTest.test_args_error|  r  r  r#   N)r%   r&   r'   r(   r   rj  r?  r  rK  r  r)   rC   rD   s   @r   r3  r3  ^  s$     			B;2"6 6r!   r3  c                   .    ] tR tRt]P
                  tRtR# )PyBufferedWriterTesti  r#   N)r%   r&   r'   r(   r   rj  r?  r)   r#   r!   r   r;  r;    r  r!   r;  c                      a  ] tR tRt o 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V tR# )BufferedRWPairTesti  c                    V P                  V P                  4       V P                  4       4      pV P                  VP                  4       R # rR   )r?  r   ra  r   r?   pairs   & r   r  #BufferedRWPairTest.test_constructor  s2    wwt~~')9:%r!   c                   V P                   P                  V P                   4      p?V P                   P                  V P                   4      pV P                  \        \        3R VP
                  ^ 4       V P                  \        \        3R VP                  R4       VP                  V P                  4       V P                  4       4       V P                  VP                  ^ 4      R4       V P                  VP                  R4      ^ 4       R# r  )
r?  r!  r  r  r  r   rU   rO   r   r%  r?  s   & r   r"  %BufferedRWPairTest.test_uninitialized  s    wwtww'wwtww'
N;?#yy!	- 	
N;?#zz3	0 	dnn&(891s+C!,r!   c                    V P                  V P                  4       V P                  4       4      pV P                  V P                  VP                  4       R # rR   )r?  r   r'  r   ry  r?  s   & r   r|  BufferedRWPairTest.test_detach  s:    wwt~~')9:$33T[[Ar!   c                    V P                  \        4      ;_uu_ 4        V P                  V P                  4       V P                  4       ^^4       RRR4       R#   + '       g   i     R# ; ir#  r$  r>   s   &r   (test_constructor_max_buffer_size_removal;BufferedRWPairTest.test_constructor_max_buffer_size_removal  sB    y))GGDNN$dnn&62> *)))s   1AA*	c                     ! R  R\         4      pV P                  \        V P                  V! 4       V P                  4       4       R# )c                   &   a  ] tR tRt o R tRtV tR# )JBufferedRWPairTest.test_constructor_with_not_readable.<locals>.NotReadablei  c                    R # r   r#   r>   s   &r   ra   SBufferedRWPairTest.test_constructor_with_not_readable.<locals>.NotReadable.readable      r!   r#   Nr%   r&   r'   r(   ra   r)   rC   rD   s   @r   NotReadablerK          r!   rP  Nr   r'  r   r?  )r?   rP  s   & r   "test_constructor_with_not_readable5BufferedRWPairTest.test_constructor_with_not_readable  s1    	) 	 	'477KM4>>;KLr!   c                     ! R  R\         4      pV P                  \        V P                  V P                  4       V! 4       4       R# )c                   &   a  ] tR tRt o R tRtV tR# )LBufferedRWPairTest.test_constructor_with_not_writeable.<locals>.NotWriteablei  c                    R # r   r#   r>   s   &r   rY   UBufferedRWPairTest.test_constructor_with_not_writeable.<locals>.NotWriteable.writable  rN  r!   r#   N)r%   r&   r'   r(   rY   r)   rC   rD   s   @r   NotWriteablerW    rQ  r!   rZ  NrR  )r?   rZ  s   & r   #test_constructor_with_not_writeable6BufferedRWPairTest.test_constructor_with_not_writeable  s1    	9 	 	'477DNN,<lnMr!   c                   V P                  V P                  R 4      V P                  4       4      pV P                  VP	                  ^4      R4       V P                  VP	                  ^4      R4       V P                  VP	                  4       R4       V P                  V P                  R4      V P                  4       4      pV P                  VP	                  R4      R4       R# )r  ro  rp  rs  N)r?  ro  r   r%  r   r?  s   & r   r&  BufferedRWPairTest.test_read  s    wwt||I.0@A1v.1t,e,wwt||F+T^^-=>4&1r!   c                   a  V 3R  lpS P                  V! 4       P                  4       . RO4       S P                  V! 4       P                  4       . RO4       S P                  V! 4       P                  ^4      RR.4       R# )c                  b   < S P                  S P                  R 4      S P                  4       4      # )s	   abc
def
h)r?  ro  r   r>   s   r   r]  3BufferedRWPairTest.test_readlines.<locals>.<lambda>  s     twwt||N;T^^=MNr!   r  r  N)r  r  r#  rK  r?  s   f r   rL  !BufferedRWPairTest.test_readlines  sb    N))+-GH))+-GH))!,x.BCr!   c                    V P                  V P                  R 4      V P                  4       4      pV P                  VP	                  ^4      R4       V P                  VP	                  4       R4       R# )r  ro  r  N)r?  ro  r   r%  r  r?  s   & r   r,  BufferedRWPairTest.test_read1  sR     wwt||I.0@AA/v.r!   c           	     p   R F  pV P                  V4      ;_uu_ 4        V P                  V P                  R4      V P                  4       4      p\	        R4      pV P                  \        W!4      ! V4      ^4       V P                  \        V4      R4       RRR4       K  	  R#   + '       g   i     K  ; i)ru   r  s   abcdeNr  s        )r  r?  ro  r   r    r%  r  r   )r?   r  r@  r   s   &   r   r4   BufferedRWPairTest.test_readinto  s    /Ff%%wwt||I68HI +  !6t!<a@  th7 &% 0%%%s   A7B$$B5c                F   V P                  4       pV P                  V P                  4       V4      pVP                  R 4       VP                  4        \	        R4      pVP                  V4       RVR&   VP                  4        V P                  VP                  R R.4       R# )ro  r  r  r   N)r   r?  rU   r   r&  r%  rK   )r?   r=  r@  r)  s   &   r   r  BufferedRWPairTest.test_write  s{    NNwwt~~'+

6

6"

6q	

&&)9:r!   c                    V P                  V P                  R 4      V P                  4       4      pV P                  VP	                  ^4      R4       V P                  VP                  ^4      R4       R# )r  ro  N)r?  ro  r   r  r9  r%  r   r?  s   & r   	test_peekBufferedRWPairTest.test_peek  sR    wwt||I.0@AdiilF31v.r!   c                    V P                  V P                  4       V P                  4       4      pV P                  VP                  4       4       R # rR   )r?  r   r`  ra   r?  s   & r   test_readable BufferedRWPairTest.test_readable  2    wwt~~')9:(r!   c                    V P                  V P                  4       V P                  4       4      pV P                  VP                  4       4       R # rR   )r?  r   r`  rY   r?  s   & r   test_writeable!BufferedRWPairTest.test_writeable  ro  r!   c                    V P                  V P                  4       V P                  4       4      pV P                  VP                  4       4       R # rR   )r?  r   ra  rd   r?  s   & r   test_seekable BufferedRWPairTest.test_seekable  s6     wwt~~')9:)r!   c                    V P                  V P                  4       V P                  4       4      pV P                  VP                  4       VP	                  4        V P                  VP                  4       R # rR   )r?  r   ra  r   r   r`  r?  s   & r   test_close_and_closed(BufferedRWPairTest.test_close_and_closed  sK    wwt~~')9:%

$r!   c                   R  pV P                  4       pWn        V P                  4       pV P                  W#4      pV P                  \        4      ;_uu_ 4       pVP                  4        RRR4       V P                  R\        XP                  4      4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  4       R Vn        R#   + '       g   i     L; i)c                      \          R # rR   reader_non_existingr#   r!   r   reader_closeIBufferedRWPairTest.test_reader_close_error_on_close.<locals>.reader_close      r!   Nr|  c                      R # rR   r#   r#   r!   r   r]  EBufferedRWPairTest.test_reader_close_error_on_close.<locals>.<lambda>	  r  r!   )r   r   r?  r'  r  r  r  r  r`  r   ra  )r?   r}  r  r  r@  r  s   &     r    test_reader_close_error_on_close3BufferedRWPairTest.test_reader_close_error_on_close  s    	 !#!wwv&y))SJJL *+S-?@$'& $ *)s   C11D	c           	     L   R  pV P                  4       pV P                  4       pWn        V P                  W#4      pV P                  \        4      ;_uu_ 4       pVP                  4        RRR4       V P                  R\        XP                  4      4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  4       R Vn        Rp\        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        Rp\        P                  ! 4        RRR4       \        P                  ! 4        RRR4       R#   + '       g   i     EL; i  + '       g   i     LC; i  + '       g   i     R# ; i)c                      \          R # rR   writer_non_existingr#   r!   r   writer_closeIBufferedRWPairTest.test_writer_close_error_on_close.<locals>.writer_close
	  r  r!   Nr  c                      R # rR   r#   r#   r!   r   r]  EBufferedRWPairTest.test_writer_close_error_on_close.<locals>.<lambda>	  r  r!   )r   r   r?  r'  r  r  r  r  ra  r   r`  r   r  r  )r?   r  r  r  r@  r  s   &     r    test_writer_close_error_on_close3BufferedRWPairTest.test_writer_close_error_on_close		  s   	 !!#wwv&y))SJJL *+S-?@%&' $ //113355""$ 6   21 *)) 65 211s0   E+F,E?	F+E<	?F
FF#	c                   R  pR pV P                  4       pWn        V P                  4       pW$n        V P                  W44      pV P                  \        4      ;_uu_ 4       pVP                  4        RRR4       V P                  R\        XP                  4      4       V P                  VP                  P                  \        4       V P                  R\        VP                  P                  4      4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  4       R Vn        R Vn        R#   + '       g   i     L; i)c                      \          R # rR   r{  r#   r!   r   r}  PBufferedRWPairTest.test_reader_writer_close_error_on_close.<locals>.reader_close$	  r  r!   c                      \          R # rR   r  r#   r!   r   r  PBufferedRWPairTest.test_reader_writer_close_error_on_close.<locals>.writer_close&	  r  r!   Nr|  r  c                      R # rR   r#   r#   r!   r   r]  LBufferedRWPairTest.test_reader_writer_close_error_on_close.<locals>.<lambda>7	  r  r!   c                      R # rR   r#   r#   r!   r   r]  r  8	  r  r!   )r   r   r?  r'  r  r  r  r  r  r  ra  r   )r?   r}  r  r  r  r@  r  s   &      r   'test_reader_writer_close_error_on_close:BufferedRWPairTest.test_reader_writer_close_error_on_close#	  s    	 	 !#!#wwv&y))SJJL *+S-?@cmm77C+S1J1J-KL%'' $# *)s   !EE+	c                    ! R  R\         4      pV P                  V! R4      V! R4      4      pV P                  VP                  4       4       V P                  V! R4      V! R4      4      pV P	                  VP                  4       4       V P                  V! R4      V! R4      4      pV P	                  VP                  4       4       V P                  V! R4      V! R4      4      pV P	                  VP                  4       4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )8BufferedRWPairTest.test_isatty.<locals>.SelectableIsAttyi;	  c                <    \         P                  V 4       Wn        R # rR   )r   rO   _isatty)r?   isattys   &&r   rO   ABufferedRWPairTest.test_isatty.<locals>.SelectableIsAtty.__init__<	  s    ""4(%r!   c                    V P                   # rR   r  r>   s   &r   r  ?BufferedRWPairTest.test_isatty.<locals>.SelectableIsAtty.isatty@	  s    ||#r!   r  N)r%   r&   r'   r(   rO   r  r)   rC   rD   s   @r   SelectableIsAttyr  ;	  s     &$ $r!   r  FTN)r   r?  ra  r  r`  )r?   r  r@  s   &  r   test_isattyBufferedRWPairTest.test_isatty:	  s    	$y 	$ ww'.0@0GH'ww'-/?/FG&ww'.0@0FG&ww'-/?/EF&r!   c                    V P                  V P                  4       V P                  4       4      p\        P                  ! V4      pR pR pR # rR   )r?  r   rG  rH  )r?   brwrH  s   &  r   test_weakref_clearing(BufferedRWPairTest.test_weakref_clearingO	  s8    ggdnn&(89kk#r!   r#   N)r%   r&   r'   r(   r  r"  r|  rG  rS  r[  r&  rL  r,  r4  r  rj  rm  rq  rt  rw  r  r  r  r  r  r)   rC   rD   s   @r   r=  r=    sw     &-B?MN2D/8
;/))*%$"!4$.'* r!   r=  c                   .    ] tR tRt]P
                  tRtR# )CBufferedRWPairTestiU	  r#   N)r%   r&   r'   r(   r   rs  r?  r)   r#   r!   r   r  r  U	  s    			Br!   r  c                   .    ] tR tRt]P
                  tRtR# )PyBufferedRWPairTestiX	  r#   N)r%   r&   r'   r(   r   rs  r?  r)   r#   r!   r   r  r  X	  r  r!   r  c                      a  ] tR tRt o 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V tR# )BufferedRandomTesti\	  rb+zwb+c                Z    \         P                  V 4       \        P                  V 4       R # rR   )r  r  r  r>   s   &r   r  #BufferedRandomTest.test_constructor`	  s    ++D1++D1r!   c                Z    \         P                  V 4       \        P                  V 4       R # rR   )r  r"  r  r>   s   &r   r"  %BufferedRandomTest.test_uninitializedd	      --d3--d3r!   c                   V P                  R4      pV P                  V^4      pV P                  RVP                  ^4      4       VP	                  R4       VP	                  R4       V P                  VP                  4       V P                  RVP                  4       4       V P                  RVP                  ^ ,          4       R# )   asdf   ghjk   ass   ddds   eees   dddeeeN)r  r  )r   r?  r%  r   rU   ra  rK   r?   rC  r  s   &  r   test_read_and_write&BufferedRandomTest.test_read_and_writeh	  s    nn/0WWS!_
+

))*"''),C$4$4Q$78r!   c                   V P                  R 4      pV P                  V4      pV P                  RVP                  ^4      4       V P                  ^VP	                  4       4       VP                  ^ ^ 4       V P                  RVP                  ^4      4       VP                  R4       VP                  ^ ^ 4       V P                  RVP                  4       4       V P                  ^	VP	                  4       4       VP                  R^4       V P                  ^VP	                  4       4       VP                  ^^4       V P                  ^VP	                  4       4       V P                  RVP                  ^4      4       VP                  4        V P                  RVP                  4       4       V P                  \        VP
                  R4       R# )	s	   asdfghjklr  r  s   123fs	   asdf123fls   flr$  N)ro  r?  r%  r   rn   rj   rU   r   r  r'  r(  r  s   &  r   test_seek_and_tell%BufferedRandomTest.test_seek_and_tells	  sH   ll<(WWS\
+BGGI&
1"''!*-

1rwwy1BGGI&
ABGGI&
1BGGI&,

s||~6)RWWc2r!   c                \   V P                  R 4      pV P                  V4      pV P                  RV! V^4      4       VP                  R4       V P                  RV! V^4      4       V P                  ^VP	                  4       4       VP                  4        V P                  ^VP	                  4       4       V P                  RV! V4      4       VP                  ^ ^ 4       VP                  R4       VP                  4        VP                  ^ ^ 4       V P                  RV! V^4      4       R# )rO  rq  r  rs  r  s   XYZN)ro  r?  r%  rU   rn   r   rj   )r?   	read_funcrC  r  s   &&  r   check_flush_and_read'BufferedRandomTest.check_flush_and_read	  s    ll<(	% 34E	% 34EJJL)EJJL)5!12A		&

1a5!!45r!   c                *    V P                  R  4       R# )c                 "    V P                   ! V!  # rR   )r   )r  r   s   &*r   r]  8BufferedRandomTest.test_flush_and_read.<locals>.<lambda>	  s    uzz47Hr!   Nr  r>   s   &r   test_flush_and_read&BufferedRandomTest.test_flush_and_read	  s    !!"HIr!   c                2    RR lpV P                  V4       R# )r=   c                 h    \        V^ 8  d   TMR4      pV P                  V4      p\        VRV 4      # )r   '  N)r&  ru   r   r  rt   r,   s   && r   	_readinto=BufferedRandomTest.test_flush_and_readinto.<locals>._readinto	  s2    qAv!40Aq!A2A<r!   Nr  r  )r?   r  s   & r   test_flush_and_readinto*BufferedRandomTest.test_flush_and_readinto	  s    	  	!!),r!   c                2    RR lpV P                  V4       R# )r=   c                 v    V P                  V4      pVR8w  d   VRV pV P                  \        V4      ^4       V# r  )r9  rj   r   r  s   && r   _peek5BufferedRandomTest.test_flush_and_peek.<locals>._peek	  s:     

1ABwbqEJJs1vq!Hr!   Nr  r  r?   r  s   & r   test_flush_and_peek&BufferedRandomTest.test_flush_and_peek	  s    	 	!!%(r!   c                r   V P                  R 4      pV P                  V4      pVP                  R4       VP                  4        VP                  R4       VP                  4        VP	                  ^ ^ 4       V P                  RVP                  4       4       V P                  RVP                  4       4       R# )rO     123s   45s	   12345fghiN)ro  r?  rU   r   rj   r%  r  r   r  s   &  r   test_flush_and_write'BufferedRandomTest.test_flush_and_write	  s    ll<(FE

1as||~6uzz|4r!   c                Z    \         P                  V 4       \        P                  V 4       R # rR   )r  rw  r  r>   s   &r   rw  BufferedRandomTest.test_threads	  s    ''-''-r!   c                V    R  pV P                  V4       R pV P                  V4       R# )c                 (    V P                  ^4       R# r<   )r9  r  s   &r   r  6BufferedRandomTest.test_writes_and_peek.<locals>._peek	  s    JJqMr!   c                     V P                  4       pV P                  R^4       V P                  ^4       V P                  V^ 4       R# r  )rn   rj   r9  r  s   & r   r  r  	  s4    **,CJJr1JJqMJJsAr!   Nr  r  s   & r   test_writes_and_peek'BufferedRandomTest.test_writes_and_peek	  s*    	% 	
 	% r!   c                .    R  pV P                  V4       R# )c                 L    V P                  R^4       V P                  ^4       R# r  )rj   r   r  s   &r   _read7BufferedRandomTest.test_writes_and_reads.<locals>._read	  s    JJr1JJqMr!   Nr  r?   r  s   & r   test_writes_and_reads(BufferedRandomTest.test_writes_and_reads	  s    	 	% r!   c                .    R  pV P                  V4       R# )c                 L    V P                  R^4       V P                  ^4       R# r  )rj   r  r  s   &r   _read19BufferedRandomTest.test_writes_and_read1s.<locals>._read1	  s    JJr1KKNr!   Nr  )r?   r  s   & r   test_writes_and_read1s)BufferedRandomTest.test_writes_and_read1s	  s    	 	&!r!   c                .    R  pV P                  V4       R# )c                 ^    V P                  R^4       V P                  \        ^4      4       R# r  )rj   ru   r&  r  s   &r   r  ;BufferedRandomTest.test_writes_and_readintos.<locals>._read	  s     JJr1NN9Q<(r!   Nr  r  s   & r   test_writes_and_readintos,BufferedRandomTest.test_writes_and_readintos	  s    	) 	% r!   c                Z   R EF#  pV P                  R4      pV P                  V^4      pV P                  VP                  ^4      R4       V P                  VP	                  4       ^4       VP                  RV,          4       V P                  VP	                  4       V^,           4       VP                  4        V P                  VP	                  4       V^,           4       VP                  4       pV P                  VRRV,          ,           R^	V,
          ,          ,           4       EK&  	  R# )r=   r     BN)r=   r   r  )ro  r?  r%  r   rn   rU   r   r  )r?   overwrite_sizerC  r  r   s   &    r   test_write_after_readahead-BufferedRandomTest.test_write_after_readahead	  s     %N,,y)CGGCOEUZZ]D1UZZ\1-KK~-.UZZ\>A+=> KKMUZZ\>A+=>AQtn,,tq>7I/JJL %r!   c           	     p   R  pRp\        ^ \        V4      4       F  p\        V\        V4      4       F{  pV P                  V4      pV P                  V^d4      pV! WcV4       VP	                  4        \        V4      p^Wt&   ^Ws&   V P                  VP                  4       VRW43,          4       K}  	  K  	  R# )c                     V P                  V4       V P                  W!,
          4       V P                  R 4       V P                  V4       V P                  R4       R# )      N)rj   r   rU   )r  pos1pos2s   &&&r   mutate:BufferedRandomTest.test_write_rewind_write.<locals>.mutate	  sD     JJtJJt{#KK  JJtKK r!   s   zfailed result for i=%d, j=%dN)r.  r   ro  r?  r   r&  r%  r  )r?   r  r,   r*  jrC  r  expecteds   &       r   test_write_rewind_write*BufferedRandomTest.test_write_rewind_write	  s    		! $q#a&!A1c!f%ll1oS)u#$Q<  !?1&!HJ & "r!   c                P   V P                  R4      pV P                  V^d4      pV P                  VP                  ^4      R4       V P                  VP	                  4       ^4       V P                  VP                  R4      ^4       V P                  VP	                  4       ^4       R# )r  s   AAs   BBNr  )ro  r?  r%  r   rx   rU   r  s   &  r   !test_truncate_after_read_or_write4BufferedRandomTest.test_truncate_after_read_or_write
  s    ll9%S!A.)1-U+Q/)1-r!   c                Z    \         P                  V 4       \        P                  V 4       R # rR   )r  r  r  r>   s   &r   r  %BufferedRandomTest.test_misbehaved_io
  r  r!   c           	        V P                  R 4      ;_uu_ 4       pV P                  V^d4      ;_uu_ 4       pVP                  R4       V P                  VP	                  ^4      R4       VP                  R4       V P                  VP                  ^4      R4       VP                  R4       \        ^4      pVP                  V4       V P                  VR4       VP                  R4       V P                  VP                  ^4      R4       VP                  4        V P                  VP                  4       R	4       R
R
R
4       R
R
R
4       V P                  R4      ;_uu_ 4       pV P                  V^d4      ;_uu_ 4       pV P                  VP	                  ^4      R4       VP                  R4       V P                  VP	                  ^4      R4       VP                  4        V P                  VP                  4       R4       R
R
R
4       R
R
R
4       R
#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L@; i  + '       g   i     R
# ; i)s   abcdefghr  r*     2rp  r     f   4r#  s   1b2d3f4hNro  r)  rr  s   a2c)ro  r?  rU   r%  r   r  r&  ru   r9  r   r  )r?   rC  r6   rr   s   &   r   test_interleaved_read_write.BufferedRandomTest.test_interleaved_read_write
  s   \\+&&#c""a  D1  T2l

3  d+  D1	  = # ' \\&!!Sc""a  D1  D1	  8 # "! #" '&  #" "!!sH   H(DH	;H($I?BH;	IH% H((H8	;III	c           	        V P                  R 4      ;_uu_ 4       pV P                  V^4      ;_uu_ 4       pVP                  R4       V P                  VP	                  ^4      R4       VP                  4        V P                  VP                  4       R4       RRR4       RRR4       V P                  R 4      ;_uu_ 4       pV P                  V^4      ;_uu_ 4       pVP                  R4       V P                  VP	                  4       R4       VP                  4        V P                  VP                  4       R4       RRR4       RRR4       V P                  R 4      ;_uu_ 4       pV P                  V^4      ;_uu_ 4       pVP                  R4       V P                  VP	                  ^d4      R,          R4       VP                  4        V P                  VP                  4       R4       RRR4       RRR4       R#   + '       g   i     ELo; i  + '       g   i     EL{; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lh; i  + '       g   i     R# ; i)r  r  r*  s   1bcdefNs   bcdr  )ro  r?  rU   r%  r  r   r  r?   rC  r6   s   &  r   test_read1_after_write)BufferedRandomTest.test_read1_after_write1
  s   \\)$$aA  T2	  ;	 ! % \\)$$aA  F3	  ;	 ! % \\)$$aA   b!16:	  ; ! %$ ! %$$ ! %$ ! %$$sm   HA#G>	HH9A"H&	>H9'IA*I	,I>H		HH#	&H61H99I		III0	c           	     b   V P                  R 4      ;_uu_ 4       pV P                  V4      ;_uu_ 4       pVP                  R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       VP                  4        V P                  VP                  4       R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)	s
   ab
cdef
g
r  s   b
r  r  r     
s
   1b
2def
3
N)ro  r?  rU   r%  rD  r   r  r  s   &  r   test_interleaved_readline_write2BufferedRandomTest.test_interleaved_readline_writeG
  s    \\*++s  v6  x8  u5	  1AB  ,+ ,++s#   DCD
	8D
DDD.	Nr#   )r%   r&   r'   r(   rr  r  r  r"  r  r  r  r  r  r  r  rw  r  r  r  r  r  r  r
  r  r  r  r  r  r  r)   rC   rD   s   @r   r  r  \	  s     IJ24	93.6$J-	)
5.	!!"!L(J4.492<,
C O "&r!   r  c                   D   a  ] tR tRt o ]P
                  tR tR tRt	V t
R# )CBufferedRandomTesti[
  c                Z    \         P                  V 4       \        P                  V 4       R # rR   )r  rK  r3  r>   s   &r   rK  +CBufferedRandomTest.test_garbage_collection^
  s    33D933D9r!   c                    V P                  \        R 4      ;_uu_ 4        V P                  V P                  4       RRR4       RRR4       R#   + '       g   i     R# ; i)rn  r  Nr  r>   s   &r   r  #CBufferedRandomTest.test_args_errorb
  r  r  r#   N)r%   r&   r'   r(   r   rn  r?  rK  r  r)   rC   rD   s   @r   r  r  [
  s     			B:6 6r!   r  c                   .    ] tR tRt]P
                  tRtR# )PyBufferedRandomTestih
  r#   N)r%   r&   r'   r(   r   rn  r?  r)   r#   r!   r   r#  r#  h
  r  r!   r#  c                   V   a  ] tR tRt o RR ltR tR tR tR tRR lt	R	 t
RtR
tV tR# )StatefulIncrementalDecoderiw
  c                d    \         P                  P                  W4       V P                  4        R # rR   )codecsIncrementalDecoderrO   reset)r?   rj  s   &&r   rO   #StatefulIncrementalDecoder.__init__
  s    !!**48

r!   c                &    R \        V 4      ,          # )z<SID %x>)idr>   s   &r   __repr__#StatefulIncrementalDecoder.__repr__
  s    BtH$$r!   c                @    ^V n         ^V n        \        4       V n        R# r<   )r*  or&  r)  r>   s   &r   r)   StatefulIncrementalDecoder.reset
  s    kr!   c                    V P                   ^,          V P                  ^,          r!\        V P                  4      V^d,          V,           3# )r=   )r*  r0  r   r)  )r?   r*  r0  s   &  r   getstate#StatefulIncrementalDecoder.getstate
  s5    vvz466A:1T[[!1S519,,r!   c                    Vw  r#\        V4      V n        \        V^d4      w  rEV^,          V^,          uV n        V n        R# )r[  N)r&  r)  divmodr*  r0  )r?   r  r)  r   r*  r0  s   &&    r   setstate#StatefulIncrementalDecoder.setstate
  s9    
'b#QAr!   Fc                   R pV F  pV P                   ^ 8X  dZ   V\        R4      8X  d-   V P                  '       d   W0P                  4       ,          pKN  KP  V P                  P	                  V4       Km  V P                  P	                  V4       \        V P                  4      V P                   8X  g   K  W0P                  4       ,          pK  	  V'       d)   V P                  '       d   W0P                  4       ,          pV# )r  .)r*  ordr)  process_wordrS   r   )r?   inputfinaloutputr,   s   &&&  r   decode!StatefulIncrementalDecoder.decode
  s    Avv{C={{{"3"3"55 # KK&&q)""1%t{{#tvv-//11F  T[[[''))Fr!   c                v   R pV P                   ^ ,          \        R4      8X  d7   \        ^c\        V P                   R,          ;'       g    ^ 4      4      V n        MV P                   ^ ,          \        R4      8X  d7   \        ^c\        V P                   R,          ;'       g    ^ 4      4      V n        MyV P                   P                  R4      p\        V4      V P
                  8  d   VRV P
                  ,          ,          pV P
                  '       d   VRV P
                   pVR,          p\        4       V n         V# )r  r*  :r=   NNr0  r{  -Nr:  )	r)  r;  r  intr*  r0  r@  r   r&  )r?   r?  s   & r   r<  'StatefulIncrementalDecoder.process_word
  s    ;;q>SX%SR!5!5A67DF[[^s3x'SR!5!5A67DF[[''0F6{TVV##dff*$vvvcMFkr!   )r)  r*  r0  N)strictr   )r%   r&   r'   r(   rO   r-  r)  r3  r7  r@  r<  codecEnabledr)   rC   rD   s   @r   r%  r%  w
  s/     $%"
-&"  Lr!   r%  c           
          \         P                  '       dK   V R 8X  dB   \        P                  ! R4      p\        P                  ! R VP
                  RRRR\         R7      # R# R# )test_decoderr0   N)r  encoder@  incrementalencoderstreamreaderstreamwriterincrementaldecoder)r%  rG  r'  lookup	CodecInforJ  )r  latin1s   & r   lookupTestDecoderrR  
  sU    !...4>3Iy)d#D9	; 	; 4J.r!   c                   .   a  ] tR tRt o . ROtR tRtV tR# )StatefulIncrementalDecoderTesti
  c                "   V P                    F1  w  rp\        4       pV P                  VP                  W4      V4       K3  	  \        4       pV P                  VP                  R 4      R4       V P                  VP                  R^4      R4       R# )   oiabcdr  r!   abcd.N)
test_casesr%  r%  r@  )r?   r=  eofr?  rL  s   &    r   rI  +StatefulIncrementalDecoderTest.test_decoder
  st    "&//E*,AQXXe16: #2
 '(),b1#q)73r!   r#   N))rY  Fza.b.c.d.)rV  TrW  )s   oi...abcd...TrW  )s   i.o6.x.xyz.toolongtofit.Fzx-----.xyz---.toolon.)s
   i.i2.o6xyzTzxy----.z-----.)s   i.o3.i6.abcdefghijklmnopTzabc.ghi.mno.)s;   i.o29.a.b.cde.o15.abcdefghijabcdefghij.i3.a.b.c.d.ei00k.l.mTza----------------------------.b----------------------------.cde--------------------------.abcdefghijabcde.a.b------------..c.------------.d.e------------.k--------------.l--------------.m--------------.)r%   r&   r'   r(   rX  rI  r)   rC   rD   s   @r   rT  rT  
  s     
J6	4 	4r!   rT  c                     a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR t]P                   ! ]P$                  P&                  R4      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 t7]8Pr                  ]:Pv                  ! 4       R2 4       4       t<R3 t=R4 t>R5 t?R6 t@R7 tAR8 tBR9 tCR: tDR; tER< tFR= tGR> tHR? tIR@ tJRA tKRB tLRC tMRD tNRE tORF tPRG tQRH tRRI tSRJ tTRK tURL tVRM tWRN tXRO tY]P                  ! ][! ]\RP4      RQ4      RR 4       t]RSt^V t_RT# )UTextIOWrapperTesti
  c                   R V n         RP                  R4      V n        \        P                  ! \        P
                  4       \        P                  ! \        4       V P                  \        P                  \        4       R# )s   AAA
BBBCCC
DDD
EEE
s   AAA
BBB
CCC
DDD
EEE
r{  N)testdatar@  
normalizedr   r  r  r'  registerrR  r^  
unregisterr>   s   &r   r  TextIOWrapperTest.setUp
  sQ    :6==gF))*)*))+<=r!   c                N    \         P                  ! \         P                  4       R # rR   r  r>   s   &r   r   TextIOWrapperTest.tearDown  r  r!   c                >	   V P                  R 4      pV P                  VR4      pV P                  VRR7      pVP                  VRRR7       V P	                  VP
                  R4       V P	                  VP                  R4       VP                  VRRR	7       V P	                  VP
                  R4       V P	                  VP                  R4       V P	                  R
VP                  4       4       V P                  '       d   \        M\        pV P                  V4      ;_uu_ 4        VP                  V^*R7       RRR4       V P                  \        4      ;_uu_ 4        VP                  VRR7       RRR4       V P                  \        4      ;_uu_ 4        VP                  VRR7       RRR4       V P                  V4      ;_uu_ 4        VP                  VR^*R7       RRR4       \        P                  '       g3   \        P                   P"                  '       g   V P                  '       d;   V P                  \        4      ;_uu_ 4        VP                  VRRR7       RRR4       \        P                  '       g3   \        P                   P"                  '       g   V P                  '       d;   V P                  \        4      ;_uu_ 4        VP                  VRRR7       RRR4       V P                  \        4      ;_uu_ 4        VP                  VR^*R7       RRR4       V P                  \        4      ;_uu_ 4        VP                  VRRR7       RRR4       V P                  \        4      ;_uu_ 4        VP                  VRRR7       RRR4       V P                  \        4      ;_uu_ 4        VP                  VRRR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL]; i  + '       g   i     EL;; i  + '       g   i     EL; i  + '       g   i     EL_; i  + '       g   i     EL9; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)   é

rf  r>  r1   r0   
r  FT)r2   line_buffering   é
N   zutf-8 r2   rj  zreplace 
 r  )ro  re  r}  rO   r%  r2   rh  rD  is_Cr(  r  r'  UnicodeEncodeErrorr   Py_DEBUGr  r  dev_mode)r?   r/   r,   r/  invalid_types   &    r   r  "TextIOWrapperTest.test_constructor  s   LL)4(q73	

1y&
9Y/))51	

1wt
<W-))401::<0$(IIIy:|,,JJq2J& -122JJq8J, 3z**JJq9J- +|,,JJq72J6 -syy111TYYY""#566

1wx
@ 7syy111TYYY"":..

1w{
C /y))JJq7BJ7 *z**JJq7HJ= +z**JJq7FJ; +z**JJq7GJ< +*) -,,222***,,, 766 /..)))********sx   &OO,P PP(P<QQ$?Q89RO)	,O=	 P	P%	(P9	<Q	Q!	$Q5	8R	R	c                   V P                   P                  V P                   4      p?V P                   P                  V P                   4      pV P                  \        \        V4       V P                  \        \        3R VP                  ^ 4       VP                  V P                  4       RR7       V P                  VP                  ^ 4      R4       R# )r   r>  r1   r  N)r}  r!  r'  rh  rz  r  r  r  r   rO   r   r%  r?   r/  s   & r   r"  $TextIOWrapperTest.test_uninitialized)  s    &&t'9'9:&&t'9'9:)T1-
N;? vvq	* 	


4>>#g
6B'r!   c                    V P                  4       pV P                  V4      pV P                  \        R 4      ;_uu_ 4        V P	                  VRR7       RRR4       R#   + '       g   i     R# ; i)zis not a text encodinghexr1   N)ro  rj  r  LookupErrorr}  )r?   r/   r,   s   &  r   *test_non_text_encoding_codecs_are_rejected<TextIOWrapperTest.test_non_text_encoding_codecs_are_rejected4  sV     LLN"##K1IJJq51 KJJJs    AA/	c                   V P                  4       pV P                  V4      pV P                  VR R7      pV P                  VP	                  4       V4       V P                  VR R7      pVP                  R4       V P                  VP                  4       4       VP	                  4        V P                  VP                  4       R4       V P                  \        VP                  4       \        V4       V P                  VP                  R 4       V P                  VP                  R4       V P                  VP                  4       V P                  VP                  4       R# )r{  r1   howdys   howdyrF  N)ro  rj  r}  rx  ry  rU   ra  r  r%  r'  r  rz  r2   rj  rh  write_throughr?   r/   r,   r/  s   &   r   r|  TextIOWrapperTest.test_detach=  s   LLN"q73ahhj!$q73	&	
x0*ahh/ 	QW-8,))*)r!   c                >   V P                  R P                  R4      4      pV P                  V4      pV P                  VRR7      pV P                  P                  pV P                  \        V4      RV,          4       RVn        V P                  \        V4      RV,          4       RVn        V P                  \        V4      RV,          4       RVn        V P                  \        V4      R	V,          4       VP                  P                  4        \        V4       R
# )hellor>  r1   z'<(%s\.)?TextIOWrapper encoding='utf-8'>r  z4<(%s\.)?TextIOWrapper name='dummy' encoding='utf-8'>r/   z=<(%s\.)?TextIOWrapper name='dummy' mode='r' encoding='utf-8'>r  z><(%s\.)?TextIOWrapper name=b'dummy' mode='r' encoding='utf-8'>N)ro  rJ  re  r}  r&   r  rz  r  moder)  ry  )r?   rC  r,   r/  modnames   &    r   r  TextIOWrapperTest.test_reprQ  s    ll7>>'23$q73$$//aCgM	OaPSZZ	\aY\cc	eaZ]dd	f 	
Qr!   c                   V P                  4       pV P                  VR R7      p\        P                  ! VRV4      ;_uu_ 4        \        P                  ! ^4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \        V4       RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)r>  r1   r  N)ro  r}  r   r  r  r'  r  rz  r?   rC  r/  s   &  r   r  %TextIOWrapperTest.test_recursive_repre  s    llnsW5sFA..0J0J20N0N""<00Q 1 1O..00 1O0N...s<   C#B:	B'B:	C'B72B:	:C
CC	c                     ! R  RV P                   4      pV! V P                  4       4      pV P                  VP                  \	        V4      4       R# )c                       ] tR tRtRtR# ):TextIOWrapperTest.test_subclass_repr.<locals>.TestSubclassin  r#   Nr$   r#   r!   r   TestSubclassr  n      r!   r  N)r}  r  r  r%   rz  )r?   r  r6   s   &  r   test_subclass_repr$TextIOWrapperTest.test_subclass_reprm  s>    	4-- 	 )l++T!W5r!   c                   V P                  4       pV P                  VR 4      pV P                  VRRRR7      pVP                  R4       V P	                  VP                  4       R4       VP                  R4       V P	                  VP                  4       R4       VP                  R	4       V P	                  VP                  4       R
4       R# )rf  r>  
Tr2   r  rh  Xr!   zY
Zs   XY
ZzABs   XY
ZABN)ro  rj  r}  rU   r%  r  r~  s   &   r   test_line_buffering%TextIOWrapperTest.test_line_bufferingt  s    LLN4(q7DQUV	s+	x0	|4r!   c                   V P                  4       pV P                  VR 4      pV P                  VRRRR7      pVP                  R4       V P	                  VP                  4       R4       VP                  RR7       V P	                  VP                  4       R	4       VP                  R
4       V P	                  VP                  4       R4       VP                  R4       V P	                  VP                  4       R4       VP                  RR7       V P	                  VP                  4       R4       VP                  R4       V P	                  VP                  4       R4       VP                  4        VP                  RR7       V P	                  VP                  R4       VP                  RR7       VP                  4        VP                  RR7       V P	                  VP                  R4       R# )rf  r>  r  Fr  zAB
Cr!   Trh  s   AB
CzDEF
Gs	   AB
CDEF
GHs
   AB
CDEF
GHIJN)ro  rj  r}  rU   r%  r  reconfigurerh  r~  s   &   r   test_reconfigure_line_buffering1TextIOWrapperTest.test_reconfigure_line_buffering  sq   LLN4(q7DQVW	s+	T*x0	~6	~6	U+7	7 	
	T*))51	T*		T*))40r!   zutf-8 mode is enabledc           	        \         P                  ! 4       ;_uu_ 4       pVP                  R RR4       \        P                  ! 4       pV P                  4       p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       V P                  V4      pRRR4       V P                  XP                  V4       RRR4       R#   + '       g   i     L6; i  + '       g   i     R# ; i)LC_ALLLANGLC_CTYPEr  N)r   EnvironmentVarGuardunsetlocalegetencodingro  r  r  r  EncodingWarningr}  r%  r2   )r?   envcurrent_locale_encodingr,   r/  s   &    r   test_default_encoding'TextIOWrapperTest.test_default_encoding  s    **,, IIh
3&,&8&8&:#A((**%%h@&&q) + QZZ)@A -, +* -,,s$   AC"4-C	!$C"CC""C3	c                   V P                  4       pV P                  VR R7      pV P                  VP                  R 4       \        P
                  ! 4       ;_uu_ 4        \        P                  ! R\        4       V P                  V4      pRRR4       V P                  VP                  4       \        P                  ! VP                  4       R#   + '       g   i     LM; i)r>  r1   r  N)ro  r}  r%  r2   r  r  r  r  assertIsNotNoner'  rO  r?   r,   r/  s   &  r   test_encodingTextIOWrapperTest.test_encoding  s    LLNq73W-$$&&!!(O<""1%A ' 	QZZ(ajj!	 '&s   -CC	c                ,   V P                  R 4      pV P                  VRR7      pV P                  \        VP                  4       V P                  R 4      pV P                  VRRR7      pV P                  \        VP                  4       V P                  R 4      pV P                  VRRR7      pV P                  VP	                  4       R4       V P                  R 4      pV P                  VRRR7      pV P                  VP	                  4       R4       R	# )
s   abc

r{  r1   rF  rk  r  zabc

replaceu   abc
�
N)ro  r}  r'  UnicodeErrorr   r%  r  s   &  r   test_encoding_errors_reading.TextIOWrapperTest.test_encoding_errors_reading  s    LL(q73,/LL(q78D,/LL(q78D9-LL(q79E?3r!   c                   V P                  4       pV P                  VR R7      pV P                  \        VP                  R4       V P                  4       pV P                  VR RR7      pV P                  \        VP                  R4       V P                  4       pV P                  VR RRR7      pVP	                  R4       VP                  4        V P                  VP                  4       R	4       V P                  4       pV P                  VR R
RR7      pVP	                  R4       VP                  4        V P                  VP                  4       R4       R# )r{  r1      ÿrF  rk  r  r  )r2   rj  r  u	   abcÿdef
s   abcdef
r  s   abc?def
N)ro  r}  r'  r  rU   r   r%  r  r  s   &  r   test_encoding_errors_writing.TextIOWrapperTest.test_encoding_errors_writing  s   LLNq73,8LLNq78D,8LLNq78%)  +			{3LLNq79%)  +			|4r!   c           
        . R	OpR. R
O.RV.R. RO.RRR..R. RO..pRpV EFD  p\        RP                  V4      P                  V4      4      pR EF  p\        ^^
4       F  pV F  w  rV P	                  V P                  V4      V4      p
V P                  WVR7      pV'       d_   . p VP                  ^4      pVR8X  d   MMV P                  \        V4      ^4       VP                  WP                  4       ,           4       K\  \        V4      p\        W4       F  w  rV P                  W4       K  	  V P                  \        V4      \        V	4      4       K  	  K  	  EK  	  EKG  	  R# )unix
Nr  r  rg  zunix
windows
zos9last
nonlr  r2   )r  	windows
zos9last
nonl)r  zwindows
zos9
r  r  )r  r  z	os9last
r  )zunix
windowsz
os9z	last
nonl)r>  r0   utf-16	utf-16-le	utf-16-beutf-32	utf-32-le	utf-32-be)FT)r   r   rJ  r.  re  ro  r}  r   r%  r   rS   rD  rI   zip)r?   input_linesr  	encodingsr2   r   do_readsr  r  	exp_linesr  textio	got_linesc2got_lineexp_lines   &               r   test_newlinesTextIOWrapperTest.test_newlines  s`   L HJ+FH+->@BBD

	 "H-44X>?D)$Q|G.3* $ 3 3DLL4F P!%!3!3E;C "4 "E#(*I"&%+[[^#%8$) $ 0 0R! < ) 0 0oo6G1G H(,VI25i2K.H ,,X@ 3L((YYH# /4  , * "r!   c                   R pVP                  RR4      P                  RR4      pRVP                  R4      P                  RR7      3RVP                  R4      P                  RR7      3R	. RO3R
. RO3R. RO33 F  w  r4V P                  V4      pV P	                  VRVR7      pV P                  VP                  4       V4       VP                  ^ 4       V P                  VP                  4       RP                  V4      4       K  	  R# )s   AAA
BB B
CCCDDDEEE
FFF
GGGs   
r     Nr{  T)keependsr  r  rg  r  r  )zAAA
zBB B
zCCCDDDEEE
FFF
GGG)zAAA
BB B
CCCDDDEEE
r  r  )zAAA
BB B
CCCzDDDzEEEz
FFFz
GGG)
r  r@  
splitlinesro  r}  r%  r  rj   r   r   )r?   r^  r_  r  r  rr   txts   &      r   test_newlines_input%TextIOWrapperTest.test_newlines_input  s    ?%%gu5==eUK
:$$W-88$8GH)44d4CDPQJKQR"G ,,x(C$$S7G$LCS]]_h7HHQKSXXZ):;"r!   c                   R RRRRRRR/pRV\         P                  ,          3.\        VP                  4       4      ,           pV F  w  r4V P	                  4       pV P                  VRVR	7      pVP                  R
4       VP                  R4       VP                  R4       VP                  4        V P                  VP                  R4       V P                  VP                  4       V4       K  	  R# )r  s   AAA
BBB
CCC
XY
Zr  r  s   AAABBBCCCXYZrg  s   AAA
BBB
CCC
XY
ZNr{  r  zAAA
BzBB
CCC
zXY
ZF)rV  linesepsortedrJ  ro  r}  rU   r   r%  r   r  )r?   testdictr  r  r  rr   r  s   &      r   test_newlines_output&TextIOWrapperTest.test_newlines_output  s    +--7	 ,-.8H1II!&G,,.C$$S7G$LCIIhIIk"IIk"IIKSZZ/S\\^X6 "'r!   c                   aa . oV P                   o ! VV3R  lRS4      pV! 4       pV P                  VRR7      pVP                  R4       ?\        P                  ! 4        V P                  R.S4       R# )c                   0   <a  ] tR tRt o VV3R ltRtV tR# )4TextIOWrapperTest.test_destructor.<locals>.MyBytesIOi-  c                h   < SP                  V P                  4       4       SP                  V 4       R # rR   )rS   r  r   )r?   r  rt  s   &r   r   :TextIOWrapperTest.test_destructor.<locals>.MyBytesIO.close.  s!    )

4 r!   r#   Nr+  )rE   r  rt  s   @r   	MyBytesIOr  -  s     ! !r!   r  r{  r1   r	  ro  N)ro  r}  rU   r   r  r%  )r?   r  r,   r/  r  rt  s   &   @@r   r  !TextIOWrapperTest.test_destructor*  sl    ||	! 	! 	! Kq73	&1%r!   c                   a . o ! V3R  lRV P                   4      pV P                  4       pV! VRR7      p?\        P                  ! 4        V P	                  S. RO4       R# )c                   R   <a a ] tR tRt oV V3R ltV V3R ltV V3R ltRtVtV ;t	# )<TextIOWrapperTest.test_override_destructor.<locals>.MyTextIOi:  c                r   < SP                  ^4        \        SV `  pV! 4        R#   \         d     R# i ; ir<   r  r  s   & r   r  DTextIOWrapperTest.test_override_destructor.<locals>.MyTextIO.__del__;  r  r  c                F   < SP                  ^4       \        SV `	  4        R# r  r  r  s   &r   r   BTextIOWrapperTest.test_override_destructor.<locals>.MyTextIO.closeC  r  r!   c                F   < SP                  ^4       \        SV `	  4        R# r  r  r  s   &r   r   BTextIOWrapperTest.test_override_destructor.<locals>.MyTextIO.flushF  r  r!   r#   r  r  s   @@r   MyTextIOr  :  r  r!   r  r{  r1   Nr  )r}  ro  r   r  r%  )r?   r  r,   r/  r  s   &   @r   r  *TextIOWrapperTest.test_override_destructor8  sR    	 t)) 	  LLNQ)+r!   c           	        V P                  4       p\        P                  ! 4       ;_uu_ 4       pV P                  \        4      ;_uu_ 4        V P                  VR R7      P                   RRR4       V P                  VP                  P                  \        4       RRR4       R#   + '       g   i     LD; i  + '       g   i     R# ; ir>  r1   N)r   r   r  r'  r  r}  r  r%  r  r  r   r  s   &  r   r  /TextIOWrapperTest.test_error_through_destructorO  s     ##%//11R"">22""57";AA 3 R]]33W=	 2122 211s#   B9B&	*2B9&B61B99C
	c                z   R EF  pR EF  pV P                  \        P                  RVR7      pWn        V P	                  VP                  R4      ^4       VP                  4        V P                  \        P                  RVR7      pWn        V P	                  VP                  4       ^ 4       V P	                  VP                  4       R4       VP                  4       pV P	                  VP                  ^ 4      ^ 4       V P	                  VP                  R4      R4       VP                  ^ 4       V P	                  VP                  ^4      R4       V P	                  VP                  ^4      R4       V P	                  VP                  ^4      R4       V P	                  VP                  4       R4       V P	                  VP                  4       V4       V P	                  VP                  ^ 4      ^ 4       V P	                  VP                  ^ ^4      V4       V P	                  VP                  R	4      ^4       V P	                  VP                  V4      V4       V P	                  VP                  4       R	4       VP                  R
4      '       d   V P                  W24       VP                  4        EK  	  EK  	  R# )r=   r  r1   r	  r+Nr  rv  r  defutf)r=   r   r  rP  r      r            !   ?   @   A   )r{  r0   r>  )r3   r   r  r5   r%  rU   r   rn   r   rj   r  multi_line_test)r?   	chunksizeencr6   cookies   &    r   test_basic_ioTextIOWrapperTest.test_basic_io[  s   LI2IIi..sIC )  3	IIi..sIC )  1-  51  A.  u5q	  D1  C0  B/  2.  62  A.  1v6  3  8  51>>%((((0	3 3 Mr!   c           	     0   VP                  ^ 4       VP                  4        Rp. pR F  p. p\        V4       F*  pVP                  W7\	        V4      ,          ,          4       K,  	  RP                  V4      R,           pVP                  VP                  4       V34       VP                  V4       K  	  VP                  ^ 4       . p	 VP                  4       p
VP                  4       pV'       g   MV	P                  W34       K>  V P                  W4       R# )r   u	   sÿ࿿￿r  r  N)r   r=   r   r  rP  r      r  r  r  >   r  r  r  rf  )
rj   rx   r.  rS   r   r   rn   rU   rD  r%  )r?   r6   r  samplewlinesr  charsr*  r  rlinesr   s   &&&        r   r   !TextIOWrapperTest.multi_line_testx  s    	q		

$LDE4[VFO45 !775>D(DMM1668T*+GGDM M 	
q	&&(C::<DMM3+&(r!   c                H   V P                  \        P                  R RR7      pVP                  4       pVP	                  R4       VP                  4       pVP	                  R4       VP                  4       pVP                  ^ 4       V P                  VP                  4       V4       V P                  VP                  4       R4       V P                  VP                  4       V4       V P                  VP                  4       R4       V P                  VP                  4       V4       VP                  ^ 4       V F5  pV P                  VR4       V P                  \        VP                  4       K7  	  V P                  VP                  4       V4       VP                  4        R# )r  r>  r1   u   ÿ
N)r3   r   r  rn   rU   rj   r%  rD  r'  r   r   )r?   r6   p0p1p2r  s   &     r   test_tellingTextIOWrapperTest.test_telling  s(   IIi&&wI?VVX	VVX	VVX	q	2&x02&x02&	q	DT8,gqvv.  	2&		r!   c           	     "   \        4       pV^,
          pRV,          p\        VP                  R4      4      pV P                  \	        V4      \	        V4      4       Rp\        VP                  R4      4      pWF,           pV P                  \        P                  R4      ;_uu_ 4       pVP                  V^,          4       RRR4       V P                  \        P                  RRR7      ;_uu_ 4       pVP                  V4      p	V P                  V	\        VR4      4       V P                  VP                  4       V4       V P                  VP                  4       V4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)	r   r  r>     袈
r?  Nr/   r1   r{  )r7   r   rJ  r%  r   r3   r   r  rU   r   r  rn   rD  )
r?   
chunk_sizeprefix_sizeu_prefixprefixu_suffixsuffixr  r6   r   s
   &         r   test_seekingTextIOWrapperTest.test_seeking  s   (*
 1n$xw/0XF4xw/0YYy''..!GGDFO /YYy''wY??1{#AQFG 45QVVX{3QZZ\84	 @? /.???s   'E*2A.E=*E:	=F	c                   R pV P                  \        P                  R4      ;_uu_ 4       pVP                  V4       RRR4       V P                  \        P                  RRR7      ;_uu_ 4       pVP                   ^Vn        VP                  4        VP                  4        RRR4       R#   + '       g   i     Lx; i  + '       g   i     R# ; i)s   ࿿
r?  Nr/   r>  r1   )r3   r   r  rU   r5   rD  rn   )r?   r   r6   s   &  r   test_seeking_too"TextIOWrapperTest.test_seeking_too  s     YYy''..!GGDM /YYy''wY??1MMAMJJLFFH	 @? /.???s   B-/4C -B=	 C	c                ^  a a ^oRVV 3R llp^\         n         \        P                   F  w  p pV! V4       K  	  \        P                   FA  w  p pS\	        V4      ^,          ,
          pRV,          pV^,          pV! WR,           V4       KC  	  ^ \         n        R#   ^ \         n        i ; i)   c           	        < SP                  \        P                  R 4      pVP                  V 4       VP	                  4        SP                  \        P                  RR7      pSVn        VP                  4       pVP	                  4        \        V\        V4      ^,           4       F  p^^\        V4      V,
          3 F  pSP                  \        P                  RR7      pSP                  VP                  V4      VRV 4       VP                  4       pSP                  VP                  V4      W4WE,            4       VP                  V4       SP                  VP                  4       W4R 4       VP	                  4        K  	  K  	  R# )r?  rI  r1   N)r3   r   r  rU   r   r5   r   r.  r   r%  rn   rj   )	r   min_posr6   decodedr*  r  r  
CHUNK_SIZEr?   s	   &&     r   test_seek_and_tell_with_dataJTextIOWrapperTest.test_seek_and_tell.<locals>.test_seek_and_tell_with_data  s$    		)**D1AGGDMGGI		)**^	DA&AMffhGGGI7CL1$45QGq 01A		)"2"2^	LA$$QVVAY<VVXF$$QVVAY!%0@AFF6N$$QVVXwr{;GGI 2 6r!      .Nrg   )r%  rG  rT  rX  r   )r?   r'  r=  r  offsetr  r$  r&  s   f      @r   r  $TextIOWrapperTest.test_seek_and_tell  s     
	 	, 34"/	8=HHq!,U3  I  >HHq!#c%j!m3f (,V^WE  I 78&3a&3s   A8B B,c                R   V P                  \        P                  R RR7      pVP                  R4       VP	                  4        V P                  \        P                  RRR7      pV P                  VP                  4       R4       VP                  4       pV P                  VP                  4       R4       VP                  4       pVP                  V4       V P                  VP                  4       R4       V P                  VP                  4       V4       VP	                  4        R# )r=  euc_jpr1   u
   AB
うえ
r/   zAB
u   うえ
N)	r3   r   r  rU   r   r%  rD  rn   rj   )r?   r6   r  r  s   &   r   test_multibyte_seek_and_tell.TextIOWrapperTest.test_multibyte_seek_and_tell  s    IIi&&hI?	$%		IIi&&hI?v.VVX'78VVX	r
'782&		r!   c                   V P                  \        P                  R RR7      pVP                  R4       VP	                  4       pVP                  R4       VP                  V4       VP                  R4       VP                  4        V P                  \        P                  RRR7      pV P                  VP                  4       R4       VP                  4        R# )	r=  euc_jis_2004r1   u   æ̀   æu   ̀r/   u   æ̀̀N)	r3   r   r  rU   rn   rj   r   r%  rD  )r?   r6   r  s   &  r   test_seek_with_encoder_state.TextIOWrapperTest.test_seek_with_encoder_state  s    IIi&&nIE	VVX		r
			IIi&&nIE';<		r!   c                   R pRpV F  pV P                  4       pV P                  WCR7      pVP                  V4       VP                  V4       VP                  ^ 4       V P	                  VP                  4       V^,          4       VP                  ^ 4       V P	                  VP                  4       V^,          4       V P	                  VP                  4       V^,          P                  V4      4       K  	  R# )
1234567890r1   N)r  r  r  r  r  r  )ro  r}  rU   rj   r%  r   r  rJ  )r?   r   r  r2   rr   r6   s   &     r   test_encoded_writes%TextIOWrapperTest.test_encoded_writes	  s     H,,.C""3":AGGDMGGDMFF1IQVVXtax0FF1IQVVXtax0S\\^dQh->->x-HI r!   c                     ! R  RV P                   4      pV P                  V! 4       RR7      pV P                  \        VP                  4       R# )c                   &   a  ] tR tRt o R tRtV tR# )5TextIOWrapperTest.test_unreadable.<locals>.UnReadablei  c                    R # r   r#   r>   s   &r   ra   >TextIOWrapperTest.test_unreadable.<locals>.UnReadable.readable  rN  r!   r#   NrO  rD   s   @r   
UnReadabler;    rQ  r!   r>  r>  r1   N)ro  r}  r'  r   r   )r?   r>  r  s   &  r   test_unreadable!TextIOWrapperTest.test_unreadable  s?    	 	    @'388,r!   c                    V P                  V P                  R 4      RR7      pRp VP                  ^4      pV'       g   M
W#,          pK%  V P                  VR4       R# )s   AA
BBr>  r1   r  zAA
BBNr}  ro  r   r%  r?   r  readsrv  s   &   r   test_read_one_by_one&TextIOWrapperTest.test_read_one_by_one$  sR      k!:W MAJE)r!   c                ^   V P                  V P                  R 4      RR7      pV P                  VP                  4       . RO4       VP	                  ^ 4       V P                  VP                  R4      . RO4       VP	                  ^ 4       V P                  VP                  ^4      RR.4       R# )s   AA
BB
CCr>  r1   AA
BB
N)rH  rI  CC)r}  ro  r%  r  rj   r?   r  s   & r   rL   TextIOWrapperTest.test_readlines.  s      m!<w O*@At,.DEq)FF+;<r!   c                    V P                  V P                  R4      RR7      pRp VP                  ^4      pV'       g   M
W#,          pK%  V P                  VR4       R# )r  r>  r1   r  Ns   AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BrB  rC  s   &   r   test_read_by_chunk$TextIOWrapperTest.test_read_by_chunk7  sS      .C!Dw WAJE.r!   c                    . ROpV P                  4       pV P                  VRR7      pVP                  V4       VP                  4        V P	                  VP                  4       R4       R# r  r>  r1   r  N)r  cdef)ro  r}  rE  r   r%  r  r?   rt  rr   r  s   &   r   r  !TextIOWrapperTest.test_writelinesB  sR    lln  w 7q		3r!   c                    \        . RO4      pV P                  4       pV P                  VRR7      pVP                  V4       VP	                  4        V P                  VP                  4       R4       R# rQ  )r   ro  r}  rE  r   r%  r  rT  s   &   r   r  *TextIOWrapperTest.test_writelines_userlistJ  sX    '(lln  w 7q		3r!   c                   V P                  V P                  4       R R7      pV P                  \        VP                  . RO4       V P                  \        VP                  R4       V P                  \        VP                  R4       R# )r>  r1   Nro  r  )r}  ro  r'  r(  rE  rK  s   & r   r
  'TextIOWrapperTest.test_writelines_errorR  s_      ' B)S^^Y?)S^^T:)S^^V<r!   c                    V P                  V P                  V P                  4      R R7      pRp VP                  ^4      pV'       g   M
W#,          pK%  V P	                  W P
                  4       R# r{  r1   r  N)r}  ro  r^  r   r%  r_  rC  s   &   r   test_issue1395_1"TextIOWrapperTest.test_issue1395_1X  sZ      dmm!<w O AJE0r!   c                    V P                  V P                  V P                  4      R R7      p^Vn        Rp VP	                  ^4      pV'       g   M
W#,          pK%  V P                  W P                  4       R# r[  r}  ro  r^  r5   r   r%  r_  rC  s   &   r   test_issue1395_2"TextIOWrapperTest.test_issue1395_2d  s_      dmm!<w OAJE0r!   c                v   V P                  V P                  V P                  4      R R7      p^Vn        VP	                  ^4      pW!P	                  ^4      ,          pW!P                  4       ,          pW!P                  4       ,          pW!P                  4       ,          pV P                  W P                  4       R# r{  r1   N)r}  ro  r^  r5   r   rD  r%  r_  r?   r  rD  s   &  r   test_issue1395_3"TextIOWrapperTest.test_issue1395_3p  s      dmm!<w O!0r!   c                    V P                  V P                  V P                  4      R R7      p^Vn        VP	                  ^4      pW!P	                  4       ,          pV P                  W P                  4       R# rc  r_  rd  s   &  r   test_issue1395_4"TextIOWrapperTest.test_issue1395_4{  sX      dmm!<w O0r!   c                4   V P                  V P                  V P                  4      R R7      p^Vn        VP	                  ^4      pVP                  4       pVP                  ^ 4       VP                  V4       V P                  VP	                  ^4      R4       R# )r{  r1   zBBB
N)r}  ro  r^  r5   r   rn   rj   r%  )r?   r  rD  r   s   &   r   test_issue1395_5"TextIOWrapperTest.test_issue1395_5  sq      dmm!<w Ohhj!g.r!   c                    V P                  V P                  4      pV P                  VR R7      pV P                  VP	                  4       VP	                  4       4       R# rc  )ro  r^  r}  r%  rd   )r?   r)  r  s   &  r   test_issue2282 TextIOWrapperTest.test_issue2282  sF    dmm,  ' :*CLLN;r!   c           	        \         P                  pR	 EF$  pV P                  VRVR7      ;_uu_ 4       pVP                  R4       VP	                  4       pRRR4       V P                  VR4      ;_uu_ 4       pV P                  VP                  4       RP                  V4      4       RRR4       V P                  VRVR7      ;_uu_ 4       pVP                  R4       RRR4       V P                  VR4      ;_uu_ 4       pV P                  VP                  4       RP                  V4      4       RRR4       EK'  	  R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     EKv  ; i)
	utf-8-sigr=  r1   aaaNrB  r  xxxaaaxxxrq  r  r  )r   r  r3   rU   rn   r%  r   rJ  r?   filenamecharsetr6   r   s   &    r   test_append_bom!TextIOWrapperTest.test_append_bom  s   ##8G8S7;;qffh < 8T**a  5<<+@A + 8S7;;q <8T**a  8??7+CD +* 9;; +* <;***s/   "D>70EE$?0E7>EE!$E47F	c           	        \         P                  pR
 EF  pV P                  VRVR7      ;_uu_ 4       pVP                  R4       VP	                  4       pRRR4       V P                  VRVR7      ;_uu_ 4       pVP                  X4       VP                  R4       VP                  ^ 4       VP                  R4       RRR4       V P                  VR4      ;_uu_ 4       pV P                  VP                  4       R	P                  V4      4       RRR4       EK  	  R#   + '       g   i     L; i  + '       g   i     L|; i  + '       g   i     EKD  ; i)rq  r=  r1   rr  Nr  zzzbbbrB  bbbzzzru  )	r   r  r3   rU   rn   rj   r%  r   rJ  rv  s   &    r   test_seek_bomTextIOWrapperTest.test_seek_bom  s    ##8G8S7;;qffh < 8TG<<sq		 =
 8T**a  8??7+CD +* 9;; =<
 +**s$   "D9AD2 0ED/2EEc           	        \         P                  pR	 F  pV P                  VRVR7      ;_uu_ 4       pVP                  R4       RRR4       V P                  VRVR7      ;_uu_ 4       pVP	                  ^ 4       VP	                  ^ V P
                  4       VP                  R4       RRR4       V P                  VR4      ;_uu_ 4       pV P                  VP                  4       RP                  V4      4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     L{; i  + '       g   i     EK,  ; i)
rq  r=  r1   rr  Nr  rs  rB  rt  ru  )	r   r  r3   rU   rj   rG  r%  r   rJ  )r?   rw  rx  r6   s   &   r   test_seek_append_bom&TextIOWrapperTest.test_seek_append_bom  s    ##8G8S7;;q <8S7;;qq	q$--( < 8T**a  8??7+CD +* 9;;;; +**s#   D(?D	0D-DD*-D?c                   V P                  \        P                  R RR7      ;_uu_ 4       pV P                  VP                  R4       RRR4       V P                  \        P                  R RRR7      ;_uu_ 4       pV P                  VP                  R4       RRR4       R#   + '       g   i     Lb; i  + '       g   i     R# ; i)r=  r>  r1   rF  Nr  rk  )r3   r   r  r%  rj  r9  s   & r   test_errors_property&TextIOWrapperTest.test_errors_property  s    YYy''wY??1QXXx0 @YYy''wyYQQUVQXXy1 RQ @?QQQs   B";B5"B2	5C	c           
       aa \         P                  ! 4       oV P                  \        P                  R R^R7      ;_uu_ 4       oVV3R lp\        ^4       Uu. uF  p\         P                  ! W3R7      NK  	  pp\        P                  ! VSP                  4      ;_uu_ 4        \        P                  ! R4       RRR4       RRR4       V P                  \        P                  RR7      ;_uu_ 4       oSP                  4       p\        ^4       F+  pV P                  VP                  RV,          4      ^4       K-  	  RRR4       R# u upi   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)	r=  r>  r  c                 \   < R V ,          pSP                  4        SP                  V4       R# )Thread%03d
N)r
  rU   )rt   texteventr6   s   & r   run1TextIOWrapperTest.test_threads_write.<locals>.run  s!    %)

r!   r\  rn  Nr1   r  )r   r   r3   r   r  r.  r_  r   r  r   r   r   r   r%  r   )r?   r  r	  ru  contentrt   r  r6   s   &     @@r   test_threads_write$TextIOWrapperTest.test_threads_write  s    !YYy''w!YLLPQ
 !&b	+ )1 !''s> )  +!//CC

4  D M YYy'''Y::affhG2Y  ~/A!BAF  ;:	+CC ML ;::sC   E!!E	9+E!$E	;E!4AE4	E!EE!!E1	4F	c                  aa V P                  V P                  V P                  4      R R7      o. oVV3R lpVSn        V P	                  \
        SP                  4       V P                  SP                  4       V P                  SP                  P                  4       V P                  S4       V P                  S^ ,          4       V P                  S^,          4       R Sn        R# )r{  r1   c                  b   < SP                   SP                  P                   .S R &   \        4       hrY  )r   r)  r   )r   r  s   r   rZ  >TextIOWrapperTest.test_flush_error_on_close.<locals>.bad_flush  s&    SZZ%6%67F1I)Or!   c                      R # rR   r#   r#   r!   r   r]  =TextIOWrapperTest.test_flush_error_on_close.<locals>.<lambda>  r  r!   N)r}  ro  r^  r   r'  r   r   r`  r   r)  ra  )r?   rZ  r   r  s   & @@r   ri  +TextIOWrapperTest.test_flush_error_on_close  s       dmm!<w O	 	'399-

#

))*## 	r!   c                n   V P                  V P                  4      pR  pR pW1n        V P                  VRR7      pW$n        V P                  \        4      ;_uu_ 4       pVP                  4        RRR4       V P                  XP                  P                  R4       V P                  VP                  P                  \        4       V P                  VP                  P                  P                  R4       V P                  VP                  4       R Vn        R Vn        R#   + '       g   i     L; i)	c                      \        R 4      hr  r   r#   r!   r   rZ  >TextIOWrapperTest.test_close_error_on_close.<locals>.bad_flush  r  r!   c                      \        R 4      hr  r   r#   r!   r   r  >TextIOWrapperTest.test_close_error_on_close.<locals>.bad_close  r  r!   r{  r1   Nc                      R # rR   r#   r#   r!   r   r]  =TextIOWrapperTest.test_close_error_on_close.<locals>.<lambda>  r  r!   c                      R # rR   r#   r#   r!   r   r]  r    r  r!   r  r  )ro  r^  r   r}  r   r'  r   r%  r  r   r  r  ra  r   r?   r)  rZ  r  r  r  s   &     r   r  +TextIOWrapperTest.test_close_error_on_close  s    dmm,	#	#   ' :	w''3IIK (++Z8cmm77A2277D$ $ 	 ('s   D$$D4	c                j   V P                  V P                  4      pR  pR pW1n        V P                  VRR7      pW$n        V P                  \        4      ;_uu_ 4       pVP                  4        RRR4       V P                  R\        XP                  4      4       V P                  VP                  P                  \        4       V P                  R\        VP                  P                  4      4       V P                  VP                  4       R Vn        R Vn        R#   + '       g   i     L; i)	c                      \         hrR   r  r#   r!   r   rZ  LTextIOWrapperTest.test_nonnormalized_close_error_on_close.<locals>.bad_flush  r  r!   c                      \         hrR   r  r#   r!   r   r  LTextIOWrapperTest.test_nonnormalized_close_error_on_close.<locals>.bad_close  r  r!   r{  r1   Nr  r  c                      R # rR   r#   r#   r!   r   r]  KTextIOWrapperTest.test_nonnormalized_close_error_on_close.<locals>.<lambda>  r  r!   c                      R # rR   r#   r#   r!   r   r]  r    r  r!   )ro  r^  r   r}  r   r'  r  r  r  r  r  r  ra  r   r  s   &     r   r  9TextIOWrapperTest.test_nonnormalized_close_error_on_close  s    dmm,	%	%   ' :	y))SIIK **C,>?cmm77C*C0I0I,JK$ $ 	 *)s   D""D2	c                    V P                  V P                  V P                  4      R R7      pVP                  4        VP                  4        VP                  4        V P	                  \
        VP                  4       R# rc  )r}  ro  r^  r   r'  r  r   rK  s   & r   rl  "TextIOWrapperTest.test_multi_close  sS      dmm!<w O						*cii0r!   c                    V P                  V P                  V P                  4      R R7      pV P                  V P                  VP
                  4       V P                  V P                  VP                  ^ 4       R# r  )r}  r   r^  r'  r   rn   rj   rK  s   & r   r  !TextIOWrapperTest.test_unseekable  s]      !6!6t}}!EPW X$33SXX>$33SXXqAr!   c                   V P                  V P                  V P                  4      R R7      pV P                  V P                  4      pV P                  \        4      ;_uu_ 4        W!n        RRR4       R#   + '       g   i     R# ; irc  )r}  ro  r^  r'  r  r)  )r?   r  rr   s   &  r   r  *TextIOWrapperTest.test_readonly_attributes  s[      dmm!<w Oll4==)~..J /...s   %A66B	c                   V P                  . R	O4      pV P                  VRRR7      pV P                  VP                  ^4      R4       V P                  VP	                  4       R4       V P                  \        V4      RR.4       R# )
ro  r{  r  r  abcdzefghi
zjkl
zopq
Nro  r  s   ghi
jkl
opq
)r   r}  r%  r   rD  rI   r?   rC  r  s   &  r   
test_rawioTextIOWrapperTest.test_rawio#  sq     nnAB  w E!f-3cWg$67r!   c                   V P                  . RO4      pV P                  VRRRR7      pVP                  R4       VP                  R4       VP                  R4       V P                  RP	                  VP
                  4      R	4       R
# )ro  r{  r  T)r2   r  r}  1z23
45r!   s   123
45Nr  )r   r}  rU   r%  r   rK   r  s   &  r   test_rawio_write_through*TextIOWrapperTest.test_rawio_write_through.  sp    nnAB  w/3 ! 5		#		'		##"2"23Z@r!   c                0  aa . . uoo ! VV3R  lRV P                   4      pV P                  4       pRpV! V\        V4      ^,          4      pV P                  VRRR7      pVP	                  R4      pVP                  V4       V P                  S4       V P                  S4       V P                  VP                  4       R4       . oVP                  V^
,          4       V P                  S4       V P                  VP                  4       V^,          4       R# )c                   D   <a a ] tR tRt oV V3R ltV V3R ltRtVtV ;t# )BTextIOWrapperTest.test_bufio_write_through.<locals>.BufferedWriteri<  c                F   < SP                  R 4       \        SV `  ! V/ VB # rX   r  )r?   r   rb  r   flush_calleds   &*,r   r   HTextIOWrapperTest.test_bufio_write_through.<locals>.BufferedWriter.flush=  %    ##D)w}d5f55r!   c                F   < SP                  R 4       \        SV `  ! V/ VB # rX   )rS   r   rU   )r?   r   rb  r   write_calleds   &*,r   rU   HTextIOWrapperTest.test_bufio_write_through.<locals>.BufferedWriter.write@  r  r!   r#   )	r%   r&   r'   r(   r   rU   r)   rC   r   )r   rE   r  r  s   @@r   rj  r  <  s     66 6r!   rj  r)  r{  T)r2   r}  r!   N)
rj  ro  r   r}  r@  rU   ra  r`  r%  r  )	r?   rj  rw  r   r  r  r  r  r  s	   &      @@r   test_bufio_write_through*TextIOWrapperTest.test_bufio_write_through8  s     &("l	6 	6T00 	6 uc$ik2##EG26 $ 8 {{7#T 	&%)3/TBY%)4"95r!   c                   V P                  . 4      pV P                  VR RR7      pVP                  R4       VP                  RR7       V P	                  VP
                  R4       V P	                  RP                  VP                  4      R4       VP                  R4       V P	                  RP                  VP                  4      R	4       VP                  R
R7       V P	                  VP
                  R
4       VP                  R4       VP                  4        V P	                  RP                  VP                  4      R4       VP                  4        VP                  RR7       V P	                  VP
                  R
4       VP                  RR7       VP                  4        VP                  RR7       V P	                  VP
                  R4       R# )r{  r  r  r  Tr}  r!   r  23r  F45r  N)	r   r}  rU   r  r%  r}  r   rK   r   r  s   &  r   test_reconfigure_write_through0TextIOWrapperTest.test_reconfigure_write_throughX  sV   nnR sWdC		D)$/#"2"23T:	#"2"23V<	E*%0			#"2"23X>		D)%0	D)		D)$/r!   c                   V P                  V P                  R 4      RR7      pV P                  \        VP                  ^4       V P                  V P                  R 4      RR7      pV P                  \        VP
                  4       V P                  V P                  R 4      RR7      pV P                  \        VP                  4       R# )r  r>  r1   N)r}  r  r'  r(  r   rD  rt  s   & r   test_read_nonbytes$TextIOWrapperTest.test_read_nonbyteso  s     t}}S1GD)QVVQ/t}}S1GD)QZZ0t}}S1GD)QVV,r!   c                0   \         P                  ! R 4      p\        P                  ! VRR4      ;_uu_ 4        V P	                  V P                  R4      R R7      pRRR4       V P                  \        XP                  R4       R#   + '       g   i     L3; i)rot13_is_text_encodingT   foor1   NrA  )	r'  rO  r   r  r}  ro  r'  r(  rU   )r?   r  r/  s   &  r   test_illegal_encoder&TextIOWrapperTest.test_illegal_encodery  sl     g&u&94@@""4<<#7'"JA A)QWWe4 A@s   #BB	c                  a a V 3R  loS! 4       pS P                  \        VP                  ^4       S! 4       pS P                  \        VP                  4       S! 4       pS P                  \        VP                  4       V3R lpV! ^*4      pS P                  \        VP                  ^*4       V! R4      pS P                  \        VP                  ^*4       V! R4      pS P                  \        VP                  ^*4       R# )c                     < \         P                  ! R 4      p RV n         SP                  SP	                  R4      RR R7      pRV n        V#   RT n        i ; i)quopriTs   aaaaaar  r  F)r'  rO  r  r}  ro  )r  r/  r?   s     r   _make_illegal_wrapperETextIOWrapperTest.test_illegal_decoder.<locals>._make_illegal_wrapper  s_    ]]8,F'+F$1&&t||I'>/3h ' H ,1(H ,1(s   #A 	Ac                    <a a  ! V 3R  lR4      oV3R lp\         P                  ! R4      p\        P                  ! VRV4      ;_uu_ 4        S! 4       uuRRR4       #   + '       g   i     R# ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )^TextIOWrapperTest.test_illegal_decoder.<locals>._make_very_illegal_wrapper.<locals>.BadDecoderi  c                   < S# rR   r#   )r?   getstate_ret_vals   &r   r3  gTextIOWrapperTest.test_illegal_decoder.<locals>._make_very_illegal_wrapper.<locals>.BadDecoder.getstate  s	    ++r!   r#   N)r%   r&   r'   r(   r3  r)   rC   )rE   r  s   @r   
BadDecoderr    s     , ,r!   r  c                    < S! 4       # rR   r#   )r  r  s   &r   _get_bad_decoderdTextIOWrapperTest.test_illegal_decoder.<locals>._make_very_illegal_wrapper.<locals>._get_bad_decoder  s    !|#r!   r  rN  N)r'  rO  r   r  )r  r  r  r  r  s   f  @r   _make_very_illegal_wrapperJTextIOWrapperTest.test_illegal_decoder.<locals>._make_very_illegal_wrapper  sV    , ,$]]8,F""6+?#35 5,.5 5 5 5s   AA0	Nr#   )r=   r   )r'  r(  r   rD  )r?   r/  r  r  s   f  @r   test_illegal_decoder&TextIOWrapperTest.test_illegal_decoder  s    	 "#)QVVQ/!#)QZZ0!#)QVV,
		/ 'r*)QVVR0&r*)QVVR0&v.)QVVR0r!   c                j    V P                   P                  pR P                  W!R7      p\        RV4      # )aO  if 1:
            import codecs
            import {iomod} as io

            # Avoid looking up codecs at shutdown
            codecs.lookup('utf-8')

            class C:
                def __del__(self):
                    io.TextIOWrapper(io.BytesIO(), **{kwargs})
                    print("ok")
            c = C()
            )iomodrb  rM  )r   r%   rP  r   )r?   rb  r  codes   &,  r   _check_create_at_shutdown+TextIOWrapperTest._check_create_at_shutdown  s:        U2 	  d++r!   c                    V P                  4       w  rpV'       d-   V P                  V P                  VP                  4       4       R# V P	                  R VP                  4       P                  4       4       R# )okN)r  r  shutdown_errorr@  r%  stripr?   rcoutr  s   &   r   (test_create_at_shutdown_without_encoding:TextIOWrapperTest.test_create_at_shutdown_without_encoding  sR    557 MM$--szz|<T3::<#5#5#78r!   c                    V P                  R RR7      w  rpV P                  V4       V P                  RVP                  4       P	                  4       4       R# )r>  rF  rk  r  N)r  ra  r%  r@  r  r  s   &   r   %test_create_at_shutdown_with_encoding7TextIOWrapperTest.test_create_at_shutdown_with_encoding  sN    55w=E 6 Gszz|1134r!   c                    \        R 4      pV P                  VR4      p\        VP                  4       4      P	                  4       pV P                  VP                  ^4      VP                  R4      4       R# )s   Just some random string
r>  N)MemviewBytesIOr}  _to_memoryviewr  r/  r%  r   r@  )r?   r/   r/  	bytes_vals   &   r   test_read_byteslike%TextIOWrapperTest.test_read_byteslike  s]    78q'*
 $AJJL199;	i&6&6w&?@r!   c                     ! R  R\         4      p\        ^
4       F  p V P                  V! 4       RR7       K  	  R Vn        V P                  V! 4       RR7      pR#   \         d     KP  i ; i)c                   2   a  ] tR tRt o R tR tR tRtV tR# ),TextIOWrapperTest.test_issue22849.<locals>.Fi  c                    R # rX   r#   r>   s   &r   ra   5TextIOWrapperTest.test_issue22849.<locals>.F.readable      tr!   c                    R # rX   r#   r>   s   &r   rY   5TextIOWrapperTest.test_issue22849.<locals>.F.writable  r  r!   c                    R # rX   r#   r>   s   &r   rd   5TextIOWrapperTest.test_issue22849.<locals>.F.seekable  r  r!   r#   N)	r%   r&   r'   r(   ra   rY   rd   r)   rC   rD   s   @r   Fr    s     ++++r!   r
  r>  r1   c                     ^ # rg   r#   r	  s   &r   r]  3TextIOWrapperTest.test_issue22849.<locals>.<lambda>  s    1r!   N)objectr.  r}  rh  rn   )r?   r
  r*  r/  s   &   r   test_issue22849!TextIOWrapperTest.test_issue22849  sl    	, 	,
 rA""13"9  qsW5	  s   AA,+A,c                j    V P                  V P                  R 4      4      pVP                  RR7       R# )   testr  r1   N)r}  ro  r  )r?   wrappers   & r   test_reconfigure_locale)TextIOWrapperTest.test_reconfigure_locale  s,    $$T\\'%:;X.r!   c                $   R P                  R4      RP                  R4      ,           pV P                  V4      pV P                  VRRR7      pV P                  VP	                  4       R 4       V P                  V P                  4      ;_uu_ 4        VP                  RR7       RRR4       V P                  V P                  4      ;_uu_ 4        VP                  RR	7       RRR4       R#   + '       g   i     LP; i  + '       g   i     R# ; i)
   abcé
rQ     déf
utf8r  r  r>  r1   Nr  )rJ  ro  r}  r%  rD  r'  r   r  )r?   r   rC  r  s   &   r   test_reconfigure_encoding_read0TextIOWrapperTest.test_reconfigure_encoding_read  s     !!(+j.?.?.GGll4   x F5t8899OOWO- :t8899OODO) :9 :9999s   C+C>+C;	>D	c                   V P                  4       pV P                  VR RR7      pVP                  R4       VP                  RR7       VP                  R4       VP	                  4        V P                  VP                  4       R4       R# )	r{  r  r  foo
rq  r1   ri  s   foo
é
N)ro  r}  rU   r  r   r%  r  r  s   &  r    test_reconfigure_write_fromascii2TextIOWrapperTest.test_reconfigure_write_fromascii  sl     lln  w E		'-		(		);<r!   c                f   V P                  4       pV P                  VR RR7      pVP                  R4       VP                  RR7       V P	                  VP                  4       R4       VP                  R4       VP                  4        V P	                  VP                  4       R4       V P                  4       pV P                  VR	RR7      pVP                  R
4       VP                  RR7       VP                  R4       VP                  4        V P	                  VP                  4       R4       R# )rQ  r  r  r  r>  r1   s   abc
r  s
   abc
déf
r{  abc
rq  s	   abc
déf
N)ro  r}  rU   r  r%  r  r   r  s   &  r   test_reconfigure_write(TextIOWrapperTest.test_reconfigure_write  s    lln  x F		+)6		*		)AB lln  w E		'-		*		)=>r!   c                4   V P                  4       pR  Vn        RVn        V P                  VRRR7      pVP	                  R4       VP                  RR7       VP	                  R4       VP                  4        V P                  VP                  4       R	4       R# )
c                      R # r   r#   r#   r!   r   r]  GTextIOWrapperTest.test_reconfigure_write_non_seekable.<locals>.<lambda>  s    ur!   Nr{  r  r  r"  rq  r1   r  s   abc
﻿déf
)	ro  rd   rj   r}  rU   r  r   r%  r  r  s   &  r   #test_reconfigure_write_non_seekable5TextIOWrapperTest.test_reconfigure_write_non_seekable  sz    lln$  w E		'-		*		 	*JKr!   c                f   V P                  V P                  4       R RR4      pVP                  RR7       V P                  VP                  R 4       V P                  VP
                  R4       VP                  R4       VP                  RR7       V P                  VP                  R 4       V P                  VP
                  R4       VP                  RR	7       V P                  VP                  R 4       V P                  VP
                  R4       VP                  R
4       VP                  RRR7       V P                  VP
                  R4       VP                  ^ 4       V P                  VP                  4       R4       V P                  VP                  4       P                  4       R4       R# )r{  r  r  Nr1   LF
rg  r  r  rj  CRLF
r>  r  rF  zLF
CRLF
s	   LF
CRLF
)r}  ro  r  r%  r2   rj  rU   rj   r   ry  r  rK  s   & r   test_reconfigure_defaults+TextIOWrapperTest.test_reconfigure_defaults#  s<     )TJ&w/Y/		&'w/Y/x(w/X.		($7X.\2..0/Br!   c                v   V P                  V P                  4       R RR4      pV P                  \        4      ;_uu_ 4        VP	                  ^*R7       RRR4       V P
                  '       dq   V P                  \        4      ;_uu_ 4        VP	                  RR7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  RR7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  ^*R7       RRR4       V P
                  '       d9   V P                  \        4      ;_uu_ 4        VP	                  RR7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  ^*R7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  RR7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  R	R7       RRR4       V P
                  '       g9   V P                  \        4      ;_uu_ 4        VP	                  R
R7       RRR4       V P
                  '       EdH   V P                  \        4      ;_uu_ 4        VP	                  \        4       R7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  ^R,          R7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  \        4       R7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  ^R,          R7       RRR4       V P                  \        4      ;_uu_ 4        VP	                  \        4       \        4       R7       RRR4       V P                  VP                  R 4       V P                  VP                  R4       V P                  VP                   R4       V P                  VP"                  R4       VP	                  RRRRRR7       V P                  VP                  R4       V P                  VP                  R4       V P                  VP                   R4       V P                  VP"                  R4       R#   + '       g   i     ELY; i  + '       g   i     EL#; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL]; i  + '       g   i     EL9; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELm; i  + '       g   i     ELB; i  + '       g   i     EL; i)r{  r  r  r1   Nrj  zlocale r,  r  xyzrl  r  rf  r  )rh  r}  FrQ  r  rg  T)r2   rj  r  rh  r}  )r}  ro  r'  r(  r  rm  rn  rx  r  r  r:   r7  r%  r2   rj  rx  rh  r}  rK  s   & r   test_reconfigure_errors)TextIOWrapperTest.test_reconfigure_errors:  s     )TJy))OORO( *999""#5662 7"";//4 0 y))OO2O& *999""#566x0 7 y))OOBO' *z**OOHO- +z**OOEO* +yyy"":../ /999""#455xz: 6""=11q$w7 2""#455hj9 6""=11ag6 2""#455xz.6j   : 6 	w/Y/c((%0c''/(F'+4 	 	Ax0X.c(($/c''.c *)) 766/// *)) 766 *))****** /.. 655111555111555s    R#
R7S:SS3<T4T,T/6UUU+ U? V?$V'#R4	7S	S	S0	3T	T	T,	/U 	U	U(	+U<	?V	V$	'V8	c                   V P                  R 4      pV P                  VRRR7      pVP                  RR7       V P                  VP	                  4       R4       V P                  R 4      pV P                  VRRR7      pVP                  RR7       V P                  VP	                  4       R4       V P                  R4      pV P                  VRR	R7      pVP                  RR7       V P                  VP	                  4       R
4       V P                  R4      pV P                  VRRR7      pVP                  R	R7       V P                  VP	                  4       R4       V P                  R4      pV P                  VRR	R7      pVP                  RR7       V P                  VP	                  4       R4       V P                  V P                  4       RR	R7      pVP                  RR7       VP                  R4       VP                  RR7       VP                  R4       VP                  RR7       VP                  R4       VP                  R	R7       VP                  R4       VP                  RR7       VP                  R4       R\        P                  ,           R,           pV P                  VP                  4       P                  4       P                  R4      V4       R# )s   CREOFr{  r  r  NzCR
r  zCRs	   CRLF
EOFr  zCRLF
s	   LF
CREOFzLF
CRs   CRCRLF
EOFrg  z	CRCRLF
zlinesep
r+  r-  r  zLF
LF
CRCRLF
)ro  r}  r  r%  rD  rU   rV  r  ry  r  r@  )r?   rC  r  r  s   &   r   test_reconfigure_newline*TextIOWrapperTest.test_reconfigure_newlineo  sM   ll:&  gt <%0ll:&  gt <#0ll>*  gt <%4ll>*  gt <%4ll-.  gt <'8  $ G%		+#		&%		&%		&'		(rzz),BB..077@(Kr!   c                T   V P                  V P                  R 4      RR7      pVP                  ^4       VP                  4        VP                  4        V P                  V P                  R 4      RR7      pVP                  ^4       VP	                  R4       VP                  4        R# )r  r{  r1   r	  N)r}  ro  r   rn   rU   rt  s   & r   test_issue25862!TextIOWrapperTest.test_issue25862  sz    t||G4wG	q			t||G4wG	q			r!   c                8   V P                  V P                  R 4      V P                  4       4      pV P                  V4      pVP                  4       pV P	                  VR4       VP                  V4       V P	                  W2P                  4       ,           R4       R# )s   foo
bar
r  zfoo
bar
N)rs  ro  r}  rD  r%  rU   )r?   pr6   r   s   &   r   test_issue35928!TextIOWrapperTest.test_issue35928  sr    ] ;T\\^Lq!jjlg&	zz|+\:r!   c                  a   ! V 3R  lRS P                   4      sS P                  R4      p\        VR4      p\        \        P
                  ^,           4       F  pS P                  VR7      ;_uu_ 4        \        P                  ! W#4      p\        P                  ! V4      pS P                  VP                  P                  4       R4       S P                  VP                  R4       RRR4       K  	  @R#   + '       g   i     K  ; i)c                   F   <a a ] tR tRt oV 3R ltR tV3R ltRtVtV ;t	# )r  i  c                2   < \         SV `  V4       W n        R # rR   r  r  s   &&&r   rO   MyTextIO.__init__  r  r!   c                N    V P                   V P                  P                  4       3# rR   )r  r)  r  r>   s   &r   r  MyTextIO.__getstate__  s    xx!5!5!777r!   c                R   < Vw  r#V P                  SP                  V4      V4       R # rR   r  r  s   &&  r   rc  MyTextIO.__setstate__  r  r!   r  r  r  s   @@r   r  r    s     87 7r!   r  r  r  r  N)r}  r  ro  r.  r  r   r  r  r  r%  r)  r  r  )r?   rC  r  r  r  newtxts   f     r   r  (TextIOWrapperTest.test_pickling_subclass  s    	7t)) 	7 ll7#sE"622Q67Eu-- ,,s2g.  !7!7!97C  U3	 .- 8  .--s   4A3C66DrR  rS  c           	        ^ RI pVP                  ! 4       w  r# VP                  ! VR4       V P                  P	                  VR4      ;_uu_ 4       pRpV P                  \        4      ;_uu_ 4        VP                  4        RRR4       RRR4       Ve   VP                  ! V4       VP                  ! V4       R#   + '       g   i     LB; i  + '       g   i     LM; i  Te   TP                  ! T4       TP                  ! T4       i ; i)r   NFrt)	rV  rR  set_blockingr   r3   r'  r  r   r   )r?   rV  r/   r=  textfiles   &    r   r[  (TextIOWrapperTest.test_read_non_blocking  s    wwy
	OOAu%a&&(&&77MMO 8 ' }HHQK 87 '& }HHQKs;   7C!  C0B;	C	C! ;CCC	C! !*D)r_  r^  N)`r%   r&   r'   r(   r  r   r  r"  ry  r|  r  r  r  r  r  r   skipIfr  r  	utf8_moder  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r.  r3  r7  r?  rE  rL  rN  r  r  r
  r\  r`  re  rh  rk  rn  ry  r  r  r  r   
no_tracingr   r#  r  ri  r  r  rl  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r(  r.  r2  r5  r8  r<  r  r!  r"  rV  r[  r)   rC   rD   s   @r   r\  r\  
  s    >+!=F	(2*((6	516 __SYY((*ABB CB	"4$50(IT< 7$&,.>:),(5"	-8^J(-*=	/44=
1
1	11/<EEE2 002G 3 G"!"!(!*1B
	8A6@0.-5&1P,&95	A6/
*
=?*LC.3/j"LH	;, V,.BC Dr!   r\  c                   >   a a ] tR tRt oV 3R ltV 3R ltRtVtV ;t# )r  i  c                4   < \        \        SV `	  V4      4      # rR   )r  r   r  r?   len_r   s   &&r   r  MemviewBytesIO.read1  s    egmD122r!   c                4   < \        \        SV `	  V4      4      # rR   )r  r   r   rR  s   &&r   r   MemviewBytesIO.read  s    egl4011r!   r#   )	r%   r&   r'   r(   r  r   r)   rC   r   r   s   @@r   r  r    s     32 2r!   r  c                     \         P                   ! R 4      p\        V 4      \        V 4      VP                  ,          ,
          pVP                  V RV 4       \	        V4      # )r*  N)r-   r   itemsize	frombytesr   )rr   arridxs   &  r   r  r    sI     ++c
C
c(SX,
,CMM#ds)c?r!   c                   L   a  ] tR tRt o ]tRtR tR tR tR t	R t
R tR	tV tR
# )CTextIOWrapperTesti  $LookupError: unknown encoding: asciic                z   V P                  R 4      pV P                  VR4      pV P                  VRR7      pV P                  \        VP
                  VRRR7       V P                  \        VP                  4       V P                  P                  V P                  4      pV P                  \        \        V4       R# )rf  rf  r>  r1   r  r  N)
ro  re  r}  r'  r  rO   r   r!  rh  rz  r~  s   &   r   r  &CTextIOWrapperTest.test_initialization  s    LL)4(q73*ajj!gwW*aff-&&t'9'9:)T1-r!   c                   \         P                  ! R \        34      ;_uu_ 4        V P                  \        P
                  R4      pV P                  V4      pV P                  VRR7      pVP                  R4       W3n	        \        P                  ! V4      p?\        P                  ! 4        RRR4       V P                  X! 4       V4       V P                  \        P
                  R4      ;_uu_ 4       pV P!                  VP#                  4       R4       RRR4       R#   + '       g   i     Lz; i  + '       g   i     R# ; i)r  r?  r{  r1   456defNrB  s   456def)r   r   r  rW  r   r  rj  r}  rU   r	  rG  rH  r   r  rI  r3   r%  r   )r?   rw  r,   r/  rJ  r6   s   &     r   rK  *CTextIOWrapperTest.test_garbage_collection  s     ++R,ABBKK	 0 0$7E##E*A""1w"7AGGHCQB  C 	"$#YYy''..!QVVXy1 /. CB /..s   BD4!D2D/	2E	c                p   \        R 4       F  pV P                  V P                  4       V P                  4       4      pV P                  VRR7      pV P                  V P                  4       V P                  4       4      pV P                  VRR7      pWSn        W5n        K  	  \
        P                  ! 4        R# )rf  r{  r1   N)r.  rs  r   r}  buddyr   r  )r?   r*  b1t1b2t2s   &     r   !test_rwpair_cleared_before_textio4CTextIOWrapperTest.test_rwpair_cleared_before_textio  s     tA$$T^^%5t~~7GHB##B#9B$$T^^%5t~~7GHB##B#9BHH  	r!   c                    V P                  V P                  4       R R7      pV P                  \        4      ;_uu_ 4        V=RRR4       R#   + '       g   i     R# ; irc  )r}  ro  r'  r  r5   rt  s   & r    test_del__CHUNK_SIZE_SystemError3CTextIOWrapperTest.test_del__CHUNK_SIZE_SystemError  sB    t||~@~.. /...s   AA	c                  a R o ! V3R lRV P                   4      pV! 4       pV P                  VRR7      pVP                  oVP                  R4       VP                  R4       V P	                  . VP
                  4       V P                  \        4      ;_uu_ 4        VP                  RS^,           ,          4       RRR4       V P	                  R	.VP
                  4       VP                  R
4       VP                  RS,          4       V P	                  R	RRS,          .VP
                  4       R#   + '       g   i     L~; i)r  c                   6   <a a ] tR tRt oV V3R ltRtVtV ;t# )<CTextIOWrapperTest.test_internal_buffer_size.<locals>.MockIOi  c                N   < \        V4      S8  d   \        h\        SV `  V4      # rR   )r   r  r   rU   )r?   r   r   r  s   &&r   rU   BCTextIOWrapperTest.test_internal_buffer_size.<locals>.MockIO.write  s$    t9z)&&w}T**r!   r#   )r%   r&   r'   r(   rU   r)   rC   r   )r   rE   r  s   @@r   MockIOrq    s     + +r!   rt  r{  r1   r	  r  r	  Nr  ghir  r/  )r   r}  r5   rU   r%  rK   r'  r  )r?   rt  rr   r/  r  s   &   @r   test_internal_buffer_size,CTextIOWrapperTest.test_internal_buffer_size  s     
	+T^^ 	+ hsW5]]
		S--.|,,GGCA&' - 	)c&6&67		J)VT*_=s?O?OP -,s    D33E	c                L  a R p ! V3R lRV P                   4      pV! 4       pV P                  V4      oSP                  R4       SP                  R4       SP                  RV,          4       SP                  4        V P	                  RRRV,          .VP
                  4       R	# )
r  c                   :   <a a ] tR tRt oRtV V3R ltRtVtV ;t# )3CTextIOWrapperTest.test_issue119506.<locals>.MockIOi0  Fc                v   < V P                   '       g   R V n         SP                  R4       \        SV `  V4      # )Tmiddle)r  rU   r   )r?   r   r   r/  s   &&r   rU   9CTextIOWrapperTest.test_issue119506.<locals>.MockIO.write2  s.    |||#'DLGGH%w}T**r!   )r  )	r%   r&   r'   r(   r  rU   r)   rC   r   )r   rE   r/  s   @@r   rt  rz  0  s     G+ +r!   rt  r	  r  gr  s   middlert  N)r   r}  rU   r   r%  rK   )r?   r  rt  rr   r/  s   &   @r   test_issue119506#CTextIOWrapperTest.test_issue119506-  s    
	+T^^ 	+ hs#			j !		)YZ@))	+r!   r#   N)r%   r&   r'   r(   r   r  r  rK  rj  rm  rv  r  r)   rC   rD   s   @r   r]  r]    s3     	B;N.2"
Q6+ +r!   r]  c                       ] tR tRt]tRtRtR# )PyTextIOWrapperTestiD  r^  r#   N)r%   r&   r'   r(   r   r   r  r)   r#   r!   r   r  r  D  s    	B;Nr!   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	IncrementalNewlineDecoderTestiI  c                $  a a VV 3R  lpV! RR4       V! RR4       V! RR4       V! RR4       V! RR4       V! RR4       V! RR4       V! RR4       S P                  \        SP                  RRR	7       SP                  4        V! R
R4       V! RR4       V! RRRR	7       V! RRRR	7       V! RR4       V! RR4       V! RR4       V! RR4       V! RR4       V! RR4       V! RR4       V! RR4       V! R
R4       V! RR4       V! R
R4       R# )c                    < SP                  4       pSP                  SP                  ! V 3/ VB V4       SP                  V4       SP                  SP                  ! V 3/ VB V4       R # rR   )r3  r%  r@  r7  )r,   r   rb  r  decoderr?   s   &&, r   _check_decodePIncrementalNewlineDecoderTest.check_newline_decoding_utf8.<locals>._check_decodeM  s[    $$&EW^^A88!<U#W^^A88!<r!   s   袈u   袈   r        r!   T)r>  r  r  r  r)  z
a   
z

s   
as   袈
r  s   袈N)r'  UnicodeDecodeErrorr@  r)  )r?   r  r  s   ff r   check_newline_decoding_utf89IncrementalNewlineDecoderTest.check_newline_decoding_utf8K  s   	= 	ox0gr"gr"gx(gr"gr"gx(gr",gnncNeT"eR c4t,eT.eR dE"i(eR eT"fe$):6ox0eT"'2eT"r!   c                  aaa . oVe%   \         P                  ! V4      ! 4       oVVV3R lpM	R oVV3R lpV P                  SP                  R 4       V! R4       V P                  SP                  R4       V! R4       V P                  SP                  R
4       V! R4       V P                  SP                  R
4       V! R4       V P                  SP                  R4       V! R4       V P                  RP	                  S4      R	4       SP                  4        RpSe"   SP                  4        SP                  V4      pV P                  SP                  V4      R4       V P                  SP                  R 4       R # )Nc                    < SP                  V 4       F-  pSP                  SP                  \        V.4      4      4       K/  	  R # rR   )rJ  rS   r@  r   )r   r,   r  encoderr  s   & r   _decode_bytewiseNIncrementalNewlineDecoderTest.check_newline_decoding.<locals>._decode_bytewisey  s1     *AMM'..s"<= +r!   c                 Z   < V  F#  pSP                  SP                  V4      4       K%  	  R # rR   )rS   r@  )r   rv  r  r  s   & r   r  r    s"    AMM'.."34 r!   zabc
r  z
abczabcr	  r  zabc

abcabc
abcabc)r  rg  )r  r  rg  )r'  getincrementalencoderr%  newlinesr   r)  rJ  r@  )r?   r  r2   r  r=  r  r  s   &f&  @@r   check_newline_decoding4IncrementalNewlineDecoderTest.check_newline_decodingu  sC   228<>G> >
 G5 	))40#))40!))>:!))>:))+?@!*ABMMONN5)E.6))40r!   c                n   RpV FL  pT;'       d    \         P                  ! V4      ! 4       pV P                  VRR7      pV P                  W24       KN  	  \         P                  ! R4      ! 4       pV P                  VRR7      pV P	                  V4       V P                  \        VP                  ^*4       R # )Nr>  T	translate)	Nr>  r0   r  r  r  r  r  r  )r'  getincrementaldecoderr4  r  r  r'  r(  r7  )r?   r  r  r  s   &   r   test_newline_decoder2IncrementalNewlineDecoderTest.test_newline_decoder  s    
	 CAAf::3?AG44W4MG''5  ..w7900D0I((1)W%5%5r:r!   c                   a  V 3R  lpS P                  RRR7      pV! V4       S P                  RRR7      pV! V4       R# )c                 4  < SP                  V P                  R 4       SP                  V P                  R4      R4       SP                  V P                  R 4       SP                  V P                  R4      R4       SP                  V P                  R 4       R # )Nu   ഀu   ਀)r%  r  r@  )decr?   s   &r   _check@IncrementalNewlineDecoderTest.test_newline_bytes.<locals>._check  sq    S\\40SZZ18<S\\40SZZ18<S\\40r!   NFr  T)r4  )r?   r  r  s   f  r   test_newline_bytes0IncrementalNewlineDecoderTest.test_newline_bytes  sB    	1 ,,TU,Cs,,TT,Bsr!   c                0   R F@  p\         P                  ! R4      ! 4       pV P                  W!4      pV P                  V4       KB  	  \         P                  ! R4      ! 4       pV P                  V^ R7      pV P	                  VP                  R4      R4       R# )r   r>  r  r  z
N)r  r  r=   r   )r'  r  r4  r  r%  r@  )r?   r  r  s   &  r   test_translate,IncrementalNewlineDecoderTest.test_translate  s    'I227;=G44WHG,,W5 ( ..w7900A0F	2H=r!   r#   N)r%   r&   r'   r(   r  r  r  r  r  r)   rC   rD   s   @r   r  r  I  s%     (#T1B;"> >r!   r  c                   D   a  ] tR tRt o ]P
                  R 4       tRtV tR# )CIncrementalNewlineDecoderTesti  c                T   V P                   P                  V P                   4      pV P                  \        VP                  R 4       V P                  \        VP
                  4       V P                  \        VP                  R4       V P                  \        VP                  4       R# )   barN)r  r   )r4  r!  r'  r  r@  r3  r7  r)  )r?   uninitializeds   & r   r"  1CIncrementalNewlineDecoderTest.test_uninitialized  s}    66>>**,*m&:&:FC*m&<&<=*m&<&<kJ*m&9&9:r!   r#   N)	r%   r&   r'   r(   r   r  r"  r)   rC   rD   s   @r   r  r    s     ; ;r!   r  c                       ] tR tRtRtR# )PyIncrementalNewlineDecoderTesti  r#   Nr$   r#   r!   r   r  r    r|   r!   r  c                   *  a  ] tR tRt o RtR!tR!tR tR tR t	R t
]P                  ! ]! ]R4      R4      R	 4       tR
 tR tR tR tR tR tR tR tR t]P                  ! ]! ]R4      R4      R 4       tR t]P6                  ! ]P:                  R4      R 4       t]P6                  ! ]P:                  R4      R 4       t]P                  ! ]! ]R4      R4      ]P                  ! ]! ]R4      R4      R 4       4       t R t!R t"R t#R t$R t%R  t&R!t'V t(R# )"
MiscIOTesti  Nc                N    \         P                  ! \         P                  4       R # rR   r  r>   s   &r   r   MiscIOTest.tearDown  r  r!   c                    \         P                  ! W P                  V P                  V P                  V P
                  R 7       R# ))extranot_exportedN)r   check__all__r   name_of_moduleextra_exportedr  r>   s   &r   test___all__MiscIOTest.test___all__  s0    T77D,?,?#'#6#6*.*;*;	=r!   c                   V P                  \        P                  R ^ R7      pV P                  VP                  R 4       VP                  4        V P                  \        P                  RRR7      pV P                  VP                  R4       V P                  VP                  P                  R4       V P                  VP                  P                  P                  R4       V P                  VP                  4       R RR7      pV P                  VP                  R 4       V P                  VP                  P                  R 4       V P                  VP                  VP                  4       4       V P                  VP                  P                  VP                  4       4       VP                  4        VP                  4        R# )	r?  r@  r  r>  r1   r  Fr:  N)
r3   r   r  r%  r  r   r)  rC  r^   r  )r?   r6   r~  s   &  r   test_attributesMiscIOTest.test_attributes  s-   IIi&&I:&		IIi&&wI?D1E2**E2IIahhj$I6T*T*QXXZ0QXXZ0				r!   c                   R Fn  pV P                  \        4      ;_uu_ 4       pV P                  \        P                  V4       RRR4       V P                  R\        XP                  4      4       Kp  	  R#   + '       g   i     L;; i)UNzinvalid mode)r  rUzr+U)r'  r  r3   r   r  r  r  r  )r?   r  r  s   &  r   test_removed_u_modeMiscIOTest.test_removed_u_mode  sV    &D"":.."		)**D1 /MM.#bll*;< '..s   !A77BrR  rS  c                >   \         P                  ! 4       w  rV P                  \         P                  V4       V P	                  VR RR7      pV P                  VP                  4       \
        P                  R8w  d"   V P                  VP                  4       4       R# R# )r  r>  r1   r2  N)	rV  rR  r^  r   r3   r  r  ra  rd   )r?   r/   r=  r6   s   &   r   test_open_pipe_with_append%MiscIOTest.test_open_pipe_with_append  sn     wwy!$IIawI/  <<7"QZZ\* #r!   c                    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R^/R RR^/R RR^ /3 EFG  pRVR ,          9  d   R	VR
&   V P                   ! \        P                  3/ VB pVP                  4        V P	                  \
        VP                  4       V P	                  \
        VP                  4       V P	                  \
        VP                  4       V P	                  \
        VP                  4       \        VR4      '       d"   V P	                  \
        VP                  ^4       V P	                  \
        VP                  4       \        VR4      '       dB   V P	                  \
        VP                  R4       V P	                  \
        VP                  4       \        VR4      '       d!   V P	                  \
        VP                  4       \        VR4      '       d+   V P	                  \
        VP                  \!        R4      4       \        VR4      '       d+   V P	                  \
        VP"                  \!        R4      4       V P	                  \
        VP$                  4       V P	                  \
        VP&                  4       V P	                  \
        VP&                  ^4       V P	                  \
        VP(                  ^ 4       V P	                  \
        VP*                  4       V P	                  \
        VP,                  4       T P	                  \
        VP.                  RVR ,          9   d   RMR4       V P	                  \
        VP0                  . 4       V P	                  \
        \2        V4       EKJ  	  R# )r  r=  r?  rA  r/   rB  r  r  r,   r>  r2   r9  r  r  r  ru   r0  r!   r  N)r3   r   r  r   r'  r  r   r^   r  __iter__r"  r9  r   r  r  ru   r&  r0  rD  r  rj   rn   rx   rU   rE  r  )r?   rb  r6   s   &  r   test_io_after_closeMiscIOTest.test_io_after_close  s   k1-k1-{A.k1-k1-{A.{A.{A.Q/F" &.(%,z"		)**5f5AGGIj!''2j!((3j!((3j!**5q&!!!!*affa8j!&&1q'""!!*aggt<!!*agg6q)$$!!*aii8q*%%!!*ajj)D/Jq+&&!!*akk9T?Kj!**5j!++6j!++q9j!&&!4j!&&1j!**5j!''%(F6N%:cDj!,,;j$2]r!   c                     ! R  R\         4      pV! R4      pV P                  ^V4      pW2n        W#n        \        P
                  ! V4      p??\        P                  ! 4        V P                  V! 4       V4       R# )c                       ] tR tRtRtR# )*MiscIOTest.test_blockingioerror.<locals>.Ci6  r#   Nr$   r#   r!   r   Cr  6  r  r!   r  r  N)	r  r  r,   rv  rG  rH  r   r  rI  )r?   r  rv  r,   rJ  s   &    r   test_blockingioerrorMiscIOTest.test_blockingioerror4  sc    	 	bE  A&[[^q"$#r!   c                V   V P                  V P                  \        P                  4       V P                  V P                  \        P                  4       V P                  V P
                  \        P                  4       V P                  V P                  \        P                  4       R # rR   )r  r  r	  ABCMetar  ry  r  r>   s   &r   	test_abcsMiscIOTest.test_abcsA  sd    dkk3;;7dnnckk:d113;;?doos{{;r!   c                2   V P                  \        P                  R ^ R7      ;_uu_ 4       pV P                  W!P                  4       V P                  W!P
                  4       V P                  W!P                  4       V P                  W!P                  4       RRR4       V P                  \        P                  R 4      ;_uu_ 4       pV P                  W!P                  4       V P                  W!P
                  4       V P                  W!P                  4       V P                  W!P                  4       RRR4       V P                  \        P                  RRR7      ;_uu_ 4       pV P                  W!P                  4       V P                  W!P
                  4       V P                  W!P                  4       V P                  W!P                  4       RRR4       R#   + '       g   i     ELO; i  + '       g   i     L; i  + '       g   i     R# ; i)r?  r@  Nr=  r>  r1   )	r3   r   r  r  r  r  assertNotIsInstancery  r  )r?   	abcmoduler6   s   && r   _check_abc_inheritance!MiscIOTest._check_abc_inheritanceH  s~   YYy''Y;;q!!!%5%56!!!%8%89$$Q(@(@A$$Q(<(<=	 <
 YYy''..!!!!%5%56$$Q(;(;<!!!%=%=>$$Q(<(<=	 /
 YYy''wY??1!!!%5%56$$Q(;(;<$$Q(@(@A!!!%9%9:	 @? <;;
 /.
 @??s&   A-GA-G2'A-HG/	2H	H	c                (    V P                  V 4       R # rR   )r  r>   s   &r   test_abc_inheritanceMiscIOTest.test_abc_inheritanceY  s    ##D)r!   c                0    V P                  \        4       R # rR   )r  r   r>   s   &r   test_abc_inheritance_official(MiscIOTest.test_abc_inheritance_official]  s     	##B'r!   c                L   V P                   ! V/ VB p\        V4      pV P                  \        4      ;_uu_ 4       pR p\        P
                  ! 4        R R R 4       V P                  V\        XP                  P                  ^ ,          4      4       R #   + '       g   i     LH; irR   )
r3   rz  assertWarnsr  r   r  r  r  warningr   )r?   r   rb  r6   r/   r  s   &*,   r   _check_warn_on_dealloc!MiscIOTest._check_warn_on_deallocb  sr    IIt&v&Go.."A  / 	aRZZ__Q/01 /.s   BB#	c                    V P                  \        P                  R ^ R7       V P                  \        P                  R 4       V P                  \        P                  RRR7       R# )r?  r@  r=  r>  r1   N)r  r   r  r>   s   &r   test_warn_on_deallocMiscIOTest.test_warn_on_deallocj  sN    ##I$4$4da#H##I$4$4d;##I$4$4cG#Lr!   c                  a . oV3R  lpV P                  V4       \        P                  ! 4       w  rESWE3,          oV P                  ! V.VO5/ VB  \        P                  ! 4       w  rESWE3,          o\        P
                  ! V 4      ;_uu_ 4        V P                  ! V.VO5RR/VB  RRR4       R#   + '       g   i     R# ; i)c                     < S F  p  \         P                  ! V 4       K  	  R #   \         d,   pTP                  \        P                  8w  d   h  R p?KQ  R p?ii ; irR   )rV  r   r   r  r  )rh  ri  fdss     r   cleanup_fds9MiscIOTest._check_warn_on_dealloc_fd.<locals>.cleanup_fdsq  sG    HHRL   ww%++- .s   $A AAr4  FN)r^  rV  rR  r  r   r  r3   )r?   r   rb  r  r/   r=  r  s   &*,   @r   _check_warn_on_dealloc_fd$MiscIOTest._check_warn_on_dealloc_fdo  s    	 	$wwyqt##A777wwyqt66t<<IIa8$888 =<<<s   B44C	c                t    V P                  R ^ R7       V P                  R 4       V P                  RRR7       R# )rB  r@  r/   r>  r1   N)r  r>   s   &r   test_warn_on_dealloc_fd"MiscIOTest.test_warn_on_dealloc_fd  s6    &&tq&9&&t,&&sW&=r!   c                j   R pRR/RR/RRR^ /RR/RR/RRR^ /RR/RR/RRR^ /3	 F  pR	VR,          9  d   R
VR&   \        \        P                  ^,           4       F  pV P                  W2R7      ;_uu_ 4        V P                  ! \
        P                  3/ VB ;_uu_ 4       pV P                  \        V4      ;_uu_ 4        \        P                  ! WC4       RRR4       RRR4       RRR4       K  	  K  	  R#   + '       g   i     L*; i  + '       g   i     L5; i  + '       g   i     K  ; i)zcannot pickler  r=  r?  rA  r/   rB  r  r  r,   r>  r2   )r  rb  N)
r.  r  r   r  r3   r   r  r  r(  r  )r?   r[  rb  r  r6   s   &    r   test_picklingMiscIOTest.test_pickling  s   {A.{A.Q/
F &.(%,z"!&"9"9A"=>\\8\CC9#3#3>v>>!!33IsCC"LL5 D ? DC ?
  DC ?> DCCs<   9*D!	#DC;D!D!	;DDDD!	!D2z9Emscripten corrupts memory when writing to nonblocking fdc                (    V P                  R4       R# )r  Ni @  _test_nonblock_pipe_writer>   s   &r   test_nonblock_pipe_write_bigbuf*MiscIOTest.test_nonblock_pipe_write_bigbuf  s    &&w/r!   c                (    V P                  R 4       R# )r  Nr  r>   s   &r   !test_nonblock_pipe_write_smallbuf,MiscIOTest.test_nonblock_pipe_write_smallbuf  s    &&t,r!   rJ  z(os.set_blocking() required for this testc           
        . p. p\         P                  ! 4       w  rE\         P                  ! VR 4       \         P                  ! VR 4       V P                  VRRVR7      pV P                  VRRVR7      pT;_uu_ 4        T;_uu_ 4        R FS  p ^ p	 \	        V	^,          ^a,           .4      V,          p
VP                  V
4       VP                  V
4       V	^,          p	KO  	    VP                  4         T\        TP                  R4      ,          pRRR4       RRR4       RP!                  T4      RP!                  T4      r2T P                  Y#4       T P#                  TP$                  4       T P#                  TP$                  4       R#   T P                   d   pT P                  TP                  ^ ,          \        P                  4       T P                  TP                  ^,          TP                  4       TR	,          RTP                   TR	&   TP                  TP                  4       4       Rp
TP                  T
4       TP                  T
4        Rp?EK  Rp?ii ; i  T P                   d   pT P                  TP                  ^ ,          \        P                  4       T P                  TP                  ^,          TP                  4       T P                  TP                  ^ 4       TP                  TP                  4       4        Rp?EK5  Rp?ii ; i  + '       g   i     EL; i  + '       g   i     EL"; i)
FrB  T)r  r4  rA  r?  Ns   BLOCKEDr!   )r  I   i  r  )rV  rR  rJ  r3   r   rS   rU   r  r%  r   r  EAGAINr  r   r   iterr   r`  r   )r?   r  sentreceivedr/   r=  rfwfrs  r*  r[  ri  s   &&          r   r  $MiscIOTest._test_nonblock_pipe_write  se    wwy
5!
5! YYqtTWYEYYqtTWYER#%A#QVb[M2Q6C(Q $$ /HHJ RWWd++H; R> $();h(		"		"1 ++ %$$QVVAY=$$QVVAY0D0DE#Bx(=)=)=>DHOOBGGI.$CHHSMKK$$% ++ /$$QVVAY=$$QVVAY0D0DE$$Q%9%91=OOBGGI..	// RRRs{   >L4	L 	AF
!L 	%I'5L 	L4I$B:IL 	I$$L 	'L8BLL 	LL 	 L1+	L44M	c                    V P                  \        P                  R RR7      ;_uu_ 4         RRR4       V P                  \        V P                   \        P                  RRR7       R#   + '       g   i     LD; i)r=  r>  r1   Nr	  )r3   r   r  r'  FileExistsErrorr>   s   &r   test_create_failMiscIOTest.test_create_fail  sT    YYy''wY?? @/499i6F6FV]^ @?s   A))A9	c                z   V P                  \        P                  R 4      ;_uu_ 4       pVP                  R4       RRR4       V P                  \        P                  R4      ;_uu_ 4       pV P	                  RVP                  4       4       RRR4       R#   + '       g   i     Lc; i  + '       g   i     R# ; i)xbr+  NrB  r%  r9  s   & r   test_create_writesMiscIOTest.test_create_writes  sv    YYy''..!GGG /YYy''..!Waffh/ /. /....r(  c                j    V P                  \        V P                  \        P                  R RR7       R# )zrwax+r>  r1   Nr5  r>   s   &r   test_open_allargsMiscIOTest.test_open_allargs  s&    *dii1A1A7U\]r!   c                   V P                   P                  p\        pR p\        P                  ! RV RV: RV: RV: RV: RV: RV: RV: R	24      p\        R
RRV4      pV P                  VP                  ^
V4       R# )zBoom, Shaka Laka, Boom!z)
            import sys
            from zC import open, TextIOWrapper

            try:
                open(z, encoding=z)
            except LookupError:
                pass
            else:
                sys.exit(21)

            try:
                open(z	, errors=z})
            except LookupError:
                pass
            else:
                sys.exit(22)

            fp = open(za, "rb")
            with fp:
                try:
                    TextIOWrapper(fp, encoding=z)
                except LookupError:
                    pass
                else:
                    sys.exit(23)

                try:
                    TextIOWrapper(fp, errors=z)
                except LookupError:
                    pass
                else:
                    sys.exit(24)

            sys.exit(10)
        -XdevrM  N)r   r%   r4   rN  rO  r	   r%  r  )r?   modrw  r  r  procs   &     r   test_check_encoding_errors%MiscIOTest.test_check_encoding_errors  s     gg+ $  \WK 8 \7+ 6  l #0 18{ ;. /6[ 9	9#  #H %T5$="d+r!   c           	     l   V P                   P                  p\        p\        P                  ! R V RV: RV: R24      p\        RRRV4      pVP                  P                  4       pV P                  \        V4      ^4       V P                  V^ ,          R4       V P                  V^,          R4       R	# )
z(            import sys
            from zN import open, TextIOWrapper
            import pathlib

            with open(zJ) as f:           # line 5
                pass

            pathlib.Path(z ).read_text()  # line 8
        r	  warn_default_encodingrM  s   <string>:5: EncodingWarning: s   <string>:8: EncodingWarning: N)r   r%   r4   rN  rO  r   r  r  r%  r   r  )r?   r	  rw  r  r	  r  s   &     r   test_check_encoding_warning&MiscIOTest.test_check_encoding_warning  s     gg $   l # # &		  	  &=tTJ88&&(X*hqk+KLhqk+KLr!   c                    R p\        RRRV4      pV P                  RVP                  P                  4       4       \        RRRV4      pV P                  RVP                  P                  4       4       R# )z(import io; print(io.text_encoding(None))r	  zutf8=0rM  s   localezutf8=1s   utf-8N)r   r%  r  r  )r?   r  r	  s   &  r   test_text_encodingMiscIOTest.test_text_encoding/  s_     :hd;DHHNN$45hd;488>>#34r!   r#   ))r%   r&   r'   r(   r  r  r  r   r  r  r  r   r!  r"  rV  r  r  r  r  r  r  r  r  r  r  r  r  rM  r   is_emscriptenr  r  r  r	  r	  r	  r	  r	  r 	  r)   rC   rD   s   @r   r  r    ss     NNL+=
$= V,.BC	+ D	+/3b$<;"*(
2M
9& V,.BC> D>6, __W**,gh0 i0 __W**,gh- i- ^4CEV,.BC0# DE0#d_0^+,ZM*	5 	5r!   r  c                      a  ] tR tRt o ]tR	tR
tR tR t]	P                  ! 4       ]P                  ! R4      R 4       4       t]	P                  ! 4       ]P                  ! R4      R 4       4       tRtV tR# )CMiscIOTesti;  c                     ! R  RV P                   P                  4      pV! 4       p\        ^4      pV P                  \        VP
                  V4       R# )c                   *   a  ] tR tRt o RR ltRtV tR# )<CMiscIOTest.test_readinto_buffer_overflow.<locals>.BadReaderiB  c                    R R,          # )r/  i@B r#   r   s   &&r   r   ACMiscIOTest.test_readinto_buffer_overflow.<locals>.BadReader.readC  s    e|#r!   r#   Nr  r   rD   s   @r   	BadReaderr'	  B  s     $ $r!   r*	  N)r   ry  r&  r'  r  ru   )r?   r*	  r  r,   s   &   r   test_readinto_buffer_overflow)CMiscIOTest.test_readinto_buffer_overflow@  s@    	$.. 	$ aL*enna8r!   c                B   R P                  \        4       4      p\        RV4      w  r4VP                  P	                  4       pVP
                  ^ 8w  d-   RP                  \        4       4      pV P                  WV4       R# V P                  VP                  R4      4       R# )a  if 1:
            import sys
            import time
            import threading
            from test.support import SuppressCrashReport

            file = sys.{stream_name}

            def run():
                while True:
                    file.write('.')
                    file.flush()

            crash = SuppressCrashReport()
            crash.__enter__()
            # don't call __exit__(): the crash occurs at Python shutdown

            thread = threading.Thread(target=run)
            thread.daemon = True
            thread.start()

            time.sleep(0.5)
            file.write('!')
            file.flush()
            rM  zFatal Python error: _enter_buffered_busy: could not acquire lock for <(_io\.)?BufferedWriter name='<{stream_name}>'> at interpreter shutdown, possibly due to daemon threadsz.!N)	
format_maplocalsr
   r  r@  r  r  ra  r  )r?   stream_namer  r   r  r  patterns   &&     r   &check_daemon_threads_shutdown_deadlock2CMiscIOTest.check_daemon_threads_shutdown_deadlockI  s    0 
68$1 	2 &dD1ggnn66Q;) *4FH)=	 
 S*SYYt_-r!   walltimec                (    V P                  R 4       R# )stdoutNr2	  r>   s   &r   ,test_daemon_threads_shutdown_stdout_deadlock8CMiscIOTest.test_daemon_threads_shutdown_stdout_deadlockr       	33H=r!   c                (    V P                  R 4       R# )stderrNr7	  r>   s   &r   ,test_daemon_threads_shutdown_stderr_deadlock8CMiscIOTest.test_daemon_threads_shutdown_stderr_deadlockw  r:	  r!   r#   N)r   r1  )r  )r%   r&   r'   r(   r   r  r  r+	  r2	  r   r#  r   r  r8	  r=	  r)   rC   rD   s   @r   r$	  r$	  ;  s     	B N'N9'.R 002z*> + 3> 002z*> + 3>r!   r$	  c                   &    ] tR tRt]tRtRtRtRt	R# )PyMiscIOTesti}  r#   N)_pyior   )r  	open_code)valid_seek_flags)
r%   r&   r'   r(   r   r   r  r  r  r)   r#   r!   r   r@	  r@	  }  s    	B"N4N&Lr!   r@	  ntz%POSIX signals required for this test.c                   N  a  ] tR tRt o R tR tR tR t]]	P                  ! ]! ]R4      R4      R 4       4       t]]	P                  ! ]! ]R4      R4      R	 4       4       t]]	P                  ! ]! ]R4      R4      R
 4       4       t]P"                  R 4       t]R 4       t]R 4       tR t]]P,                  ! R4      R 4       4       t]]P,                  ! R4      R 4       4       tR t]]P,                  ! R4      R 4       4       t]]P,                  ! R4      R 4       4       tRtV tR# )SignalsTesti  c                n    \         P                   ! \         P                  V P                  4      V n        R # rR   )signalSIGALRMalarm_interruptoldalrmr>   s   &r   r  SignalsTest.setUp  s    }}V^^T5I5IJr!   c                d    \         P                   ! \         P                  V P                  4       R # rR   )rH	  rI	  rK	  r>   s   &r   r   SignalsTest.tearDown  s    fnndll3r!   c                    ^^ ,           R# r<   r#   )r?   sigframes   &&&r   rJ	  SignalsTest.alarm_interrupt  rB   r!   c                  a
a \         P                  ! 4        . oV
V3R  lp\        P                  ! VR7      pRVn        \
        P                  ! 4       w  o
pRVR&   V\         P                  \        V4      ,          ^,           ,          p V P                  P                  ! V3/ VB p\        \        R4      '       dz   \        P                  ! \        P                  \        P                  .4       VP!                  4        \        P                  ! \        P"                  \        P                  .4       MVP!                  4        \        P$                  ! ^4        V P'                  \(        VP*                  V4       \        P$                  ! ^ 4       VP-                  4        SP/                  \
        P0                  ! S
^4      4       V P3                  SVR,          VR,          .4       \
        P4                  ! V4       \
        P4                  ! S
4        VP5                  4        R#   \        P$                  ! ^ 4       TP-                  4        i ; i  \6         d,   p	T	P8                  \8        P:                  8w  d   h  Rp	?	R# Rp	?	ii ; i  \
        P4                  ! T4       \
        P4                  ! S
4        XP5                  4        i   \6         d+   p	T	P8                  \8        P:                  8w  d   h  Rp	?	i Rp	?	ii ; i; i)	c                  X   < \         P                  ! S^4      p SP                  V 4       R# r<   )rV  r   rS   )r   r/   read_resultss    r   r  2SignalsTest.check_interrupted_write.<locals>._read  s     1A"r!   rm  TFr4  pthread_sigmask:r   r=   N:r=   r   NN)r   r  r   r_  daemonrV  rR  PIPE_MAX_SIZEr   r   r3   r"  rH	  rW	  	SIG_BLOCKrI	  r`  SIG_UNBLOCKr8   r'  r  rU   r   rS   r   r%  r   r   r  r  )r?   itemr   fdopen_kwargsr  r/  r=  
large_datawiori  r/   rU	  s   &&&,      @@r   check_interrupted_write#SignalsTest.check_interrupted_write  s   6 		# E*wwy1#(i W22c$i?!CD
$	'',,q2M2Cv011&&v'7'7&..9IJ	&&v'9'9FNN;KL	 LLO!!"3SYY
KQ 1.\E#Jc
+CDHHQKHHQK		 Q  77ekk) * HHQKHHQK		 77ekk) *sn   2J >BJ !H, ?A.J I ,(IJ J" JJ-L>KLL K?:L?LLrR  rS  c                0    V P                  R R R^ R7       R# )r  r?  )r  rA  Nr`	  r>   s   &r   !test_interrupted_write_unbuffered-SignalsTest.test_interrupted_write_unbuffered  s     	$$UE$Jr!   c                .    V P                  R R RR7       R# r  r?  r  Nrc	  r>   s   &r   test_interrupted_write_buffered+SignalsTest.test_interrupted_write_buffered  s     	$$UE$=r!   c                0    V P                  R RRRR7       R# )xyr  r=  r{  r  r2   Nrc	  r>   s   &r   test_interrupted_write_text'SignalsTest.test_interrupted_write_text  s     	$$T5sW$Mr!   c                  aa	 VV	3R  lp\         P                   ! \         P                  V4       \        P                  ! 4       w  rEV P                  P
                  ! V3/ VB o	 \         P                  ! ^4       V P                  \        \        34      ;_uu_ 4       p \        ^d4       F$  pS	P                  S4       S	P                  4        K&  	  \        P                  ! V\        S4      ^d,          4       K]    + '       g   i     M; iXP                  p\!        T\        4      '       d   T P#                  \%        T4      R4       \         P                  ! ^ 4       S	P'                  4        \        P&                  ! T4       R#   \         P                  ! ^ 4       S	P'                  4        \        P&                  ! T4       i ; i)c                  <   < SP                  S4       ^^ ,           R# r<   )rU   )r   r   r_	  s   *r   on_alarm3SignalsTest.check_reentrant_write.<locals>.on_alarm  s    IIdOaCCr!   Nzreentrant call)rH	  rI	  rV  rR  r   r3   r8   r'  r  r  r.  rU   r   r   r   r  r  r  r  r   )
r?   r   r]	  rr	  r/   r=  r  r*  rH  r_	  s
   &f,      @r   check_reentrant_write!SignalsTest.check_reentrant_write  s!   	 	fnnh/wwyggll1..	LLO ""$5|#DEE"3Z		$		 ( GGAs4y3/ FE ,,C#|,,%%c#h0@ALLOIIKHHQK LLOIIKHHQKs    $9F	 AC;;D	AF	 	>Gc                ,    V P                  R RR7       R# rg	  rt	  r>   s   &r   test_reentrant_write_buffered)SignalsTest.test_reentrant_write_buffered  s    ""5t"4r!   c                .    V P                  R RRR7       R# )rl	  r=  r{  rm	  Nrw	  r>   s   &r   test_reentrant_write_text%SignalsTest.test_reentrant_write_text  s    ""4cG"Dr!   c                  a \         P                  ! 4       w  poR VR&   V3R lp\        P                  ! \        P                  V4        V P                  P
                  ! V3/ VB p\         P                  ! SR4       \        P                  ! ^4       V P                  V! VP                  ^4      4      R4       \        P                  ! ^ 4       VP                  4        \         P                  ! S4       \         P                  ! V4       R#   \        P                  ! ^ 4       XP                  4        \         P                  ! S4       \         P                  ! T4       i ; i)Fr4  c                 6   < \         P                  ! SR 4       R# )r  N)rV  rU   )rP	  rQ	  r=  s   &&r   alarm_handler?SignalsTest.check_interrupted_read_retry.<locals>.alarm_handler  s    HHQr!   r  foobarN)rV  rR  rH	  rI	  r   r3   rU   r8   r%  r   r   )r?   r@  r]	  r/   r	  rior=  s   &&,   @r   check_interrupted_read_retry(SignalsTest.check_interrupted_read_retry  s     wwy1#(i 	 fnnm4	'',,q2M2CHHQLLO
 VCHHQK0(;LLOIIKHHQKHHQK LLOIIKHHQKHHQKs   A1D AE$r4	  c                .    V P                  R  RR7       R# )c                 $    V P                  R 4      # )rQ  )r@  r  s   &r   r]  BSignalsTest.test_interrupted_read_retry_buffered.<locals>.<lambda>+  s    AHHX4Fr!   rB  rh	  Nr	  r>   s   &r   $test_interrupted_read_retry_buffered0SignalsTest.test_interrupted_read_retry_buffered(  s     	))*F/3 	* 	5r!   c                0    V P                  R  RRR7       R# )c                     V # rR   r#   r  s   &r   r]  >SignalsTest.test_interrupted_read_retry_text.<locals>.<lambda>1  s    Ar!   r/   rQ  rm	  Nr	  r>   s   &r    test_interrupted_read_retry_text,SignalsTest.test_interrupted_read_retry_text.  s     	))+/2X 	* 	Gr!   c                  aaaaaaa \         P                  ! R 4      o\        P                  p\        P
                  ! 4       w  opRVR&   . oRoRoVVVVV3R lp\        P                  ! VR7      oRSn        V3R lpV3R loW,          p\        P                  ! \        P                  V4        V P                  P                  ! V3/ VB p\        P                  ! ^4       VP                  V4      p	V P                  W94       VP!                  4        RoSP#                  4        V P%                  S4       V P                  V\'        R	 S 4       4      4       \        P                  ! ^ 4       Ro\        P(                  ! V4       \        P(                  ! S4        VP)                  4        R#   \*         d,   p
T
P,                  \,        P.                  8w  d   h  Rp
?
R# Rp
?
ii ; i  \        P                  ! ^ 4       Ro\        P(                  ! T4       \        P(                  ! S4        XP)                  4        i   \*         d+   p
T
P,                  \,        P.                  8w  d   h  Rp
?
i Rp
?
ii ; i; i)
selectFr4  Nc                     <  S'       gN   SSP                  S.. . R 4      ^ ,          9   g   K+  \        P                  ! SR4      p SP                  V 4       KM  R#   \         d   pTo Rp?R# Rp?ii ; i)g      ?r  N)r	  rV  r   rS   BaseException)r   rH  errorr/   rU	  r	  write_finisheds     r   r  8SignalsTest.check_interrupted_write_retry.<locals>._readF  sc    (v}}aS"b#>qAAGGAt,$++A. ) ! s!   A A *A A2%A--A2rm  Tc                 ~   < \         P                   ! \         P                  S4       \         P                  ! ^4       R# r<   )rH	  rI	  r8   )rP	  rQ	  alarm2s   &&r   alarm19SignalsTest.check_interrupted_write_retry.<locals>.alarm1Q  s     MM&..&1LLOr!   c                 (   < SP                  4        R # rR   )r`  )rP	  rQ	  r/  s   &&r   r	  9SignalsTest.check_interrupted_write_retry.<locals>.alarm2T  s    GGIr!   c              3   8   "   T F  p\        V4      x  K  	  R # 5irR   )r   ).0r	  s   & r   	<genexpr><SignalsTest.check_interrupted_write_retry.<locals>.<genexpr>i  s     #ALqCFFLs   )r   r3  r   rY	  rV  rR  r   r_  rX	  rH	  rI	  r   r3   r8   rU   r%  r   r   rI  sumr   r   r  r  )r?   r\	  r]	  rs  r=  r  r	  r^	  r_	  r  ri  r	  r	  r/   rU	  r	  r/  r	  s   &&,        @@@@@@@r   check_interrupted_write_retry)SignalsTest.check_interrupted_write_retry4  s    ,,X6 !!wwy1#(i 
 	 	 E*		 X
fnnf-	'',,q2M2CLLO ii
+GQ(IIK!NFFHe$Q#AL#A ABLLO!NHHQKHHQK		 77ekk) * LLO!NHHQKHHQK		 77ekk) *sP   3B*G- "F4 4G*? G%%G*-AI<3II<I9 I4/I<4I99I<c                ,    V P                  R RR7       R# )r/  r?  rh	  Nr	  r>   s   &r   %test_interrupted_write_retry_buffered1SignalsTest.test_interrupted_write_retry_bufferedx  s     	**4d*;r!   c                .    V P                  R RRR7       R# )r	  r=  rQ  rm	  Nr	  r>   s   &r   !test_interrupted_write_retry_text-SignalsTest.test_interrupted_write_retry_text}  s     	**3S8*Lr!   )rK	  N)r%   r&   r'   r(   r  r   rJ	  r`	  requires_alarmr   r!  r"  rV  rd	  ri	  rn	  r   rO  rt	  rx	  r{	  r	  r  r	  r	  r	  r	  r	  r)   rC   rD   s   @r   rF	  rF	    s    K4KZ V,.BCK D K V,.BC> D > V,.BCN D N  6 5 5 E E0 z*5 + 5 z*G + GBH z*< + < z*M + Mr!   rF	  c                       ] tR tRt]tRtR# )CSignalsTesti  r#   N)r%   r&   r'   r(   r   r)   r#   r!   r   r	  r	    s    	Br!   r	  c                   "    ] tR tRt]tRtRtRtR# )PySignalsTesti  Nr#   )	r%   r&   r'   r(   r   r   rx	  r{	  r)   r#   r!   r   r	  r	    s    	B %)! $r!   r	  c                   T   a  ] tR tRt o  ! R R4      t ! R R4      tR tR tRtV t	R	# )
ProtocolsTesti  c                   *   a  ] tR tRt o RR ltRtV tR# )ProtocolsTest.MyReaderi  c                    R # r  r#   )r?   szs   &&r   r   ProtocolsTest.MyReader.read  s    r!   r#   Nr  r   rD   s   @r   MyReaderr	    s     	 	r!   r	  c                   2   a  ] tR tRt o V 3R lR ltRtV tR# )ProtocolsTest.MyWriteri  c                    < V ^8  d   QhRS[ /# )r   r,   )r   )rP  rE   s   "r   __annotate__#ProtocolsTest.MyWriter.__annotate__  s     	 	5 	r!   c                    R # rR   r#   rT   s   &&r   rU   ProtocolsTest.MyWriter.write  s    r!   r#   N)r%   r&   r'   r(   rU   r)   rC   rD   s   @r   MyWriterr	    s     	 	r!   r	  c                    V P                  \        \        P                  \        ,          4       V P                  \        \        P                  \        ,          4       R # rR   )rF  r	  r   r  r   assertNotIsSubclassr  r>   s   &r   test_reader_subclass"ProtocolsTest.test_reader_subclass  4    h		%(89  bii&67r!   c                    V P                  \        \        P                  \        ,          4       V P                  \        \        P                  \        ,          4       R # rR   )rF  r	  r   Writerr   r	  r  r>   s   &r   test_writer_subclass"ProtocolsTest.test_writer_subclass  r	  r!   r#   N)
r%   r&   r'   r(   r	  r	  r	  r	  r)   rC   rD   s   @r   r	  r	    s(       88 8r!   r	  c                 ,  a \         \        \        \        \        \
        \        \        \        \        \        \        \        \        \        \        \         \"        \$        \&        \(        3p\*        \,        \.        \0        \2        \4        \6        \8        \:        3	p\<        P>                  pV Uu/ uF  qU\A        \<        V4      bK  	  ppV Uu/ uF  qU\A        \B        V4      bK  	  pp\E        4       oVPG                  V3R  lV 4       4       VPG                  V3R lV 4       4       V F  pVPH                  PK                  R4      '       d/   VPM                  4        F  w  rY\O        WV	4       K  	  RVn(        KR  VPH                  PK                  R4      '       g   Ku  VPM                  4        F  w  rY\O        WV	4       K  	  RVn(        K  	  V PS                  4       p
V F#  pV
PU                  V PW                  V4      4       K%  	  V
# u upi u upi )c              3   n   <"   T F*  qP                   SR VP                   ,           ,          3x  K,  	  R# 5i)r  Nr%   r	  r	  globss   & r   r	  load_tests.<locals>.<genexpr>  s&     H%QJJcAJJ&6 78%   25c              3   n   <"   T F*  qP                   SR VP                   ,           ,          3x  K,  	  R# 5i)PyNr	  r	  s   & r   r	  r	    s&     JEqZZtajj'8!9:Er	  r  Tr	  F),r%  rg  ri  r  r  r3  r;  r  r  r  r#  rT  r  r  r]  r  r$	  r@	  r	  r	  r/  r   r   r   r   r   r   rG   r   r   r   __all__r  r   globalsupdater%   r  rJ  setattrrm  
suiteClassaddTestloadTestsFromTestCase)loaderr  r1	  mocksall_membersr  c_io_nspy_io_nsr  r   suiter	  s   &&&        @r   
load_testsr	    s   h "6 "6 "6 "6++-L!4,=,
E ^!#35I46E **K4?@KDgb$''KG@7BC{twtT**{HCIENNH%HHOOJEJJ==##C(($]]_	C( -DI]]%%d++%^^-	C( .DI  Ef22489 L% ACs   0HH__main__){r	  r-   r  r  rV  r  rp  rH	  r  rN  r   r   r   r  rG  collectionsr   r   	itertoolsr   r   r  r   test.support.script_helperr   r	   r
   test.supportr   r   r   r   r   test.support.os_helperr   r'  r   rA	  r   r   r    	Structurer   ImportErrorr7   r!  r"  r	  r:   rG   r  r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   ro  r   r   r   r   r   r   r   r   r   r  r  TestCaser  r%  r  r/  rg  ri  rv  r	  r  r  r  r  r3  r;  r=  r  r  r  r  r#  r(  r%  rR  rT  r\  r  r  r]  r  r  r  r  r  r$	  r@	  rM  r  rF	  r	  r	  r	  r	  r%   mainr#   r!   r   <module>r	     s2  ,     	    
       ' " C C  ,  	 
f&& 
 $$FG<
 6 6p	0",, 		14>> 	$ 	BLL 		)T^^ 	i "	 		 	Y 	nbll 		~t~~ 	Y 	nbll 		~t~~ 	  	*bjj 		:t|| 	8 83("** 35)4<< 5j 	6

 		 7 	. .`)0",, )+14>> +v5X v5r$f $( 	e-8$$ e- e-N	v 	 	hh'' h h{ {|5 5,L6**,? L6^
4A,j 4An- d**,? dP	!6,j !6H- N** N`, - |&+-? |&~
6,j 
6- I!:!: I\;)4X%6%6 )4VP)) Pf&2RZZ 2a+* a+H<+ <
s>H$5$5 s>j;%B ;	&C 	i5"" i5X?>* ?>D': ' 
D"IJ{M(## {M K{M|; %K %8H%% 8$%N zMMO g\  333s   >T# #
T10T1