+
    Bi                        ^ RI t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	 ! R R4      t
 ! R R4      t ! R R4      t ! R	 R
]]] P                  4      t ! R R4      t ! R R]]]] P                  4      t ! R R]] P                  4      t ! R R]4      t ! R R]4      t ! R R]4      t]R8X  d   ] P,                  ! 4        R# R# )    N)supportc                   0   a  ] tR t^t o R tR t]tRtV tR# )IntLikec                    Wn         R # N_num)selfnums   &&)/usr/lib/python3.14/test/test_memoryio.py__init__IntLike.__init__   s    	    c                    V P                   # r   r   r
   s   &r   	__index__IntLike.__index__   s    yyr   r   N)	__name__
__module____qualname____firstlineno__r   r   __int____static_attributes____classdictcell____classdict__s   @r   r   r      s     Gr   r   c                   >   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )MemorySeekTestMixinc                J    V P                  R 4      pV P                  V4      pR# 
1234567890N)buftypeioclassr
   bufbytesIos   &  r   testInitMemorySeekTestMixin.testInit   s    ll<(,,s#r   c                   V P                  R 4      pV P                  V4      pV P                  VR,          VP                  ^4      4       V P                  VR,          VP                  ^4      4       V P                  VR,          VP                  R4      4       V P                  V P                  VP                  4       4       R# )r!   N   Nr+      Nr-   NN  Nr"   r#   assertEqualreadEOFr$   s   &  r   testReadMemorySeekTestMixin.testRead   s    ll<(,,s#R',,q/2S7<<?3R',,s"347<<>2r   c                    V P                  R 4      pV P                  V4      pV P                  WP                  4       4       V P                  V P                  VP                  4       4       R# r    r0   r$   s   &  r   testReadNoArgs"MemorySeekTestMixin.testReadNoArgs&   sL    ll<(,,s#lln-7<<>2r   c                ~   V P                  R 4      pV P                  V4      pVP                  ^4       VP                  ^ 4       V P	                  WP                  4       4       VP                  ^4       V P	                  VR,          VP                  4       4       V P                  \        VP                  R4       R# )r!      NN        N)r"   r#   r2   seekr1   assertRaises	TypeErrorr$   s   &  r   testSeekMemorySeekTestMixin.testSeek-   s    ll<(,,s#QQlln-QR',,.1)W\\37r   c                N   V P                  R 4      pV P                  V4      pV P                  ^ VP                  4       4       VP	                  ^4       V P                  ^VP                  4       4       VP	                  R4       V P                  RVP                  4       4       R# r!   i'  N)r"   r#   r1   tellr=   r$   s   &  r   testTellMemorySeekTestMixin.testTell9   sw    ll<(,,s#GLLN+QGLLN+U/r    N)r   r   r   r   r'   r4   r7   r@   rE   r   r   r   s   @r   r   r      s#     $33
80 0r   r   c                      a  ] tR t^Dt 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V tR# )MemoryTestMixinc                r    V P                  4       pV P                  V P                  VP                  4       R # r   )r#   r>   UnsupportedOperationdetachr
   r%   s   & r   test_detachMemoryTestMixin.test_detachF   s'    lln$33SZZ@r   c                   V P                  VP                  V! R 4      4      ^4       V P                  VP                  ^ 4      ^ 4       V P                  VP                  V! R4      4      ^4       V P                  VP                  4       ^4       V P                  VP                  ^4      ^4       V P                  VP                  4       ^4       V P                  VP                  V! R4      4      ^	4       V P                  VP                  ^ 4      ^ 4       V P                  VP                  V! R4      4      ^4       V P                  VP	                  ^4      ^4       V P                  VP                  4       ^4       R# )zblah.zHello.z	 world


hN)r1   writer=   rD   truncate)r
   fts   &&&r   	write_opsMemoryTestMixin.write_opsJ   s   7,a0A&8-q11%A&1%>!23Q7A&3!,B,1%r   c                   V P                  R 4      pV P                  V4      pV P                  W P                   4       V P                  VP	                  4       V4       V P                  4       pV P                  W P                   4       V P                  VP	                  4       V4       V P                  \        VP                  R4       VP                  4        V P                  \        VP                  V P                  R4      4       R# )zhello world
N )
r"   r#   rV   r1   getvaluer>   r?   rR   close
ValueErrorr
   r%   memios   &  r   
