python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_fileio.cpython-312.pyc

͑eOddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZmZmZddlmZddlmZddlZddlZGd	d
ZGddeej8ZGd
deej8ZGddZGddeej8Z Gddeej8Z!dZ"e#dk(rejHyy)N)array)proxywraps)cpython_only	swap_attr
gc_collect
is_emscriptenis_wasi)TESTFNTESTFN_ASCIITESTFN_UNICODEmake_bad_fd)check_warnings)UserListceZdZdZdZdZdZdZeje
ddZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZejej6dk(ddZdZdZedZedZ edZ!edZ"edZ#ed Z$ed!Z%ed"Z&ed#Z'ed$Z(d%Z)ed&Z*ed'Z+ed(Z,y))*
AutoFileTestsc:|jtd|_yNw)FileIOrfselfs D/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_fileio.pysetUpzAutoFileTests.setUpsVS)c|jr|jjtjtyN)rcloseosremoverrs rtearDownzAutoFileTests.tearDowns"66FFLLN
		&rcrt|j}|jtt	d|j|jj
|j
|jjd|_t|jtt|dy)N
tell)rrwritebytesrangeassertEqualr&r r	assertRaisesReferenceErrorgetattr)rps  rtestWeakRefszAutoFileTests.testWeakRefs$sq$&&M	eBi !1.'1f=rcj|jjttd|j	|jjd|jj
d|j	|jjd|jj
d|j	|jjd|jj
dd|j	|jjd|jj
dd|j	|jjd|jj
dd|j	|jjdy)	Nrr%)rr'r(r)r*r&seekrs rtestSeekTellzAutoFileTests.testSeekTell.sU59%&+A*B+Aq+B+B+rc|j}|j|jd|j|jddD]%}|j	t
tft||d'y)NwbF)modeclosedoops)rr*r;r<r+AttributeError	TypeErrorsetattr)rrattrs   rtestAttributeszAutoFileTests.testAttributes<sbFF&5)%	8D~y9%q$
8	8rz WASI does not expose st_blksize.ctj}ttdr:tj|j
j
}t|d|}|j|j
j|y)Nfstat
st_blksize)
ioDEFAULT_BUFFER_SIZEhasattrr!rDrfilenor-r*_blksize)rblksizefsts   rtestBlksizezAutoFileTests.testBlksizeHsW((2w((466==?+Cc<9G'2rcZ|jjtgd|jjt	d}|jtd5}|j|}ddd|j|d|jdy#1swY.xYw)Nr3r6rabcdefghrefgh)	rr'r(r 	bytearrayrrreadintor*)rbarns    rtestReadintoByteArrayz#AutoFileTests.testReadintoByteArraySsU>*+
{
#
[[
%	

2A	45A		s"B!!B*c|jjtgd|jjt	td}|j
td5}|j|}ddd|j|d|jdt	tdjdddg}|j
td5}|j|}ddd|jt|d|j|dy#1swYxYw#1swYCxYw)	NrOrQrRrSrTHr6)shape)rr'r(r 
memoryviewrUrrrVr*cast)rmrrXs    r_testReadintoMemoryviewz%AutoFileTests._testReadintoMemoryview]sU>*+y-.
[[
%	

1
A	34Ay-.33C1v3F
[[
%	

1
A	q#:;A				s+D.&D:.D7:EcR|jjtgd|jjt	dd}|jtd5}|j|}ddd|j|t	dgd|jdt	dd}|jtd5}|j|}ddd|j|t	dgd|j|dt	d	d}|jtd5}|j|}ddd|j|t	d	d
|j|dy#1swYxYw#1swYxYw#1swYQxYw)NrOBrQrR)r3r6rrPefghrTb)r3r6rrcrdrerfIrS)	rr'r(r rrrrVr*)rarrXs    r_testReadintoArrayz AutoFileTests._testReadintoArraymsVU>*+#{#
[[
%	

1
A	E#'IJKA#{#
[[
%	

1
A	E#'HIJA#{#
[[
%	

1
A	E#'>?@A						s$#FF;FFFF&cddg}|jj||jj|jtd|_|jj}|j
|dyNs123s456rbs123456)r
writelinesr rrreadr*rlbufs   rtestWritelinesListz AutoFileTests.testWritelinesLists\
V!VT*ffkkmi(rctddg}|jj||jj|j	t
d|_|jj
}|j|dyrm)rrror rrrpr*rqs   rtestWritelinesUserListz$AutoFileTests.testWritelinesUserListsaff%&!VT*ffkkmi(rc
|jt|jjgd|jt|jjd|jt|jjdy)N)r3r6abc)r+r?rrors rtestWritelinesErrorz!AutoFileTests.testWritelinesErrorsV)TVV%6%6	B)TVV%6%6=)TVV%6%6>rc|jjd|jj|jtd|_|j|jj
dd|jjd|j|jjdd|j|jjdddgy)Ns
hi
bye
abcrRrshi
sbye
abc)
rr'r rrr*rpr7readline	readlinesrs rtest_none_argszAutoFileTests.test_none_argss_%VS)T*O<A.8))$/(F1CDrcZ|jt|jjdy)NzHello!)r+r?rr'rs rtest_rejectzAutoFileTests.test_rejects)TVV\\8<rc
B|jt|jd|jd|jjd|jj
d|j`|jt|jd|jd|jj
d|jj
d|jj|jt|jd|jdy)N<
.FileIO name= mode=z closefd=True>z.FileIO fd=z.FileIO [closed]>)r*reprr
modulenamenamer;rIr rs rtestReprzAutoFileTests.testReprsdff//466;;E	F
FFKdff//466==?DFFKKI	J	
dff37??D	Frctjttj}	|j	|dd5}|jt
|d|jd|jd|jddddtj|y#1swYxYw#tj|wxYw)NrRF)closefdrrrz closefd=False>)r!openrO_RDONLYrr*rrrr;r )rfdrs   rtestReprNoCloseFDzAutoFileTests.testReprNoCloseFDs
WWVR[[
)	Re4
D  a"&//166166"CD
D

HHRL
D
D

HHRLs#B,AB B, B)%B,,Cct|jd|j5|jt5t	|jddddddy#1swYxYw#1swYyxYw)Nr)rrr+RuntimeErrorrrs rtestRecursiveReprzAutoFileTests.testRecursiveReprs^
tvvvtvv
.	""<0
TVV
		

		s"A+AA+A(	$A++A4c"|j}|j|j|j|j|j	t
|jd|j|j|j|jtd}|j	t|jd|j|j|j|j|jy)Nr%rR)
rassertFalseisattyr<r+
ValueErrorrpr 
assertTruerrr?rVrrs  r
testErrorszAutoFileTests.testErrorssFF$"*affb1		!KK$)QZZ4"		!rcgd}|jj|j|jj|D].}t	|j|}|jt|0|jt|jj|jt|jjtd|jt|jj|jt|jjd|jt|jj|jt|jjd|jt|jj|jt|jjdy)N)rIrseekablereadablewritablerpreadallr}r~r&truncateflushr3rr)
rr rr<r-r+rr?rVrUr7r'ro)rmethods
methodnamemethods    rtestMethodszAutoFileTests.testMethodss-0	


&!	2JTVVZ0Fj&1	2
	
)TVV__5*dffooy|D)TVV[[1*dffkk15)TVV\\2*dffllC8)TVV%6%67*dff&7&7=rc	|jdd|jdy#t$rB}|j|jd|j|jdYd}~yd}~wwxYw)N.rRShould have raised OSErrorr)rfailOSErrorassertNotEqualerrnor*filename)res  rtestOpendirzAutoFileTests.testOpendirsa	4KKS!

II23		.+QZZ--	.s&	A18A,,A1ntz&test only works on a POSIX-like systemcVtjdtj}|jt5}|j|ddddtj||jjjtjy#1swYSxYw)NrrR)r!rrr+rrr r*	exceptionrEISDIR)rrcms   r
testOpenDirFDzAutoFileTests.testOpenDirFDsr
WWS"++
&


w
'	!2KKC 	!
++U\\:	!	!sBB(c.tfd}|S)Nc*|j}tj|j	||	|jjy#t$rYywxYw#	|jjw#t$rYwwxYwxYwr)rr!r rIr)rrfuncs  rwrapperz'AutoFileTests.ClosedFD.<locals>.wrappersvAHHQXXZ 
T1
FFLLNFFLLNs@	A&A	A#"A#&B(BB	BBBBrrrs` rClosedFDzAutoFileTests.ClosedFDs 	t
	

	rc.tfd}|S)Nc|j}tj|j	|||j	d	|jjy#t
