+
    Big                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHtHt ^ RIHtHtHtHt ^ RIHt ^ RIHt ^ R	IHt ^ RIt^ RItR
.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 t&]'R8X  d   ]PP                  ! 4        R# R# )    N)array)proxywraps)cpython_only	swap_attr
gc_collectis_wasiinfinite_recursionstrace_helper)TESTFNTESTFN_ASCIITESTFN_UNICODEmake_bad_fd)check_warnings)import_module)UserListz--trace=%file,%descc                   <  a  ] tR t^t o R tR tR tR tR t]	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]! ^4      R 4       tR tR tR t]	P                  ! ]P<                  R8H  R4      R 4       tR t R t!]!R 4       t"]!R 4       t#]!R 4       t$]!R 4       t%]!R  4       t&] R! 4       t'] R" 4       t(] R# 4       t)] R$ 4       t*] R% 4       t+R& t,]!R' 4       t-]!R( 4       t.]!R) 4       t/]0Pb                  ! 4       R* 4       t2R+t3V t4R,# )-AutoFileTestsc                <    V P                  \        R 4      V n        R# wN)FileIOr   fselfs   &'/usr/lib/python3.14/test/test_fileio.pysetUpAutoFileTests.setUp!   s    VS)    c                    V P                   '       d   V P                   P                  4        \        P                  ! \        4       R # N)r   closeosremover   r   s   &r   tearDownAutoFileTests.tearDown$   s$    666FFLLN
		&r    c                t   \        V P                  4      pVP                  \        \	        ^
4      4      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# )
   Ntell)r   r   writebytesrangeassertEqualr*   r#   r	   assertRaisesReferenceErrorgetattr)r   ps   & r   testWeakRefsAutoFileTests.testWeakRefs)   sq    $&&M	eBi !1.'1f=r    c                l   V P                   P                  \        \        ^4      4      4       V P	                  V P                   P                  4       ^4       V P                   P                  ^ 4       V P	                  V P                   P                  4       ^ 4       V P                   P                  ^
4       V P	                  V P                   P                  4       ^
4       V P                   P                  ^^4       V P	                  V P                   P                  4       ^4       V P                   P                  R^4       V P	                  V P                   P                  4       ^
4       V P                   P                  R^4       V P	                  V P                   P                  4       ^4       R# )   N)r   r+   r,   r-   r.   r*   seekr   s   &r   testSeekTellAutoFileTests.testSeekTell3   s   U59%&+A*B+Aq+B+B+r    c                    V P                   pV P                  VP                  R 4       V P                  VP                  R4       R F%  pV P	                  \
        \        3\        WR4       K'  	  R# )wbFoopsN)modeclosed)r   r.   r>   r?   r/   AttributeError	TypeErrorsetattr)r   r   attrs   &  r   testAttributesAutoFileTests.testAttributesA   s[    FF&5) %D~y9%q8 %r    z WASI does not expose st_blksize.c                   \         P                  p\        \        R 4      '       d<   \        P                  ! V P
                  P                  4       4      p\        VRV4      pV P                  V P
                  P                  V4       R# )fstat