test_writeMemoryTestMixin.test_writeW   s    ll?+S!ull+)3/ull+)3/)U[[$7*ekk4<<3CDr   c                   V P                  R 4      pV P                  4       pV P                  VP                  V.^d,          4      R4       V P                  VP	                  4       V^d,          4       VP                  . 4       V P                  VP	                  4       V^d,          4       V P                  4       pV P                  \        VP                  V.^.,           4       V P                  VP	                  4       V4       V P                  \        VP                  R4       VP                  4        V P                  \        VP                  . 4       R# r    )	r"   r#   r1   
writelinesrZ   r>   r?   r[   r\   r]   s   &  r   test_writelinesMemoryTestMixin.test_writelinesd   s    ll<())3%#+6=)395)395)U%5%5us{C)3/)U%5%5t<*e&6&6;r   c                   a  S P                  4       pV 3R  lpS P                  \        VP                  V! 4       4       R# )c               3   >   <"   S P                  R 4      x  \        h5i)spam)r"   KeyboardInterruptr   s   r   	error_gen8MemoryTestMixin.test_writelines_error.<locals>.error_genu   s     ,,v&&##s   N)r#   r>   rh   rb   )r
   r^   ri   s   f  r   test_writelines_error%MemoryTestMixin.test_writelines_errors   s0    	$ 	+U-=-=y{Kr   c                >   V P                  R 4      pV P                  V4      pV P                  \        VP                  R4       V P                  \        VP                  \        R4      4       VP                  ^4       V P                  VP	                  \        ^4      4      ^4       V P                  VP                  4       VR,          4       V P                  VP	                  4       ^4       V P                  VP                  4       VR,          4       V P                  VP	                  ^4      ^4       V P                  VP                  4       VR,          4       V P                  VP                  4       ^4       VP                  ^ ^4       VP                  V4       V P                  VP                  4       VR,          V,           4       VP                  4       pV P                  VP	                  R4      V4       V P                  VP                  4       V4       V P                  \        VP                  R4       VP                  4        V P                  \        VP                  ^ 4       V P                  \        VP                  \        ^ 4      4       R# )r!   :N   N:N   N:N   NN0)r"   r#   r>   r\   rS   r   r=   r1   rZ   rD   rR   r?   r[   )r
   r%   r^   poss   &   r   test_truncateMemoryTestMixin.test_truncate{   s   ll<(S!*ennb9*enngbkB

1
3Q7)3r73)1-)3r73*A.)3r73q)

1aC)3r7S=9jjl-s3s+)U^^S9*enna8*enngajAr   c                "   V P                  R 4      pV P                  V4      pV P                  VP                  4       V4       V P                  R4      pV P                  VP                  4       V P                  4       VP                  V^,          4       V P                  VP                  4       V^,          4       VP                  V4       V P                  VP                  4       V4       V P                  \        VP
                  . 4       R# r    )r"   r#   r1   rZ   r3   r   r>   r?   r]   s   &  r   	test_initMemoryTestMixin.test_init   s    ll<(S!)3/T")4884sQw)373s)3/)U^^R8r   c                N	   V P                  R 4      pV P                  V4      pV P                  VP                  ^ 4      V P                  4       V P                  VP                  ^4      VR,          4       V P                  VP                  ^4      VR,          4       V P                  VP                  R4      VR,          4       V P                  VP                  4       V P                  4       VP                  ^ 4       V P                  VP                  \        ^ 4      4      V P                  4       V P                  VP                  \        ^4      4      VR,          4       V P                  VP                  \        ^4      4      VR,          4       V P                  VP                  \        R4      4      VR,          4       VP                  ^ 4       V P                  VP                  4       V4       V P                  VP                  4       V P                  4       V P                  VP                  4       ^
4       VP                  ^ 4       V P                  VP                  R4      V4       VP                  ^ 4       V P                  VP                  \        R4      4      V4       VP                  ^ 4       V P                  \        VP                  4       4      \        V4      4       VP                  ^d4       V P                  \        VP                  4       4      \        V4      4       VP                  ^ 4       V P                  VP                  R4      V4       V P                  \        VP                  R4       VP                  \        V4      ^,           4       V P                  VP                  ^4      V P                  4       VP                  \        V4      ^,           4       V P                  VP                  \        ^4      4      V P                  4       VP                  \        V4      ^,           4       V P                  VP                  4       V P                  4       VP                  4        V P                  \        VP                  4       R# )r!   r*   r,   r/   r.   NrY   rr   )r"   r#   r1   r2   r3   r=   r   rD   typer>   r?   lenr[   r\   r]   s   &  r   	test_readMemoryTestMixin.test_read   s   ll<(S!A1AB0AC1C#b'2txx0

1GAJ/:GAJ/R9GAJ/S:GCL13r7;

1s+txx0r*

1B-

1GBK0#6

1ejjl+T#Y7

3ejjl+T#Y7

1D)3/)UZZ4

3s8a< A1

3s8a< GAJ/:

3s8a< txx0*ejj1r   c                |	   V P                  R 4      pV P                  V^,          4      pV P                  VP                  ^ 4      V P                  4       V P                  VP                  \        ^ 4      4      V P                  4       V P                  VP                  4       V4       V P                  VP                  4       V4       V P                  VP                  4       V P                  4       VP                  ^ 4       V P                  VP                  ^4      VR,          4       V P                  VP                  ^4      VR,          4       V P                  VP                  ^4      VR,          4       VP                  ^ 4       V P                  VP                  \        ^4      4      VR,          4       V P                  VP                  \        ^4      4      VR,          4       V P                  VP                  \        ^4      4      VR,          4       VP                  ^ 4       V P                  VP                  R4      V4       VP                  ^ 4       V P                  VP                  \        R4      4      V4       VP                  ^ 4       V P                  VP                  ^ 4      V P                  4       V P                  VP                  \        ^ 4      4      V P                  4       VP                  \        V4      ^,          ^,           4       V P                  VP                  4       V P                  4       V P                  R 4      pV P                  V^,          RR 4      pV P                  VP                  4       V4       V P                  VP                  4       V4       V P                  VP                  4       VRR 4       V P                  VP                  4       V P                  4       VP                  ^ 4       V P                  \        VP                  4       4      \        V4      4       V P                  VP                  4       V4       V P                  \        VP                  R4       VP                  4        V P                  \        VP                  4       R# )1234567890
:Nr-   N:r-   
   N:r      NNrY   rr   )r"   r#   r1   readliner3   r   r=   r{   rz   r>   r?   r[   r\   r]   s   &  r   test_readlineMemoryTestMixin.test_readline   sC   ll>*S1W%*DHH5