$r4}|j
|jtjYd}~Td}~wwxYw#t
$rYywxYw#	|jjw#t
$rYwwxYwxYw)Nr)	rr!r rIrrr*rEBADF)rrrrs   rrz-AutoFileTests.ClosedFDRaises.<locals>.wrapper
sAHHQXXZ 

T1
		67FFLLN

7  %++66
7FFLLNsd	A(B7
B((	B%1*B B7 B%%B7(	B43B47C#9CC#	C C#C  C#rrs` rClosedFDRaiseszAutoFileTests.ClosedFDRaises	s 	t	
	rc$|jyr)r rs  rtestErrnoOnClosezAutoFileTests.testErrnoOnCloses		rc&|jdy)Na)r'rs  rtestErrnoOnClosedWritez$AutoFileTests.testErrnoOnClosedWrite s
	
rc&|jdyNr)r7rs  rtestErrnoOnClosedSeekz#AutoFileTests.testErrnoOnClosedSeek$s
	q	rc$|jyr)r&rs  rtestErrnoOnClosedTellz#AutoFileTests.testErrnoOnClosedTell(s	rc&|jdyr)rrs  rtestErrnoOnClosedTruncatez'AutoFileTests.testErrnoOnClosedTruncate,s
	

1
rc$|jyr)rrs  rtestErrnoOnClosedSeekablez'AutoFileTests.testErrnoOnClosedSeekable0	