st_blksizeN)
ioDEFAULT_BUFFER_SIZEhasattrr$   rG   r   filenor1   r.   _blksize)r   blksizefsts   &  r   testBlksizeAutoFileTests.testBlksizeM   sZ     ((2w((466==?+Cc<9G'2r    c                z   V P                   P                  \        . RO4      4       V P                   P                  4        \	        R4      pV P                  \        R4      ;_uu_ 4       pVP                  V4      pRRR4       V P                  VR4       V P                  X^4       R#   + '       g   i     L6; i)      abcdefghrN    efghrS      r      )	r   r+   r,   r#   	bytearrayr   r   readintor.   )r   bar   ns   &   r   testReadintoByteArray#AutoFileTests.testReadintoByteArrayX   s}    U>*+{#[[%%

2A &45A &%s   *B**B:	c                   V P                   P                  \        . RO4      4       V P                   P                  4        \	        \        R4      4      pV P                  \        R4      ;_uu_ 4       pVP                  V4      pRRR4       V P                  VR4       V P                  X^4       \	        \        R4      4      P                  R^^.R7      pV P                  \        R4      ;_uu_ 4       pVP                  V4      pRRR4       V P                  \        V4      R4       V P                  V^4       R#   + '       g   i     L; i  + '       g   i     LR; i)rS   rT   rU   NrV   H)shaperW   )r   r+   r,   r#   
memoryviewrZ   r   r   r[   r.   cast)r   mr   r]   s   &   r   _testReadintoMemoryview%AutoFileTests._testReadintoMemoryviewb   s    U>*+y-.[[%%

1A &34Ay-.33C1v3F[[%%

1A &q#:;A &% &%s   3D?6E?E	E"	c                   V P                   P                  \        . RO4      4       V P                   P                  4        \	        RR4      pV P                  \        R4      ;_uu_ 4       pVP                  V4      pRRR4       V P                  V\	        R. R	O4      4       V P                  X^4       \	        RR4      pV P                  \        R4      ;_uu_ 4       pVP                  V4      pRRR4       V P                  V\	        R. R
O4      4       V P                  V^4       \	        RR4      pV P                  \        R4      ;_uu_ 4       pVP                  V4      pRRR4       V P                  V\	        RR4      4       V P                  V^4       R#   + '       g   i     EL); i  + '       g   i     L; i  + '       g   i     Lg; i)rS   BrT   rU   NbIrV   rW   )rS   rX   r   rY   e   f   g   h   )rS   rX   r   rl   rm   rn   ro   )	r   r+   r,   r#   r   r   r   r[   r.   )r   ar   r]   s   &   r   _testReadintoArray AutoFileTests._testReadintoArrayr   sM   U>*+#{#[[%%

1A &E#'IJKA#{#[[%%

1A &E#'HIJA#{#[[%%

1A &E#'>?@A &%% &% &%s$   +FF1GF.	1G	G	c                   R R.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# s   123s   456rbs   123456N)r   
writelinesr#   r   r   readr.   r   lbufs   &  r   testWritelinesList AutoFileTests.testWritelinesList   s\    V!VT*ffkkm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# ru   )r   r   rw   r#   r   r   rx   r.   ry   s   &  r   testWritelinesUserList$AutoFileTests.testWritelinesUserList   sa    ff%&!VT*ffkkmi(r    c                   V P                  \        V P                  P                  . RO4       V P                  \        V P                  P                  R4       V P                  \        V P                  P                  R4       R# )rS   Nabc)rS   rX      )r/   rA   r   rw   r   s   &r   testWritelinesError!AutoFileTests.testWritelinesError   sV    )TVV%6%6	B)TVV%6%6=)TVV%6%6>r    c                   V P                   P                  R 4       V P                   P                  4        V P                  \        R4      V n         V P                  V P                   P                  R4      R 4       V P                   P                  ^ 4       V P                  V P                   P                  R4      R4       V P                  V P                   P                  R4      RR.4       R# )s
   hi
bye
abcrU   Ns   hi
s   bye
   abc)
r   r+   r#   r   r   r.   rx   r8   readline	readlinesr   s   &r   test_none_argsAutoFileTests.test_none_args   s    _%VS)T*O<A.8))$/(F1CDr    c                \    V P                  \        V P                  P                  R 4       R# )zHello!N)r/   rA   r   r+   r   s   &r   test_rejectAutoFileTests.test_reject   s    )TVV\\8<r    c           
     R   V P                  \        V P                  4      R V P                  : RV P                  P                  : RV P                  P
                  : R24       V P                  =V P                  \        V P                  4      R V P                  : RV P                  P                  4       : RV P                  P
                  : R24       V P                  P                  4        V P                  \        V P                  4      R V P                  : R24       R# )<.FileIO name= mode=z closefd=True>z.FileIO fd=z.FileIO [closed]>N)r.   reprr   
modulenamenamer>   rL   r#   r   s   &r   testReprAutoFileTests.testRepr   s    dff//466;;E	F FFKdff//466==?DFFKKI	J 	dff37??D	Fr    c                (    ! R  RV P                   4      pV! \        4      pV;_uu_ 4        V P                  VP                  \	        V4      4       RRR4       V P                  VP                  \	        V4      4       R#   + '       g   i     L7; i)c                       ] tR t^tRtR# )6AutoFileTests.test_subclass_repr.<locals>.TestSubclass N__name__
__module____qualname____firstlineno____static_attributes__r   r    r   TestSubclassr      s    r    r   N)r   r   assertInr   r   )r   r   r   s   &  r   test_subclass_repr AutoFileTests.test_subclass_repr   sb    	4;; 	  QMM,//a9  	l++T!W5 Qs   &BB	c                   \         P                  ! \        \         P                  4      p V P	                  VR RR7      ;_uu_ 4       pV P                  \        V4      RV P                  : RVP                  : RVP                  : R24       RRR4       \         P                  ! V4       R#   + '       g   i     L(; i  \         P                  ! T4       i ; i)rU   Fclosefdr   r   r   z closefd=False>N)r$   openr   O_RDONLYr   r.   r   r   r   r>   r#   )r   fdr   s   &  r   testReprNoCloseFDAutoFileTests.testReprNoCloseFD   s    WWVR[[)	Re44  a"&//166166"CD 5
 HHRL 54
 HHRLs$   C AB.C .B>	9C Cc           	     .   \        V P                  R V P                  4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \	        V P                  4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   N)r   r   r/   RuntimeErrorr   r   s   &r   testRecursiveReprAutoFileTests.testRecursiveRepr   sW     tvvvtvv..""<00TVV 1 /.00 /..s#   BA0	B0B ;BB	c                $   V P                   pV P                  VP                  4       4       V P                  VP                  4       V P	                  \
        VP                  ^
4       VP                  4        V P                  VP                  4       V P                  \        R4      pV P	                  \        VP                  R4       V P                  VP                  4       VP                  4        V P                  VP                  4       R# )r)   rU    N)r   assertFalseisattyr?   r/   
ValueErrorrx   r#   
assertTruer   r   rA   r[   r   r   s   & r   
testErrorsAutoFileTests.testErrors   s    FF$"*affb1		!KK$)QZZ4"		!r    c                   . ROpV P                   P                  4        V P                  V P                   P                  4       V F/  p\	        V P                   V4      pV P                  \        V4       K1  	  V P                  \        V P                   P                  4       V P                  \        V P                   P                  \        ^4      4       V P                  \        V P                   P                  4       V P                  \        V P                   P                  ^ 4       V P                  \        V P                   P                  4       V P                  \        V P                   P                  R4       V P                  \        V P                   P                  4       V P                  \        V P                   P                  R4       R# )rL   r    N)rL   r   seekablereadablewritablerx   readallr   r   r*   truncateflush)r   r#   r   r?   r1   r/   r   rA   r[   rZ   r8   r+   rw   )r   methods
methodnamemethods   &   r   testMethodsAutoFileTests.testMethods   s(   0 	&!JTVVZ0Fj&1 "
 	)TVV__5*dffooy|D)TVV[[1*dffkk15)TVV\\2*dffllC8)TVV%6%67*dff&7&7=r    c                     V P                  R R4       V P                  R4       R#   \         dD   pT P                  TP                  ^ 4       T P                  TP                  R 4        Rp?R# Rp?ii ; i).rU   Should have raised OSErrorN)r   failOSErrorassertNotEqualerrnor.   filename)r   es   & r   testOpendirAutoFileTests.testOpendir   sa    	4KKS!
 II23	  	.+QZZ--	.s   ' A58A00A5ntz&test only works on a POSIX-like systemc                z   \         P                  ! R \         P                  4      pV P                  \        4      ;_uu_ 4       pV P                  VR4       RRR4       \         P                  ! V4       V P                  XP                  P                  \        P                  4       R#   + '       g   i     L\; i)r   rU   N)r$   r   r   r/   r   r   r#   r.   	exceptionr   EISDIR)r   r   cms   &  r   testOpenDirFDAutoFileTests.testOpenDirFD   sn    WWS"++&w''2KKC  (
