+
    Bi0                        ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIt^ RIt^ RI	H
t
 ^ RIHt ^ RI	Ht ^ RI	Ht ^ RIHt  ! R	 R
4      t ! R R]]P$                  4      t ! R R]]P$                  4      t ! R R4      t ! R R]]P$                  4      t ! R R]]P$                  4      t]R8X  d   ]P2                  ! 4        R# R# )    N)array)proxy)
gc_collect)TESTFN)	os_helper)warnings_helper)UserListc                   n   a  ] tR t^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V tR# )AutoFileTestsc                <    V P                  \        R 4      V n        R# )wbN)openr   fselfs   &%/usr/lib/python3.14/test/test_file.pysetUpAutoFileTests.setUp   s    64(    c                    V P                   '       d   V P                   P                  4        \        P                  ! \        4       R # N)r   closer   unlinkr   r   s   &r   tearDownAutoFileTests.tearDown   s&    666FFLLN r   c                P   \        V P                  4      pVP                  R 4       V P                  V P                  P	                  4       VP	                  4       4       V P                  P                  4        RV n        \        4        V P                  \        \        VR4       R# )s
   teststringNtell)
r   r   writeassertEqualr   r   r   assertRaisesReferenceErrorgetattr)r   ps   & r   testWeakRefsAutoFileTests.testWeakRefs   sh    $&&M	1.'1f=r   c                f    V P                   pVP                   VP                   VP                   R # r   )r   namemodeclosedr   r   s   & r   testAttributesAutoFileTests.testAttributes%   s     FF			r   c                :   V P                   P                  R 4       V P                   P                  4        \        RR4      pV P	                  \
        R4      V n         V P                   P                  V4      pV P                  R VP                  4       RV 4       R# )   12brbN
   xxxxxxxxxx)	r   r   r   r   r   r   readintor   tobytes)r   ans   &  r   testReadintoAutoFileTests.testReadinto,   sk    U#w64(FFOOA		BQ0r   c                   \        R R4      pV P                  P                  4        V P                  \        RR7      V n        \        V P                  R4      '       d.   V P                  \        V P                  P                  V4       R# R# )r/   zutf-8)encodingr2   Nr1   )	r   r   r   r   r   hasattrr    	TypeErrorr2   )r   r4   s   & r   testReadinto_textAutoFileTests.testReadinto_text5   s_    #w6G4466:&&i!< 'r   c                   \        R R.4      pV P                  P                  V4       V P                  P                  4        V P	                  \
        R4      V n        V P                  P                  4       pV P                  VR4       R# )   1   2r0   r.   N)r	   r   
writelinesr   r   r   readr   )r   lbufs   &  r   testWritelinesUserList$AutoFileTests.testWritelinesUserList=   s`    dD\"!64(ffkkme$r   c                `    V P                  \        V P                  P                  . RO4       R#    N)rI         r    r;   r   rA   r   s   &r   testWritelinesIntegers$AutoFileTests.testWritelinesIntegersF   s    )TVV%6%6	Br   c                v    \        . RO4      pV P                  \        V P                  P                  V4       R# rH   )r	   r    r;   r   rA   )r   rC   s   & r   testWritelinesIntegersUserList,AutoFileTests.testWritelinesIntegersUserListJ   s(    W)TVV%6%6:r   c                     ! R  R4      pV P                  \        V P                  P                  V! 4       V! 4       .4       R# )c                       ] tR t^QtRtR# )8AutoFileTests.testWritelinesNonString.<locals>.NonString N)__name__
__module____qualname____firstlineno____static_attributes__rU   r   r   	NonStringrT   Q   s    r   r[   NrL   )r   r[   s   & r   testWritelinesNonString%AutoFileTests.testWritelinesNonStringO   s6    	 	 	)TVV%6%6$;	4	6r   c                   V P                   pV P                  VP                  \        4       V P	                  VP                  4       4       V P	                  VP                  4       \        VR 4      '       d(   V P                  \        \        3VP                  R4       VP                  4        V P                  VP                  4       R# )r2    N)r   r   r'   r   assertFalseisattyr)   r:   r    OSErrorr;   r2   r   
assertTruer*   s   & r   
testErrorsAutoFileTests.testErrorsW   s    FF($"1j!!w	2AJJC		!r   c                P   RRRRRRR	R
RRRR. 33R.pVP                  R4       V P                  P                  RRR4       V P                  V P                  P                  4       V F4  w  r#\        V P                  V4      pV P                  ! \        V.VO5!   K6  	  V P                  V P                  P                  RRR4      R4        ^^ ,           R#   \         dB    T P                  T P                  P                  ! \        P                  ! 4       !  R4        R# i ; i)filenorA   N)rg   rU   )flushrU   )ra   rU   )__next__rU   rB   rU   )r   )r   readlinerU   	readlinesrU   )seek)r   )r   rU   )__iter__rU   )truncaterU   )appendr   __exit__rc   r)   r"   r    
ValueErrorr   ZeroDivisionErrorsysexc_info)r   methods
methodnameargsmethods   &    r   testMethodsAutoFileTests.testMethodsb   s   ! !#$#$!$ 2%(# 	'( 	dD)& 'JTVVZ0Fj&848 !( 	tT:DA	EaCC  	ETVV__clln=tD	Es   	C AD%$D%c                Z    V P                  \        V P                  P                  4       R # r   )r    rb   r   rB   r   s   &r   testReadWhenWriting!AutoFileTests.testReadWhenWriting   s    '466;;/r   )r   N)rV   rW   rX   rY   r   r   r$   r+   r6   r<   rE   rM   rP   r\   rd   r|   r   rZ   __classdictcell____classdict__s   @r   r   r      sN     )!
>1=%C;
6	" ED0 0r   r   c                   .    ] tR t^t]P
                  tRtR# )CAutoFileTestsrU   NrV   rW   rX   rY   ior   rZ   rU   r   r   r   r          77Dr   r   c                   :    ] tR t^t]! ]P                  4      tRtR# )PyAutoFileTestsrU   NrV   rW   rX   rY   staticmethodpyior   rZ   rU   r   r   r   r          		"Dr   r   c                   V   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