rc$|jyr)rrs  rtestErrnoOnClosedReadablez'AutoFileTests.testErrnoOnClosedReadable4rrc$|jyr)rrs  rtestErrnoOnClosedWritablez'AutoFileTests.testErrnoOnClosedWritable8rrc$|jyr)rIrs  rtestErrnoOnClosedFilenoz%AutoFileTests.testErrnoOnClosedFileno<s	
rcD|j|jdy)NF)r*rrs  rtestErrnoOnClosedIsattyz%AutoFileTests.testErrnoOnClosedIsatty@sU+rc	|jj|jtd|_tj|jj
|jS#t$rY_wxYw)NrR)rr rrrr!rIrs r
ReopenForReadzAutoFileTests.ReopenForReadDs[	FFLLNVS)
!vv
			sA00	A<;A<cF|j}|jdy)Nr3)rrprs  rtestErrnoOnClosedReadz#AutoFileTests.testErrnoOnClosedReadMs 	q	rcD|j}|jyr)rrrs  rtestErrnoOnClosedReadallz&AutoFileTests.testErrnoOnClosedReadallRs 			rc^|j}tdd}|j|y)Nrgs
xxxxxxxxxx)rrrV)rrrjs   rtestErrnoOnClosedReadintoz'AutoFileTests.testErrnoOnClosedReadintoWs' #w	

1
rN)-__name__
__module____qualname__rr#r/r8rBunittestskipIfrrMrYr`rkrtrvrzrrrrrrrrr!rrrrrrrrrrrrrrrrrrrrrrs*
>,
8X__W@A3B3 ,))?
E=
F">,
4X__RWW_&NO;P;
&,,rrc(eZdZejZdZy)CAutoFileTests_ioN)rrrrrrrrrrr]s
ZZFJrrc(eZdZejZdZy)PyAutoFileTests_pyioN)rrrrrrrrrrras
\\FJrrceZdZdZdZdZdZdZeje
jdk7ddZd	Z
d
ZdZdZd
ZdZdZdZdZy)OtherFileTestsc	|jtd}|j|jd|j|j	d|j|jd|j
|jtd}|j|jd|j|j	d|j|jd|j
|jtd}|j|jd|j|j	d|j|jd|j|jd|j
tjdk7rts	|jdd}|j|jd|j|j	dtjd	k7rQd
tjvr?tjjds |j|jd|j|jd|j
tjty#t$rY%wxYw#tjtwxYw)NrFTrRza+win32z/dev/ttyrjdarwinbsd)sunosaix)rrr*rrrr rsysplatformr