++U\\: ('s   B**B:	c                0   a  \        S 4      V 3R  l4       pV# )c                 6  < V P                   p\        P                  ! VP                  4       4        S! W4        V P                   P                  4        R #   \         d     R # i ; i   T P                   P                  4        i   \         d     i i ; i; ir"   )r   r$   r#   rL   r   )r   r   funcs   & r   wrapper'AutoFileTests.ClosedFD.<locals>.wrapper  st     AHHQXXZ TFFLLN FFLLN s@   A* A A'&A'*B,BBBBBBr   r   r   s   f r   ClosedFDAutoFileTests.ClosedFD
  s     	t
	 

	 r    c                0   a  \        S 4      V 3R  l4       pV# )c                   < V P                   p\        P                  ! VP                  4       4        S! W4       V P	                  R 4        V P                   P                  4        R#   \
         d5   pT P                  TP                  \        P                  4        Rp?LWRp?ii ; i  \
         d     R# i ; i   T P                   P                  4        i   \
         d     i i ; i; i)r   N)	r   r$   r#   rL   r   r   r.   r   EBADF)r   r   r   r   s   &  r   r   -AutoFileTests.ClosedFDRaises.<locals>.wrapper  s     AHHQXXZ 
T 		67FFLLN  7  %++667  FFLLN sd   A) B= B+ )B(4*B#B= #B((B= +B:9B:=C+?CC+C(%C+'C((C+r   r   s   f r   ClosedFDRaisesAutoFileTests.ClosedFDRaises  s     	t	 
	 r    c                &    VP                  4        R # r"   )r#   r   s   &&r   testErrnoOnCloseAutoFileTests.testErrnoOnClose,  s    		r    c                (    VP                  R 4       R# )   aN)r+   r   s   &&r   testErrnoOnClosedWrite$AutoFileTests.testErrnoOnClosedWrite0  s    	r    c                (    VP                  ^ 4       R# r   N)r8   r   s   &&r   testErrnoOnClosedSeek#AutoFileTests.testErrnoOnClosedSeek4  s    	q	r    c                &    VP                  4        R # r"   )r*   r   s   &&r   testErrnoOnClosedTell#AutoFileTests.testErrnoOnClosedTell8  s    	r    c                (    VP                  ^ 4       R# r   )r   r   s   &&r   testErrnoOnClosedTruncate'AutoFileTests.testErrnoOnClosedTruncate<  s    	

1r    c                &    VP                  4        R # r"   )r   r   s   &&r   testErrnoOnClosedSeekable'AutoFileTests.testErrnoOnClosedSeekable@      	

r    c                &    VP                  4        R # r"   )r   r   s   &&r   testErrnoOnClosedReadable'AutoFileTests.testErrnoOnClosedReadableD  r   r    c                &    VP                  4        R # r"   )r   r   s   &&r   testErrnoOnClosedWritable'AutoFileTests.testErrnoOnClosedWritableH  r   r    c                &    VP                  4        R # r"   )rL   r   s   &&r   testErrnoOnClosedFileno%AutoFileTests.testErrnoOnClosedFilenoL  s    	
r    c                F    V P                  VP                  4       R 4       R# )FN)r.   r   r   s   &&r   testErrnoOnClosedIsatty%AutoFileTests.testErrnoOnClosedIsattyP  s    U+r    c                    V P                   P                  4        V P                  \        R 4      V n         \
        P                  ! V P                   P                  4       4       V P                   #   \         d     Lbi ; i)rU   )r   r#   r   r   r   r$   rL   r   s   &r   ReopenForReadAutoFileTests.ReopenForReadT  s[    	FFLLN VS)
!vv	  		s   A1 1A?>A?c                H    V P                  4       pVP                  ^4       R# )rS   N)r	  rx   r   s   &&r   testErrnoOnClosedRead#AutoFileTests.testErrnoOnClosedRead]  s     	q	r    c                F    V P                  4       pVP                  4        R # r"   )r	  r   r   s   &&r   testErrnoOnClosedReadall&AutoFileTests.testErrnoOnClosedReadallb  s     			r    c                `    V P                  4       p\        R R4      pVP                  V4       R# )rj   Ns
   xxxxxxxxxx)r	  r   r[   )r   r   rq   s   && r   testErrnoOnClosedReadinto'AutoFileTests.testErrnoOnClosedReadintog  s'     #w	