tV tR# )OtherFileTestsc                :    \         P                  ! \        4       R # r   )r   r   r   r   s   &r   r   OtherFileTests.tearDown   s     r   c                   V P                  \        R 4      P                  4        R FB  p V P                  \        V4      pVP                  4        V P                  RV,          4       KD  	  R#   \         d     KV  i ; i)r   z%r is an invalid file modeN)r_   aUzwU+zU+z+UzrU+)r   r   r   failrt   )r   r(   r   s   &  r   testModeStringsOtherFileTests.testModeStrings   si    		&$%%'8D?IIfd+ 			6=> 9  s   A//A>=A>c                4   \         P                  R 8X  d   V P                  R4       \         P                  P	                  4       '       g   V P                  R4       V P                  \        \        34      ;_uu_ 4        \         P                  P                  R4       RRR4       V P                  \        \        34      ;_uu_ 4        \         P                  P                  4        RRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)osf1V5zE sys.stdin.seek(-1) may crash the interpreter on OSF1. Test manually.z stdin must be a TTY in this testN)
rv   platformskipTeststdinra   r    IOErrorrt   ro   rq   r   s   &r   	testStdinOtherFileTests.testStdin   s    <<8#MM"# yy!!MM<=455IINN2 6455II  65 65555s   ? C3
D3D	D	c                j   R p V P                  \        V4      pVP                  4        V P                  RV,          4       R#   \         dd   pTP
                  ^ ,          ^ 8w  dA   \        T4      p\        T9   g   Y9  d   T P                  RT,          4        Rp?R#  Rp?R#  Rp?R# Rp?ii ; i)qwertyzno error for invalid mode: %sz&bad error message for invalid mode: %sN)r   r   r   r   rt   rz   str)r   bad_moder   msgss   &    r   testBadModeArgument"OtherFileTests.testBadModeArgument   s    	B		&(+A GGIII5@A  	Lxx{aHQ;("3IIFJKK #4  	Ls   A B2AB--B2c                     V P                  \        R V4      pVP                  \        V4      P	                  R4      4       VP                  4        VP                  4        V P                  \        RV4      p\        VP                  4       P                  R4      4      pVP                  4        VP                  4        V P                  XV4       R#   \         d.   pT P                  RT\        T4      3,          4        Rp?LGRp?ii ; i)r   asciir0   z error setting buffer size %d: %sN)r   r   r   r   encoder   intrB   decoderb   r   r   )r   r   r   dr   s   &&   r   _checkBufferSizeOtherFileTests._checkBufferSize   s    
	J		&$*AGGCFMM'*+GGIGGI		&$*AAFFHOOG,-AGGIGGI 	A  	JII8As3x=HII	Js   B?C D #DDc                V   R FB  p\         P                  ! V R\        R7      ;_uu_ 4        V P                  V4       RRR4       KD  	  V P	                  \        R4      ;_uu_ 4        V P                  ^4       RRR4       R#   + '       g   i     K  ; i  + '       g   i     R# ; i)rI   zline buffering)messagecategoryN)r   r   i   )r   check_no_warningsRuntimeWarningr   assertWarnsRegex)r   r   s   & r   testSetBufferSize OtherFileTests.testSetBufferSize   s     A 2243C4BD D %%a(D D  "">3CDD!!!$ EDD D D EDDs   B'BBB(	c                   V P                  \        R 4      ;_uu_ 4       pVP                  P                  pVP	                  RR,          4       RRR4       V P                  \        R4      ;_uu_ 4       pVP                  4       p\        \        XR4      \        P                  4      pV P                  \        V4      V4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r       i@KL Nr0   i   )r   r   raw_blksizer   read1maxminr   DEFAULT_BUFFER_SIZEr   len)r   r   blksizedataexpected_sizes   &    r   testDefaultBufferSize$OtherFileTests.testDefaultBufferSize   s    YYvt$$eennGGGEI%& % YYvt$$779DG[ 92;Q;QRMSY6 %$	 %$ %$$s   /C4AC!C	!C2	c                   V P                  \        R 4      p VP                  R4       VP                  4        V P                  \        R4      pVP	                  ^4      pVR8w  d   V P                  RV,          4       VP                  4       ^8w  d'   V P                  RVP                  4       ,          4       VP                  4        VP                  4       ^8w  d'   V P                  RVP                  4       ,          4       VP                  4        \        P                  P                  \        4      pV^8w  d   V P                  RV,          4       VP                  4        R#   TP                  4        i ; i)	r   s   12345678901zrb+s   12345z(Read on file opened for update failed %rzFile pos after read wrong %dz!File pos after ftruncate wrong %dz"File size after ftruncate wrong %dN)r   r   r   r   rB   r   r   rq   ospathgetsize)r   r   r   sizes   &   r   testTruncateOnWindows$OtherFileTests.testTruncateOnWindows   s     IIfd#	GGN#GGI		&'A66!9Dx		DtKLvvx1}		81668CDJJLvvx1}		=HIGGI77??6*Dqy		>EFGGIAGGIs   D?E) )E;c                   R pRpV\        V4      ,          p. ROpRRRR\        RR4      33.pV P                  \        R4      pVP	                  W#,          4       VP                  V4       VP                  4        V FW  w  rxV P                  \        R4      p	V P                  \        V	4      V4       \        W4      p
V
! V!   V	P                  4        KY  	  V P                  \        R4      p	\        V4       F  p\        V	4       K  	  VP                  ^ 4      p V	P                  4       pXV8w  d   V P                  RV: RV: 24       VP                  ^ 4      p\        RR	\        V4      ,          4      p V	P                  V4       VP!                  4       pW8w  d   V P                  RV: RV: 24       VP                  ^ 4      p V	P#                  \        V4      4      pW8w  d   V P                  RV: RV: 24        V	P%                  4       pXV8w  d   V P                  RV: RV: 24       V	P                  4        V P                  \        R4      p	 V	 F  pK  	   V	P                  4        V	P                  V4       V	P#                  4        V	P%                  4        V	P                  4        R#   \         d    T P                  R4        ELi ; i  \         d    T P                  R
4        ELqi ; i  \         d    T P                  R4        EL9i ; i  \         d    T P                  R4        EL,i ; i  \         d    T P                  R4        Li ; i  T	P                  4        i ; i)i @  s   ham
r2   r/   r   r0   zLreadline() after next() with supposedly empty iteration-buffer failed anywayz6readline() after next() with empty buffer failed. Got z, expected r   zLreadinto() after next() with supposedly empty iteration-buffer failed anywayz6readinto() after next() with empty buffer failed. Got zHread() after next() with supposedly empty iteration-buffer failed anywayz2read() after next() with empty buffer failed. Got zMreadlines() after next() with supposedly empty iteration-buffer failed anywayz7readlines() after next() with empty buffer failed. Got z'read* failed after next() consumed fileN)s   spam, spam and eggs
s   eggs, spam, ham and spam
s   saussages, spam, spam and eggs
s   spam, ham, spam and eggs
s(   spam, spam, spam, spam, spam, ham, spam
s   wonderful spaaaaaam.
rk   rj   rm   sd                                                                                                       )r   r   r   r   r   rA   r   r   nextr"   rangepoprl   rt   r   r2   r3   rB   rn   )r   
dataoffsetfillernchunks	testlinesrx   bagry   rz   r   methitestlinelinerD   liness   &               r   testIterationOtherFileTests.testIteration  s    
 F+
	 $\3DsH!5 78: ii%		&"#y!		 'J		&$'AT!Wf-1)D$KGGI !( IIfd#wAG  ==#	:::<D 8II9=xI J==#C3x=01	:JJsO {{}II9=xI J ==#	:66#h-(D II9=xI J	:KKME III9=xI J		 IIfd#	 E



3 GGIe  	:II 9 :	:  	:II 9 :	:  	:II 9 :	:  	:II 9 :	:$  E		CDE GGIss   J< <K L L% 	M* )AM <KKK?>K?L"!L"%MMM'$M* &M''M* *M<rU   N)rV   rW   rX   rY   r   r   r   r   r   r   r   r   r   rZ   r   r   s   @r   r   r      s:     !
?! B %78_ _r   r   c                   .    ] tR tRt]P
                  tRtR# )COtherFileTestsib  rU   Nr   rU   r   r   r   r   b  r   r   r   c                   :    ] tR tRt]! ]P                  4      tRtR# )PyOtherFileTestsie  rU   Nr   rU   r   r   r   r   e  r   r   r   __main__)rv   r   unittestr   weakrefr   r   _pyior   test.supportr   test.support.os_helperr   r   r   collectionsr	   r   TestCaser   r   r   r   r   rV   mainrU   r   r   <module>r      s    
 	    	  # ) " (  u0 u0n]H$5$5 #mX%6%6 #R Rhnh&7&7 #~x'8'8 # zMMO r   