startswithrr!unlinkrs  r	testAbleszOtherFileTests.testAbleshs'	FC(AQZZ\51QZZ\40QZZ\40
GGIFC(AQZZ\40QZZ\51QZZ\40
GGIFD)AQZZ\40QZZ\40QZZ\40QXXZ/
GGI||w&}J4A$$QZZ\59$$QZZ\48||x/CLL0<<223CD((u=$$QXXZ6GGIIIf!	 
IIfs1GKK CK	KKKKK8cdD]=}	|jt|}|j|jd|z?y#t$rYLwxYw)N)raUzwU+rwrtz%r is an invalid file mode)rrr rr)rr;rs   rtestInvalidModeStringsz%OtherFileTests.testInvalidModeStringssW1	?D
?KK-			6=>	?

sA	AAc	dD]C}|jt|d5}|j|j|ddddE	tj
j
trt	jtyy#1swYxYw#tj
j
trt	jtwwxYw)N))rr:)r:r:)zwb+rb+)zw+br)rjab)rr)ab+r)za+br)rRrn)rnrn)rr)zr+brrr3)rrr*r;r!pathexistsr)rmodesrs   rtestModeStringszOtherFileTests.testModeStringss
	"H
7
[[q27a$$QVVU1X677
7ww~~f%		&!&77ww~~f%		&!&s"B B	
B	B	B?Cc|jttd}|jt	j
tyr)rstrrr r!rrs  rtestUnicodeOpenzOtherFileTests.testUnicodeOpens+KKFS)		
		&rctjd}|j|d}	|jd|j	ttd5}|j
|jddddtjty#1swY#xYw#tjtwxYw)Nasciirr|rn)
r
encoderr'r rr*rpr!rrfnrs   r
testBytesOpenzOtherFileTests.testBytesOpens

 
 
)KKC 	$
GGFO
GGIlD)
3Q  62
3
IIl#
3
3
IIl#s#1B)!B;B)B&"B))Cutf-8z%test only works for utf-8 filesystemsc	tjd}|j	d}	|jd|j
ttd5}|j|jddddtjty#t$r|jdtzYwxYw#1swYJxYw#tjtwxYw)Nrzcould not encode %r to utf-8rr|rn)rr
UnicodeEncodeErrorskipTestrr'r rr*rpr!rrs   rtestUtf8BytesOpenz OtherFileTests.testUtf8BytesOpens	K&&w/B
KKC 	&
GGFO
GGInd+
3q  62
3
IIn%"	KMM8>IJ	K
3
3
IIn%s4B1C!C<C!CCC
CC,cd}|jt|j|d|jt|jt|ddy)Nzfoobarrr	)r+rrr()rfn_with_NULs  rtestConstructorHandlesNULCharsz-OtherFileTests.testConstructorHandlesNULCharss? *dkk;D*dkk5g3NPSTrc|jt|jd|jt|jt	t
jdk(r.ddl}|jt|jt	yy)Nirr)	r+rrrrrrmsvcrt
get_osfhandle)rrs  r
testInvalidFdzOtherFileTests.testInvalidFds^*dkk37'4;;
><<7"gv';';[]K#rc8d}	|jt|}|j|jd|zy#t$rQ}|j
ddk7r5t
|}t|vs||vr|jd|zYd}~yYd}~yYd}~yd}~wwxYw)Nqwertyzno error for invalid mode: %srz&bad error message for invalid mode: %s)rrr rrargsr)rbad_modermsgss     rtestBadModeArgumentz"OtherFileTests.testBadModeArguments	BFH-A
GGIII5@A	Lxx{aHQ;(!"3IIFJKK#4 	Ls?	B=BBc	l|jtd}|jtt	td|j
|jd|jd|j
|jd|j
|jdtjd|jd|j
|jd|j
|jdtjd|jy)Nrr%r2rr4)
rrr'r(rUr)r*r&rr7rFSEEK_ENDr rs  rtestTruncatezOtherFileTests.testTruncatesKK$	ib	*+,2&	

1
2&2;;/3	