1r    c                  a  S P                   P                  R 4       S P                   P                  4        RV 3R llpV! RR\         R24       V! RR\         R24       V! RR\         R	2R.R
7       V! RRR\         R2R.R7       V! RRR\         R2R7       \        P
                  ! R\         R2RR\        R7      pS P                  VP                  R4      ^4       R# )s   Hello, World!Nc                 4  <a SP                  V R 7      ;_uu_ 4        \        P                  ! V\        VVR7      o\        P                  ! S4      oSP                  \        S4      ^RS 24       S^ ,          P                  pSR,           F#  pSP                  VVP                  RV 24       K%  	  V3R lp. ROpV'       d	   W,          pV F(  w  rSP                  V! V	4      V
RV	 RV
 RS 2R	7       K*  	  R
R
R
4       R
#   + '       g   i     R
# ; i))r   )preludecleanupz,Should have had at least an open call|calls=:rS   NNz,Looking for file descriptor in arguments|ev=c                 h   < \        S Uu. uF  qVP                  9   g   K  VNK  	  up4      # u upi r"   )lensyscall)r   evsyscallss   & r   count_similarnameRAutoFileTests.test_syscalls_read.<locals>.check_readall.<locals>.count_similarname  s+    XLXr9KXLMMLs   //zcall=z|count=z
|syscalls=)msgN))r   rS   )r#   rS   )ioctlr   )statrS   )subTestr   
get_events_strace_flagsfilter_memoryassertGreaterr  
returncoder   argsr.   )r   coder  r  extra_checksfd_strr  r  checkscallcountr  r   s   &&&&&      @r   check_readall7AutoFileTests.test_syscalls_read.<locals>.check_readallz  s   4(((33D->E>EG )66x@ ""MB8*MO "!// #2,,BMMFrdK 'N  *F#)KD$$)$/#D6z(L %  $*q )(((s   CDD	z!open builtin with default optionsz
            f = open('z:')
            f.read()
            f.close()
            zopen in binary modez@', 'rb')
            f.read()
            f.close()
            zopen in text modez@', 'rt')
            f.read()
            f.close()
            )r*  zpathlib read_byteszp.read_bytes()z$from pathlib import Path; p = Path("z"))r  r*  zpathlib read_textzp.read_text())r  z