3TXX>)3/)3/)4884

1*CG4*CI6*CJ7

1
3SW=
3SY?
3SZ@

1+S1

14c:

1*DHH5
3TXX>

3s8a<!#$)4884ll>*cAgs^,)3/)3/)3s84)4884

1enn./c;)3/)U^^R8*u~~6r   c                   V P                  R 4      pV P                  V^
,          4      pV P                  VP                  4       V.^
,          4       VP	                  ^4       V P                  VP                  4       VR,          .V.^	,          ,           4       VP	                  ^ 4       V P                  VP                  ^4      V.^,          4       VP	                  ^ 4       V P                  VP                  R4      V.^
,          4       VP	                  ^ 4       V P                  VP                  ^ 4      V.^
,          4       VP	                  ^ 4       V P                  \        VP                  4       ^ ,          4      \        V4      4       VP	                  ^ 4       V P                  VP                  R4      V.^
,          4       V P                  \        VP                  R4       VP	                  \        V4      ^
,          ^,           4       V P                  VP                  4       . 4       VP                  4        V P                  \        VP                  4       R# )r   r.   NrY   rr   )r"   r#   r1   	readlinesr=   rz   r>   r?   r{   r[   r\   r]   s   &  r   test_readlinesMemoryTestMixin.test_readlines   s   ll>*S2X&*SEBJ7

1*SWI	,AB

1,seai8

1,sebj9

1+cURZ8

1eoo/23T#Y?

1.
;)U__b9