21%2;;/4		rcfd}	|tjty#tjtwxYw)Ncjtd}|jtt	d|jjtd}|j
d}|tt	dk7rjd|z|jdk7r"jd|jz|j|jdk7r"jd|jz|jtjjt}|dk7rjd|zyy)	Nrzr+r2z(Read on file opened for update failed %rzFile pos after read wrong %dz!File pos after ftruncate wrong %dz"File size after ftruncate wrong %d)
rrr'r(r)r rprr&rr!rgetsize)rdatasizers   r	bug801631z7OtherFileTests.testTruncateOnWindows.<locals>.bug801631sFC(A
GGE%)$%
GGIF4(A66!9DuU1X&		DtKLvvx1}		81668CD
JJLvvx1}		=HI
GGI77??6*Dqy		>EFr)r!rr)rr*s` rtestTruncateOnWindowsz$OtherFileTests.testTruncateOnWindowss,	G.	KIIfBIIfs	)Ac	ttd}|jd|jttd}|jd|jttd}|j	}|j|j|d	t
jty#YyxYw#	t
jtw#YwxYwxYw)Nr:sspamrseggsrnsspameggs)rrr'r rpr*r!r)rrds   r
testAppendzOtherFileTests.testAppends	VT"A
GGG
GGIVT"A
GGG
GGIVT"AA
GGIQ,
		&!

		&!
s0B$C'CCC+
C$#C+$C(&C+cJ|jt|jdddy)N1r)r+r?rrs rtestInvalidInitzOtherFileTests.testInvalidInit&s)T[[#q!<rcttd5}|j|jg|jt|j
g|j|jg|jt|j
dd|j|jgdddy#1swYyxYw)NTquietz/some/invalid/namer)rr*warningsr+r?rr)rrs  rtestWarningszOtherFileTests.testWarnings)s
$
'	-1QZZ,ib9QZZ,j$++7KTRQZZ,	-	-	-sBB..B7cGddtGfdd|jtjttj
}|j
|tj|y)NceZdZy)=OtherFileTests.testUnclosedFDOnException.<locals>.MyExceptionN)rrrrrrMyExceptionr92srr:c$eZdZfdZxZS):OtherFileTests.testUnclosedFDOnException.<locals>.MyFileIOc>|dk(rdt|||S)Nrzblocked setting name)super__setattr__)rrvaluer:MyFileIO	__class__s   rr?zFOtherFileTests.testUnclosedFDOnException.<locals>.MyFileIO.__setattr__4s*6>%&<==Xt8uEEr)rrrr?
__classcell__)rBr:rAs@rrAr<3s
F
FrrA)	Exceptionrr!r__file__rr+r )rrr:rAs  @@rtestUnclosedFDOnExceptionz(OtherFileTests.testUnclosedFDOnException1sP*)*	Ft{{	F
WWXr{{
++x4
rN)rrrrrrrr
rrrgetfilesystemencodingrrrr r#r+r.r1r6rFrrrrrfs(T	?
"
$X__.S..0G;<>
&>
&U
LB 
:$=-	rrc>eZdZejZdZedZdZy)COtherFileTestsrcddl}|jt|j|jdz|jt|j|j
dz
y)Nrr3)	_testcapir+r?rINT_MAXINT_MIN)rrKs  rtestInvalidFd_overflowz&COtherFileTests.testInvalidFd_overflowAsI	)T[[)2C2Ca2GH)T[[)2C2Ca2GHrc|jtd5}|j}dddtjt5}|j}ddd|jy#1swYNxYw#1swY(xYw)Nrn)rrErpr	open_coder*)rrexpectedactuals    rtest_open_codezCOtherFileTests.test_open_codeHsr[[4
(	 AvvxH	 
]]8
$	VVXF	6*		 	 		sA5	B5A>B
N)	rrrrrrrrNrSrrrrIrI=s)
ZZFJII+rrIc.eZdZejZdZdZy)PyOtherFileTestsrc|jtd5}|j}dddtd5}t	j
t5}|j}ddd|j
|j|jgdddy#1swYxYw#1swYLxYw#1swYyxYw)NrnTr3)	rrErprr_open_code_with_warningr*rr5)rrrQrrRs     rrSzPyOtherFileTests.test_open_codeVs[[4
(	 AvvxH	 
$
'	01..x8
"A
"Xv.

B/	0	0	 	 
"
"	0	0s.B&B>B2'6B>&B/2B;	7B>>CN)rrrrrrrSrrrrUrURs
\\FJ
0rrUc~tjjtrtjtyyr)r!rrrrrrrtearDownModulerYcs%
ww~~f
		&r__main__)%rr!rFrrrweakrefr	functoolsrtest.supportrrr	r
rtest.support.os_helperrr
rrtest.support.warnings_helperrcollectionsrrrrTestCaserrrrIrUrYrmainrrr<module>rcs		8 
BBH
]H$5$5mX%6%6
TTn+nh&7&7+*0~x'8'80"zHMMOr