f = open('z')zf.read()z	f.close())r  r)  r  strace_flagsrx   )r   r   N)r8   rS   )r8   r   )	r   r+   r#   r   r   get_syscallsr$  r.   r.  )r   r/  callss   f  r   test_syscalls_read AutoFileTests.test_syscalls_readm  s    	%&?	D 	/h 	
 	!h 	
 	h  &	
 	 <VHBI%	
 	<VHBI	
 ** +&	
 	V,a0r    )r   N)5r   r   r   r   r   r&   r3   r9   rD   unittestskipIfr
   rP   r^   rf   rr   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   requires_stracer4  r   __classdictcell____classdict__s   @r   r   r      s    *
>,
8 __W@A3 B3 ,))?
E=
F6  ">,
4 __RWW_&NO; P;&                   , ,      
 ""$D1 %D1r    r   c                   2    ] tR tRt]P
                  tRtRtR# )CAutoFileTestsi  _ior   N)r   r   r   r   r>  r   r   r   r   r    r   r=  r=    s    ZZFJr    r=  c                   2    ] tR tRt]P
                  tRtRtR# )PyAutoFileTestsi  _pyior   N)r   r   r   r   rA  r   r   r   r   r    r   r@  r@    s    \\FJr    r@  c                      a  ] tR tRt o R tR tR tR tR t]	P                  ! ]P                  ! 4       R8g  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V tR# )OtherFileTestsi  c                    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                  4        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                  4        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                  4        \        P                  R8w  d    V P                  RR4      pV P                  VP                  4       R4       V P                  VP	                  4       R4       \        P                  R8w  d[   R	\        P                  9  dF   \        P                  P                  R4      '       g!   V P                  VP                  4       R4       V P                  VP                  4       R4       VP                  4        \        P                  ! \        4       R