3s8b=1$%*B/*eoo6r   c                   V P                  R 4      pV P                  V^
,          4      pV P                  \        V4      V4       V P	                  VR4       V P	                  VR4       ^ pV F  pV P                  WA4       V^,          pK  	  V P                  V^
4       VP                  ^ 4       ^ pV F  pV P                  WA4       V^,          pK  	  V P                  V^
4       VP                  \        V4      ^
,          ^,           4       V P                  \        V4      . 4       V P                  V^,          4      pVP                  4        V P                  \        VP                  4       R# )r   __iter____next__N)r"   r#   r1   iterassertHasAttrr=   r{   listr[   r>   r\   r   )r
   r%   r^   ilines   &    r   test_iteratorMemoryTestMixin.test_iterator  s-   ll>*S2X&ee,5*-5*-DT'FA  	B

1DT'FA  	B

3s8b=1$%eb)S1W%*enn5r   c                d   V P                  R 4      pV P                  V4      pV P                  VP                  4       V4       VP	                  4        V P                  VP                  4       V4       V P                  \        VP                  4       4      \        V4      4       V P                  VR,          4      pV P                  VP                  4       RR V P                  R4      4       V P                  V4      pVP                  4        V P                  \        VP                  4       R# )r!     N890)	r"   r#   r1   rZ   r2   rz   r[   r>   r\   r]   s   &  r   test_getvalueMemoryTestMixin.test_getvalue   s    ll<(S!)3/

)3/enn./c;S4Z()"#.U0CDS!*enn5r   c                ,   V P                  R 4      pV P                  V4      pVP                  ^4       V P                  \        VP
                  R4       V P                  \        VP
                  ^R4       V P                  \        VP
                  ^^4       V P                  VP                  ^ 4      ^ 4       V P                  VP                  ^ ^ 4      ^ 4       V P                  VP                  4       V4       V P                  VP                  ^4      ^4       V P                  VP                  ^ ^4      ^4       V P                  VP                  4       VR,          4       V P                  VP                  \        V4      4      \        V4      4       V P                  VP                  4       V P                  4       VP                  \        V4      ^,           4       V P                  VP                  4       V P                  4       V P                  VP                  ^ ^4      \        V4      4       V P                  VP                  4       V P                  4       VP                  4        V P                  \        VP
                  ^ 4       R# )r!   r:   Nrr   )
r"   r#   r2   r>   r\   r=   r1   r{   r3   r[   r]   s   &  r   	test_seekMemoryTestMixin.test_seek.  s   ll<(S!

1*ejj"5*ejj!R8*ejj!Q7A*Aq)1-s+A*Aq)1-s2w/CH-s3x8txx0

3s8a< txx0Aq)3s84txx0*ejj!4r   c                   V P                  R 4      pV P                  V4      pV P                  VP                  \	        V4      ^,           4      ^4       V P                  VP                  4       V P                  4       V P                  VP                  4       ^4       V P                  VP                  4       V4       VP                  V P                  4       V P                  VP                  4       V4       VP                  V4       V P                  VP                  4       WP                  R4      ,           V,           4       R# )r!    N)
r"   r#   r1   r=   r{   r2   r3   rD   rZ   rR   r]   s   &  r   test_overseekMemoryTestMixin.test_overseekE  s    ll<(S!CHqL126txx0r*)3/DHH)3/C)3d1C+Cc+IJr   c                   V P                  R 4      pV P                  V4      pV P                  VP                  4       ^ 4       VP	                  ^4       V P                  VP                  4       ^4       VP	                  R4       V P                  VP                  4       R4       VP                  4        V P                  \        VP                  4       R# rC   )r"   r#   r1   rD   r=   r[   r>   r\   r]   s   &  r   	test_tellMemoryTestMixin.test_tellR  s    ll<(S!q)

1q)

5u-*ejj1r   c                    V P                  R 4      pV P                  V4      pV P                  VP                  4       R4       R# r    )r"   r#   r1   flushr]   s   &  r   
test_flushMemoryTestMixin.test_flush^  s4    ll<(S!-r   c                   V P                  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                  R4       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                  R 4       R# )TFN)
r#   r1   writablereadableseekableisattyclosedr[   r>   r\   r
   r^   s   & r   
test_flagsMemoryTestMixin.test_flagsd  s    )40)40)40/u-*enn5*enn5*enn5*ell3t,r   c                   a a S P                  R 4      oVV 3R lpVV 3R lpS P                  V! 4       S4       S P                  V! 4       S4       R# )r!   c                  ^   <  ! R  RSP                   4      p V ! S4      pVP                  4       # )c                       ] tR tRtRtR# )>MemoryTestMixin.test_subclassing.<locals>.test1.<locals>.MemIOiv  rG   N)r   r   r   r   r   rG   r   r   MemIOr   v  s    r   r   r#   rZ   r   mr%   r
   s     r   test1/MemoryTestMixin.test_subclassing.<locals>.test1u  s(     c
A::<r   c                  f   <  ! V3R  lRSP                   4      p V ! SR4      pVP                  4       # )c                   .   <a  ] tR tRt o V3R ltRtV tR# )>MemoryTestMixin.test_subclassing.<locals>.test2.<locals>.MemIOi{  c                >   < SP                   P                  W4       R # r   )r#   r   )meabr
   s   &&&r   r   GMemoryTestMixin.test_subclassing.<locals>.test2.<locals>.MemIO.__init__|  s    LL))"0r   rG   Nr   r   r   r   r   r   r   r   r
   s   @r   r   r   {  s     1 1r   r   Nr   r   s     r   test2/MemoryTestMixin.test_subclassing.<locals>.test2z  s-    1 1 c4 A::<r   N)r"   r1   )r
   r   r   r%   s   f  @r   test_subclassing MemoryTestMixin.test_subclassings  sA    ll<(	 
	  	#&#&r   c                X    \        ^d4       F  pV P                  4       p^Vn        K  	  R# )d   N)ranger#   foo)r
   _r^   s   &  r   test_instance_dict_leak'MemoryTestMixin.test_instance_dict_leak  s$     sALLNEEI r   c           	       a  S P                  R 4      pS P                  V4      p^*Vn        VP                  ^4        ! V 3R lRS P                  4      p^ RIpRVn        VP                  Vn        W4n        V! V^P4      pVP                  ^4       \        ^\        P                  ^,           4       EF  pW%3 EF  p\        P                  ! \        P                  ! WvR7      4      pS P                  VP                  4       VP                  4       4       S P                  VP                   VP                   4       S P                  VP                  VP                  4       S P                  VP#                  4       VP#                  4       4       VP%                  4        S P'                  \(        \        P                  W4       EK  	  EK  	  V=R# )r!   c                   .   <a  ] tR tRt o V3R ltRtV tR# )6MemoryTestMixin.test_pickling.<locals>.PickleTestMemIOi  c                J   < SP                   P                  W4       W n        R # r   )r#   r   r   )r   	initvaluer   r
   s   &&&r   r   ?MemoryTestMixin.test_pickling.<locals>.PickleTestMemIO.__init__  s    %%b4r   rG   Nr   r   s   @r   PickleTestMemIOr     s      r   r   N__main__)protocol)r"   r#   r   r=   r   r   r   r   r   r   pickleHIGHEST_PROTOCOLloadsdumpsr1   rZ   	__class__rD   r[   r>   r\   )	r
   r%   r^   r   r   submemioprotoobjobj2s	   f        r   test_picklingMemoryTestMixin.test_pickling  sK   ll<(S!	

1	dll 	 	%/"'6'?'?$#2 "3+a 1f559:E(||FLL$EF  A  ?  $((3  TYY[9

!!*fllDH ) ; $r   rG   N)r   r   r   r   rN   rV   r_   rc   rk   rt   rw   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r   rI   rI   D   su     A&E<LB2
9$2L'7R706265.K
2.-' #% #%r   rI   c                      a  ] tR tRt o ]P
                  t]R 4       t]P                  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# )PyBytesIOTesti  c                $    V P                  R 4      # )ascii)encode)ss   &r   r"   PyBytesIOTest.buftype  s    xx  r   r   c                   V P                  R 4      pVP                  4       pV P                  \        V4      R 4       VP	                  ^4       VP                  4       pV P                  \        V4      R 4       V P                  \        VP                  R4       V P                  \        VP                  4       V P                  \        VP                  4       V P                  VP                  4       RVR&   V P                  \        V4      R4       V P                  VP                  4       R4       ?\        P                  ! 4        VP                  4        VP                  4        V P                  \        VP                  4       R# )
   1234567890s   abc:r;   ro   Ns
   123abc7890Nsd   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)r#   	getbufferr1   bytesr=   r>   BufferErrorrR   rS   r[   assertFalser   rZ   r   
gc_collectr\   )r
   r^   r%   s   &  r   test_getbufferPyBytesIOTest.test_getbuffer  s   ]+oos]3

1oos]3 	+u{{J?+u~~6+u{{3&Cs]3)=9 *eoo6r   c                   V P                  4       pVP                  4       pV P                  \        V4      R 4       V P	                  \
        VP                  R4       VP                  4       pV P	                  \
        VP                  R4       VP                  4        V P	                  \
        VP                  R4       VP                  4        VP                  R4       R# )r      xN)r#   r   r1   r   r>   r   rR   release)r
   r^   r%   buf2s   &   r   test_getbuffer_empty"PyBytesIOTest.test_getbuffer_empty  s    oosS) 	+u{{D9 +u{{D9+u{{D9Dr   c                4   V P                  R 4      pVP                  4       p\        P                  ! V4      p\        P                  ! V4      pV.pVP	                  V4       \
        P                  ! 4       ;_uu_ 4        ?RRR4       ??\
        P                  ! 4       ;_uu_ 4        \        P                  ! 4        RRR4       V P                  V! 4       4       V P                  V! 4       4       R#   + '       g   i     L{; i  + '       g   i     LQ; i)r   N)
r#   r   weakrefrefappendr   catch_unraisable_exceptiongccollectassertIsNone)r
   r^   r%   memiowrbufwrr   s   &     r   test_getbuffer_gc_collect'PyBytesIOTest.test_getbuffer_gc_collect  s    ]+oo++e$C E	//11 2//11JJL 2')$%'" 21
 21s   ?C4(D4D	D	c                    V P                  R 4      pV P                  V P                  V4      P                  4       V4       V P                  V P                  V4      P                  R4      V4       R# )r!   Nrr   )r"   r1   r#   read1rM   s   & r   
test_read1PyBytesIOTest.test_read1  sV    ll<(c*002C8c*004c:r   c                   V P                  R 4      pV P                  V4      p\        R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       \        R4      pVP                  ^ 4       V P                  VP	                  V4      ^
4       V P                  VR4       \        R4      pVP                  ^ 4       V P                  VP	                  V4      ^ 4       V P                  VR4       V P                  \        VP                  R4       ^ RIpVP                  R	R4      pV P                  V4      pVP	                  V4       V P                  VP                  4       R4       VP                  4        V P                  \        VP                  V4       V P                  R
4      p\        4       pVP                  ^*4       VP	                  V4       V P                  VR4       R# )r!   s   hellos   12345s   67890s   hello worlds   1234567890dr   rY   Nr   s   123)r"   r#   	bytearrayr1   readintor=   r>   r?   arraytobytesr[   r\   )r
   r%   r^   r   r  r   s   &     r   test_readintoPyBytesIOTest.test_readinto  s   ll<(S!h*A.H%*A.H%*A.H%n%

1*B/N+cN

1*A.C )U^^R8KK^,S!qn5*enna8V$K

2qC r   c                   V P                  R 4      pV P                  V4      pV P                  VP                  R^4      ^ 4       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                  R^4       V P                  VP	                  4       VRR 4       VP                  ^ 4       VP                  ^^4       V P                  VP	                  4       VR,          4       R# )r!   N:r+   NNrr   r   )r"   r#   r1   r=   r2   r]   s   &  r   test_relative_seek PyBytesIOTest.test_relative_seek  s   ll<(S!B*A.Aq)1-B*A.B*A.Aq)2.Aq)2.

2qs23x0

1

1as2w/r   c                    V P                  4       pV P                  \        V P                   R 4       V P                  \        VP                  R 4       V P                  \        VP                  R .4       R# r    )r#   r>   r?   rR   rb   r   s   & r   test_unicodePyBytesIOTest.test_unicode+  sS    )T\\<@)U[[,?)U%5%5~Fr   c                ,   R p^ RI pVP                  R\        V4      4      pV P                  V4      pV P                  VP	                  4       V4       V P                  VP                  V4      ^
4       V P                  VP	                  4       V4       R# )r   Nr   )r  r   r#   r1   rZ   rR   )r
   r%   r  r   r^   s   &    r   test_bytes_arrayPyBytesIOTest.test_bytes_array2  sq    KKT#Y'Q)3/Q,)3/r   c                    V P                  R 4      pV P                  VR7       V P                  \        V P                  VRR7       R# )r!   )initial_bytesN)r   )r"   r#   r>   r?   rM   s   & r   test_issue5449PyBytesIOTest.test_issue5449;  s9    ll<(3')T\\3DAr   rG   N)r   r   r   r   pyiorK   staticmethodr"   BytesIOr#   r3   r   r   r  r  r  r  r  r  r  r   r   r   s   @r   r   r     si       44! !llG
C72#&;
!B0 G0B Br   r   c                   b   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V tR# )TextIOTestMixiniA  c                  a V P                  R R7      oV3R lpV P                  SP                  R 4       SP                  R4       V! 4        V P                  SP                  R4       SP                  R4       V! 4        V P                  SP                  R4       SP                  R4       V! 4        V P                  SP                  R4       R # )	Nnewlinec                  J   < S P                  ^ 4       S P                  4        R# )r   N)r=   r2   r^   s   r   force_decode<TextIOTestMixin.test_newlines_property.<locals>.force_decodeH  s    JJqMJJLr   a

b
cd)r+  
)r+  r.  )r#   r1   newlinesrR   )r
   r(  r^   s   & @r   test_newlines_property&TextIOTestMixin.test_newlines_propertyC  s    T*	 	.E.G8F)=>r   c                   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                  R^4       V P                  \        VP                  ^^4       V P                  \        VP                  ^^4       R# )r+   Nrr   r   )r#   r>   OSErrorr=   r   s   & r   r  "TextIOTestMixin.test_relative_seekV  s    '5::r15'5::q!4'5::r15'5::r15'5::q!4'5::q!4r   c                    V P                  4       pV P                  VP                  4       V P                  VP                  4       V P	                  VP
                  4       R # r   )r#   r   encodingerrorsr   line_bufferingr   s   & r   test_textio_properties&TextIOTestMixin.test_textio_properties`  sG     	%..)%,,'--.r   c                   V P                  R 4      pV P                  \        V4      . RO4       V P                  VP                  4       R 4       V P                  4       pV P                  VP	                  R 4      ^4       VP                  ^ 4       V P                  \        V4      . RO4       V P                  VP                  4       R 4       R# )a
b
cdNr*  r,  r-  r#   r1   r   rZ   rR   r=   r   s   & r   test_newline_default$TextIOTestMixin.test_newline_defaulti  s    ^,e&>?)>:^4a8

1e&>?)>:r   c                   V P                  R RR7      pV P                  \        V4      . RO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       R4       V P                  RR7      pV P                  ^VP                  R4      4       V P                  ^VP                  R	4      4       V P                  ^VP                  R
4      4       VP                  ^ 4       V P                  VP	                  4       R4       V P                  VP                  4       R4       V P                  RRR7      pV P                  VP	                  ^4      R4       R# )r=  Nr$  r*  r   z
b
cr+  za
b
c
dr,  r-  za
bza
b)r*  zb
zc
dr#   r1   r   r=   r2   rZ   rR   r   s   & r   test_newline_none!TextIOTestMixin.test_newline_nonet  sh   ^T:e&@A

1A,A.A.A-)<8T*EKK./EKK01EKK/0

1|4)<8Xt4A/r   c                V   V P                  R RR7      pV P                  \        V4      . R
O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                  RR7      pV P                  ^VP                  R4      4       V P                  ^VP                  R4      4       V P                  ^VP                  R4      4       V P                  ^VP                  R4      4       VP                  ^ 4       V P                  \        V4      . R
O4       V P                  VP                  4       R 4       R	# )r=  rY   r$  r*  za
brC  r/  bzdN)r*  r,  crD  rE  r   s   & r   test_newline_empty"TextIOTestMixin.test_newline_empty  s>   ^R8e&BC

1A1A.A-)>:R(EKK./EKK./EKK./EKK./

1e&BC)>:r   c                   V P                  R RR7      pV P                  \        V4      . RO4       V P                  VP                  4       R 4       V P                  RR7      pV P                  VP	                  R 4      ^4       VP                  ^ 4       V P                  \        V4      . RO4       V P                  VP                  4       R 4       R# )r=  r+  r$  Nr>  r?  r   s   & r   test_newline_lfTextIOTestMixin.test_newline_lf  s    ^T:e&>?)>:T*^4a8

1e&>?)>:r   c                p   V P                  R RR7      pV P                  VP                  4       R4       VP                  ^ 4       V P                  \	        V4      . RO4       V P                  VP                  4       R4       V P                  RR7      pV P                  VP                  R 4      ^4       VP                  ^ 4       V P                  \	        V4      . RO4       VP                  ^ 4       V P                  VP                  4       . RO4       V P                  VP                  4       R4       R# )r=  r/  r$  zabcdN)zarI  r/  rJ  rD  )r#   r1   r2   r=   r   rZ   rR   r   r   s   & r   test_newline_crTextIOTestMixin.test_newline_cr  s    ^T:~6

1e&FG)>:T*^4a8

1e&FG

1*,LM)>:r   c                p   V P                  R RR7      pV P                  VP                  4       R4       VP                  ^ 4       V P                  \	        V4      . RO4       VP                  ^ 4       V P                  VP                  4       . RO4       V P                  VP                  4       R4       V P                  RR7      pV P                  VP                  R 4      ^4       VP                  ^ 4       V P                  \	        V4      . RO4       V P                  VP                  4       R4       R# )r=  r.  r$  z
a
b
cdN)za
zb
r-  )r#   r1   r2   r=   r   r   rZ   rR   r   s   & r   test_newline_crlf!TextIOTestMixin.test_newline_crlf  s    ^V<'9:

1e&BC

1*,HI)+=>V,^4a8

1e&BC)+=>r   c                    V P                  R RR7      pV P                  VP                  ^4      R4       V P                  VP                  4       R4       R# )za
b
Nr$  za
b
)r#   r1   r2   rZ   r   s   & r   test_issue5265TextIOTestMixin.test_issue5265  sC    \48A1)84r   c                    V P                  \        V P                  R R7       V P                  \        V P                  RR7       R F  pV P                  VR7       K  	  R# )   
r$  errorN)NrY   r+  r/  r.  )r>   r?   r#   r\   )r
   r%  s   & r   test_newline_argument%TextIOTestMixin.test_newline_argument  sL    )T\\5A*dllGD5GLLL) 6r   rG   N)r   r   r   r   r1  r  r:  r@  rF  rK  rN  rQ  rT  rW  r\  r   r   r   s   @r   r"  r"  A  sA     ?&5/	;0,;&
;; ? 5* *r   r"  c                   ^   a  ] tR tRt o ]t]P                  t]P                  t	Rt
R tRtV tR# )PyStringIOTesti  rY   c                    V P                  R 4      pV P                  VP                  4       R 4       V P                  4       pVP                  R 4       V P                  VP	                  4       R 4       R# )u   N)r#   r1   r2   rR   rZ   r   s   & r   test_lone_surrogates#PyStringIOTest.test_lone_surrogates  sT    X&x0H)84r   rG   N)r   r   r   r   strr"   r  StringIOr#   rK   r3   ra  r   r   r   s   @r   r_  r_    s.     GmmG44
C5 5r   r_  c                   `    ] tR tRt]t]P                  tRt ! R R]P                  4      t
RtR# )PyStringIOPickleTesti  rY   c                   ,   a  ] tR tRt o R tR tRtV tR# )PyStringIOPickleTest.ioclassi  c           	     ~    \         P                  ! \         P                  ! \        P                  ! V/ VB 4      4      # r   )r   r   r   r  rd  clsargskwargss   &*,r   __new__$PyStringIOPickleTest.ioclass.__new__  s(    <<T]]D-KF-K LMMr   c                    R # r   rG   r
   rl  rm  s   &*,r   r   %PyStringIOPickleTest.ioclass.__init__      r   rG   Nr   r   r   r   rn  r   r   r   r   s   @r   r#   rh    s     	N	 	r   r#   rG   N)r   r   r   r   rc  r"   r  rK   r3   rd  r#   r   rG   r   r   rf  rf    s/     G44
C$--  r   rf  c                   .  a  ] tR tRt o ]P
                  t]P                  tR tR t	]
P                  t]
P                  R 4       tR t]
P                  R 4       t]
P                  R 4       t]
P                  R 4       t]
P                  R	 4       tR
tV tR# )CBytesIOTesti  c                   V P                  4       pVP                  4       pV P                  \        V4      ^4       \	        V^ ,          4       V P                  V^,          \        4       V^,          e   V P                  V^,          \        4       VP                  4        V P                  \        VP                  4       R# )r;   N)r#   __getstate__r1   r{   r
  assertIsInstanceintdictr[   r>   r\   r
   r^   states   &  r   test_getstateCBytesIOTest.test_getstate  s    ""$UQ'%(eAh,8!!%(D1*e&8&89r   c                   V P                  4       pVP                  R4       VP                  \        R 4      ^ R34       VP                  R ^ R^/3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                  \
        VP                  R4       V P                  \
        VP                  4       V P                  \
        VP                  ^ 4       VP                  4        V P                  \        VP                  R	4       R# )
   no errorNrg   )r  r   N)r   rr   N)unicoder   N)r   r<   N)r   r   r   )s   len-testr   )s   closedr   N)r#   __setstate__r
  r>   r\   r?   r[   r   s   & r   test_setstateCBytesIOTest.test_setstate  s   12Ik2At<=KVQK89*e&8&8/J)U%7%79MN)U%7%79IJ)U%7%7E)U%7%79IJ)U%7%78)U%7%7;*e&8&8:NOr   c                   \         P                  ! R 4      pV P                  pV P                  \        P                  \        P                  ! 4       4      V4       V! \        P                  ! 4       V4       RpV! \        P                  ! RV,          4      V\        P                  ! RV,          4      ,           4       R# )P2n2Pnr      aN)
r   calcobjsizecheck_sizeofr1   object
__sizeof__ior   sys	getsizeof)r
   basesizecheckns   &   r   test_sizeofCBytesIOTest.test_sizeof  s|    &&x0!!**2::<8(CbjjlH&bjj"Hs}}TAX/F$FGr   c                ,   RP                  R4      p\        P                  ! V4      pV P                  V4      pV P	                  \        P                  ! V4      V^,           4       V! V4       V P	                  \        P                  ! V4      V4       R# ) r   Na                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   )r   r  getrefcountr#   r1   )r
   mutationimmold_rcr^   s   &&   r   _test_cow_mutationCBytesIOTest._test_cow_mutation"  sk    !!'*%S!-vz:-v6r   c                .    R  pV P                  V4       R# )c                 (    V P                  ^4       R# )r+   N)rS   r'  s   &r   r  0CBytesIOTest.test_cow_truncate.<locals>.mutation.  s    NN1r   Nr  r
   r  s   & r   test_cow_truncateCBytesIOTest.test_cow_truncate+  s    	)r   c                .    R  pV P                  V4       R# )c                 J    V P                  ^ 4       V P                  R4       R# )r   s   fooN)r=   rR   r'  s   &r   r  -CBytesIOTest.test_cow_write.<locals>.mutation5  s    JJqMKKr   Nr  r  s   & r   test_cow_writeCBytesIOTest.test_cow_write2  s    	  	)r   c                x   a V P                  R 4      pVP                  4       oV3R lpV P                  V4       R# )s   fooooooc                 *   < V P                  S4       R # r   )r  )r^   r}  s   &r   r  0CBytesIOTest.test_cow_setstate.<locals>.mutation?  s    u%r   N)r#   rx  r  )r
   r^   r  r}  s   &  @r   test_cow_setstateCBytesIOTest.test_cow_setstate:  s4     Z(""$	&)r   c                    \        R 4      p\        P                  ! V4      pV P                  V4      pV P	                  \        P                  ! V4      V4       R# )i   N)r
  r  r  r#   r1   )r
   bar  r^   s   &   r   test_cow_mutableCBytesIOTest.test_cow_mutableC  sB    
 t_$R ,f5r   rG   N)r   r   r   r   r  r   r#   rK   r~  r  r   r  cpython_onlyr  r  r  r  r  r  r   r   r   s   @r   rv  rv    s     jjG22	:P  ''LH H7 * * * * * * 6 6r   rv  c                   b   a  ] tR tRt o ]P
                  t]P                  tR tR t	R t
RtV tR# )CStringIOTestiM  c                p   V P                  R 4      pV P                  V4      pV P                  VP                  4       V4       V P                  VP	                  V4      \        V4      4       V P                  VP                  4       \        V4      4       V P                  VP                  4       V4       V P                  VP	                  V4      \        V4      4       V P                  VP                  4       \        V4      ^,          4       V P                  VP                  4       W,           4       R# )u   𠌊𠍇N)r"   r#   r1   rZ   rR   r{   rD   r]   s   &  r   test_widecharCStringIOTest.test_widecharS  s    ll12S!)3/S)3s84s3x0)3/S)3s84s3x!|4)395r   c                   V P                  4       pVP                  4       pV P                  \        V4      ^4       V P	                  V^ ,          \
        4       V P	                  V^,          \
        4       V P	                  V^,          \        4       V^,          e   V P	                  V^,          \        4       VP                  4        V P                  \        VP                  4       R# )rp   N)r#   rx  r1   r{   ry  rc  rz  r{  r[   r>   r\   r|  s   &  r   r~  CStringIOTest.test_getstate_  s    ""$UQ'eAh,eAh,eAh,8!!%(D1*e&8&89r   c                (   V P                  4       pVP                  R4       VP                  R R^ R^/3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                  \        VP                  R	4       V P                  \        VP                  R
4       V P                  \        VP                  R4       V P                  \        VP                  4       V P                  \        VP                  ^ 4       VP                  4        V P                  \        VP                  R4       R# )no errorNrY   rg   )r  r+  r   N)rY   rT   r   N)rY   rY   rr   N)r   rY   r   N)rY   r   r   N)rY   rY   r<   N)rY   rY   r   r   )zlen-testr   )r   rY   r   N)r#   r  r>   r\   r?   r[   r   s   & r   r  CStringIOTest.test_setstatek  s4   67JA{;<*e&8&8:LM*e&8&8:LM)U%7%79KL)U%7%79KL)U%7%79LM)U%7%7H)U%7%7I)U%7%78)U%7%7;*e&8&8:QRr   rG   N)r   r   r   r   r  rd  r#   rK   r  r~  r  r   r   r   s   @r   r  r  M  s0     kkG22
6
:S Sr   r  c                   X    ] tR tRt]P
                  t ! R R]P                  4      tRtR# )CStringIOPickleTesti}  c                   ,   a  ] tR tRt o R tR tRtV tR# )CStringIOPickleTest.ioclassi  c           	     ~    \         P                  ! \         P                  ! \        P                  ! V/ VB 4      4      # r   )r   r   r   r  rd  rj  s   &*,r   rn  #CStringIOPickleTest.ioclass.__new__  s(    <<R[[$-I&-I JKKr   c                    R # r   rG   rq  s   &*,r   r   $CStringIOPickleTest.ioclass.__init__  rs  r   rG   Nrt  r   s   @r   r#   r    s     	L	 	r   r#   rG   N)	r   r   r   r   r  rK   rd  r#   r   rG   r   r   r  r  }  s#    22"++  r   r  r   )unittesttestr   r   r  _pyior  r   r  r   r   r   rI   TestCaser   r"  r_  rf  rv  r  r  r   mainrG   r   r   <module>r     s      	 	   
  *0 *0Zi% i%XNBO%8(:K:K NBbS* S*l5_&9$h&7&75"?H,=,= U6= U6n-SN -S`.  zMMO r   