#   \         d     L)i ; i  \        P                  ! \        4       i ; i)r   FTrU   za+win32z/dev/ttyrq   darwinbsdN)sunosaix)r   r   r.   r   r   r   r#   r   sysplatform
startswithr   r$   unlinkr   s   & r   	testAblesOtherFileTests.testAbles  s   '	FC(AQZZ\51QZZ\40QZZ\40GGIFC(AQZZ\40QZZ\51QZZ\40GGIFD)AQZZ\40QZZ\40QZZ\40QXXZ/GGI||w&J4A $$QZZ\59$$QZZ\48||x/CLL0<<223CDD((u=$$QXXZ6GGIIIf!   	  IIfs1   GK( 
K CK( K%"K( $K%%K( (Lc                    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+rwrt)r   r   r#   r   r   )r   r>   r   s   &  r   testInvalidModeStrings%OtherFileTests.testInvalidModeStrings+  sR    1D?KK- 			6=> 2  s   AAAc                     R FT  pV P                  \        V^ ,          4      ;_uu_ 4       pV P                  VP                  V^,          4       RRR4       KV  	  \        P
                  P                  \        4      '       d   \        P                  ! \        4       R# R#   + '       g   i     K  ; i  \        P
                  P                  \        4      '       d   \        P                  ! \        4       i i ; i)r   N))r   r<   )r<   r<   )zwb+rb+)zw+brW  )rq   ab)rX  rX  )ab+rY  )za+brY  )rU   rv   )rv   rv   )rW  rW  )zr+brW  )r   r   r.   r>   r$   pathexistsrM  )r   modesr   s   &  r   testModeStringsOtherFileTests.testModeStrings6  s    
	"H
 [[q22a$$QVVU1X6 32H ww~~f%%		&! & 322 ww~~f%%		&! &s#   *B7 $B#B7 #B4.	B7 7AC=c                    V P                  \        \        4      R 4      pVP                  4        \        P
                  ! \        4       R# r   )r   strr   r#   r$   rM  r   s   & r   testUnicodeOpenOtherFileTests.testUnicodeOpenE  s+    KKFS)		
		&r    c                   \         P                  ! R 4      pV P                  VR4      p VP                  R4       VP	                  4        V P                  \         R4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       \        P                  ! \         4       R#   + '       g   i     L,; i  \        P                  ! \         4       i ; i)asciir   r   rv   N)
r   encoder   r+   r#   r   r.   rx   r$   rM  r   fnr   s   &  r   testBytesOpenOtherFileTests.testBytesOpenK  s      )KKC 	$GGFOGGI<..!  62 / IIl# /. IIl#s#   ?C )!B.
C .B>	9C Cutf-8z%test only works for utf-8 filesystemsc                    \         P                  ! R 4      pV P	                  XR4      p VP                  R4       VP                  4        V P                  \         R4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       \        P                  ! \         4       R#   \         d     T P                  R\         ,          4        Li ; i  + '       g   i     LY; i  \        P                  ! \         4       i ; i)rj  zcould not encode %r to utf-8r   r   rv   N)r   re  UnicodeEncodeErrorskipTestr   r+   r#   r   r.   rx   r$   rM  rf  s   &  r   testUtf8BytesOpen OtherFileTests.testUtf8BytesOpenW  s    	K&&w/B KKC 	&GGFOGGI>400A  62 1 IIn% " 	KMM8>IJ	K 10 IIn%s4   B/ ?C/ *!CC/ /'CCC,	'C/ /Dc                    R pV P                  \        V P                  VR4       V P                  \        V P                  \        VR4      R4       R# )zfoo barr   rd  N)r/   r   r   r,   )r   fn_with_NULs   & r   testConstructorHandlesNULChars-OtherFileTests.testConstructorHandlesNULCharsh  s?     *dkk;D*dkk5g3NPSTr    c                "   V P                  \        V P                  R4       V P                  \        V P                  \	        4       4       \
        P                  R8X  d0   ^ RIpV P                  \        VP                  \	        4       4       R# R# )r)   rE  Ni)	r/   r   r   r   r   rJ  rK  msvcrtget_osfhandle)r   ru  s   & r   testInvalidFdOtherFileTests.testInvalidFdm  s^    *dkk37'4;;><<7"gv';';[]K #r    c                   R Fm  pV P                  \        R4      ;_uu_ 4       pV P                  VR R7      pRRR4       XP                  4        V P	                  XP
                  \        4       Ko  	  R#   + '       g   i     LF; i)Fz!bool is used as a file descriptorr   N)FT)assertWarnsRegexRuntimeWarningr   r#   r.   r   __file__)r   r   r   r   s   &   r   testBooleanFdOtherFileTests.testBooleanFdt  sh    B&&~79 9<>KKEK29 GGIR[[(3 9 9s   A66B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   r   r(  r`  )r   bad_moder   r  ss   &    r   testBadModeArgument"OtherFileTests.testBadModeArgument|  s    	BFH-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           	     n   V P                  \        R 4      pVP                  \        \	        \        ^
4      4      4      4       V P                  VP                  4       ^
4       VP                  ^4       V P                  VP                  4       ^
4       V P                  VP                  ^ \        P                  4      ^4       VP                  ^4       V P                  VP                  4       ^4       V P                  VP                  ^ \        P                  4      ^4       VP                  4        R# r   )r   r   r+   r,   rZ   r-   r.   r*   r   r8   rI   SEEK_ENDr#   r   s   & r   testTruncateOtherFileTests.testTruncate  s    KK$	ib	*+,2&	

12&2;;/3	

21%2;;/4		r    c                   a  V 3R  lp V! 4        \         P                  ! \        4       R#   \         P                  ! \        4       i ; i)c                    < SP                  \        R 4      p V P                  \        \	        ^4      4      4       V P                  4        SP                  \        R4      p V P                  ^4      pV\        \	        ^4      4      8w  d   SP                  RV,          4       V P                  4       ^8w  d'   SP                  RV P                  4       ,          4       V P                  4        V P                  4       ^8w  d'   SP                  RV P                  4       ,          4       V P                  4        \        P                  P                  \        4      pV^8w  d   SP                  RV,          4       R# R# )r   zr+z(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,   r-   r#   rx   r   r*   r   r$   rZ  getsize)r   datasizer   s      r   	bug8016317OtherFileTests.testTruncateOnWindows.<locals>.bug801631  s     FC(AGGE%)$%GGIF4(A66!9DuU1X&		DtKLvvx1}		81668CDJJLvvx1}		=HIGGI77??6*Dqy		>EF r    N)r$   rM  r   )r   r  s   f r   testTruncateOnWindows$OtherFileTests.testTruncateOnWindows  s,    	G.	KIIfBIIfs	   , Ac                    V P                  \        R 4      pVP                  R4       VP                  4        V P                  \        R4      pVP                  R4       VP                  4        V P                  \        R4      pVP	                  4       pVP                  4        V P                  VR4        \        P                  ! \        4       R#     R# ; i   \        P                  ! \        4       i     i ; i; i)r<   s   spamrX  s   eggsrv   s   spameggsN)r   r   r+   r#   rx   r.   r$   rM  )r   r   ds   &  r   
testAppendOtherFileTests.testAppend  s    	FD)AGGGGGIFD)AGGGGGIFD)AAGGIQ,		&!		&!s0   B6C 9C CDC:9D:C><Dc                L    V P                  \        V P                  R ^ ^ 4       R# )1N)r/   rA   r   r   s   &r   testInvalidInitOtherFileTests.testInvalidInit  s    )T[[#q!<r    c                   \        R R7      ;_uu_ 4       pV P                  VP                  . 4       V P                  \        V P
                  . 4       V P                  VP                  . 4       V P                  \        V P
                  RR4       V P                  VP                  . 4       RRR4       R#   + '       g   i     R# ; i)Tquietz/some/invalid/namerS  N)r   r.   warningsr/   rA   r   r   )r   r   s   & r   testWarningsOtherFileTests.testWarnings  s    $''1QZZ,ib9QZZ,j$++7KTRQZZ, ('''s   BB77C	c                   aa  ! R  R\         4      o ! VV3R lRV P                  4      o\        P                  ! \        \        P
                  4      pV P                  SSV4       \        P                  ! V4       R# )c                       ] tR tRtRtR# )=OtherFileTests.testUnclosedFDOnException.<locals>.MyExceptioni  r   Nr   r   r    r   MyExceptionr    s    dr    r  c                   8   <a a ] tR tRt oVVV 3R ltRtVtV ;t# ):OtherFileTests.testUnclosedFDOnException.<locals>.MyFileIOi  c                @   < VR 8X  d	   S! R4      h\         SV `  W4      # )r   zblocked setting name)super__setattr__)r   r   valuer  MyFileIO	__class__s   &&&r   r  FOtherFileTests.testUnclosedFDOnException.<locals>.MyFileIO.__setattr__  s(    6>%&<==Xt8EEr    r   )r   r   r   r   r  r   r9  __classcell__)r  r;  r  r  s   @@r   r  r    s     F Fr    r  N)	Exceptionr   r$   r   r|  r   r/   r#   )r   r   r  r  s   & @@r   testUnclosedFDOnException(OtherFileTests.testUnclosedFDOnException  sV    *)*	F 	Ft{{ 	F
 WWXr{{++x4
r    r   N)r   r   r   r   rN  rT  r]  ra  rh  r6  r7  rJ  getfilesystemencodingrn  rr  rw  r}  r  r  r  r  r  r  r  r   r9  r:  s   @r   rC  rC    s     (T	?"
$ __S..0G;<>&>&U
L4B 
:$=-	 	r    rC  c                   j   a  ] tR tRt o ]P
                  tRt]P                  t]R 4       t	R t
RtV tR# )COtherFileTestsi  r>  c                    \        R 4      pV P                  \        V P                  VP                  ^,           4       V P                  \        V P                  VP
                  ^,
          4       R# )	_testcapiN)r   r/   rA   r   INT_MAXINT_MIN)r   r  s   & r   testInvalidFd_overflow&COtherFileTests.testInvalidFd_overflow  sP     "+.	)T[[)2C2Ca2GH)T[[)2C2Ca2GHr    c                Z   V P                  \        R 4      ;_uu_ 4       pVP                  4       pRRR4       \        P                  ! \        4      ;_uu_ 4       pVP                  4       pRRR4       V P                  XX4       R#   + '       g   i     L_; i  + '       g   i     L7; i)rv   N)r   r|  rx   r>  	open_coder.   )r   r   expectedactuals   &   r   test_open_codeCOtherFileTests.test_open_code  sh     [[4((AvvxH )]]8$$VVXF %6*	 )($$s   BBB	B*	r   N)r   r   r   r   r>  r   r   r   r   r  r  r   r9  r:  s   @r   r  r    s:     ZZFJ88DI I+ +r    r  c                   Z   a  ] tR tRt o ]P
                  tRt]P                  tR tRt	V t
R# )PyOtherFileTestsi  rA  c           	        V P                  \        R 4      ;_uu_ 4       pVP                  4       pRRR4       \        RR7      ;_uu_ 4       p\        P
                  ! \        4      ;_uu_ 4       pVP                  4       pRRR4       V P                  XX4       V P                  VP                  . 4       RRR4       R#   + '       g   i     L; i  + '       g   i     L[; i  + '       g   i     R# ; i)rv   NTr  )	r   r|  rx   r   rA  _open_code_with_warningr.   r   r  )r   r   r  r   r  s   &    r   r  PyOtherFileTests.test_open_code  s     [[4((AvvxH )$''1..x88A 9Xv.

B/ (' )( 98 (''s/   C #C&/C	 6C& C	C#C&&C7	r   N)r   r   r   r   rA  r   r   r   r  r   r9  r:  s   @r   r  r    s&     \\FJ::D
0 
0r    r  c                      \         P                  P                  \        4      '       d   \         P                  ! \        4       R # R # r"   )r$   rZ  r[  r   rM  r   r    r   tearDownModuler    s(     
ww~~f
		& r    __main__))rJ  r$   rI   r   r6  r   weakrefr   	functoolsr   test.supportr   r   r	   r
   r   r   test.support.os_helperr   r   r   r   test.support.warnings_helperr   test.support.import_helperr   collectionsr   r>  rA  r$  r   TestCaser=  r@  rC  r  r  r  r   mainr   r    r   <module>r     s     	 	        8 4   
  %%T1 T1p]H$5$5 mX%6%6 
\ \~+nh&7&7 +,0~x'8'8 0$ zMMO r    