python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_marshal.cpython-312.opt-2.pyc

Αe\ddlmZddlmZmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZ	ddlZGddZGddej$eZGd	d
ej$eZGddej$eZGd
dej$ZGddej$ZGddej$eZGddej$eZGddej$ZdZe
j8dkDrdndZGddZej>ee
j8kDdGddej$Z d Z!Gd!d"ej$eZ"Gd#d$ej$Z#Gd%d&ej$eZ$ejJejLed'Gd(d)ej$eZ'e(d*k(rejRyy#e$rdZYwxYw)+)support)	os_helperrequires_debug_ranges)assert_python_okNceZdZdZy)HelperMixincJtjtj|g|}|j||	t	t
jd5}tj||g|dddt	t
jd5}tj|}ddd|j||tjt
jy#1swYwxYw#1swYKxYw#tjt
jwxYw)Nwbrb)
marshalloadsdumpsassertEqualopenrTESTFNdumploadunlink)selfsampleextranewfs     E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_marshal.pyhelperzHelperMixin.helpersmmGMM&959:%	/i&&-
0VQ//
0i&&-
&ll1o
&VS)Y--.

0
0
&
&
Y--.s;C=C%/"C=C1'C=%C.*C=1C:6C==%D"N)__name__
__module____qualname__rrrrs
/r rceZdZdZdZdZy)IntTestCasecvtjdz}|r$||fD]}|j||dz	}|r#yy)N)sysmaxsizer)rnexpecteds   r	test_intszIntTestCase.test_ints sBKK1RG
&H%
&QAr cd}|dz
}||||dz	fD]X}|sdtj|dddz}tj|}|j	|||dk(rd	}n|dz}|rSZtjd
}|j	|dtjd}|j	|d
tjd}|j	|dtjd}|j	|dy)Nlr%IlittleT)signedrs	IܺvT2l\u1Qs	I#Egl\u1Qs	I*;L]nlTv0ur{s	Iijl	Tv0ur{)intto_bytesrr
r)rmaxint64minint64basesgots      r
test_int64zIntTestCase.test_int64(s 9Q;h	X]3CC	D3<<a$<GGmmA&  s+2:DQJD	mm@A01mm@A12mm@A01mm@A12r c4dD]}|j|y)N)TFr)rbs  r	test_boolzIntTestCase.test_bool?s	AKKN	r N)rrrr*r8r<rr rr"r"s3.r r"ceZdZdZy)
FloatTestCasecFd}tjdz}||kDr/||fD]}|jt||dz}||kDr/d}t	j
|d}t	j|}|j||t	j
|d}t	j|}|j||tjdz}||krD||fD]0}t|}|j||j|d2|dz}||krCyy)Ng}:g6ҫsgS:^@gr$r%gZ1%)r&r'rfloatrrr
r)rsmallr(r)rr6r7s       rtest_floatszFloatTestCase.test_floatsDsKK'!%iRG
-E(O,
-
MA%i

MM!QmmAC MM!QmmAC KK("%iRG
"(OAAq!
"
MA%ir N)rrrrBrr rr>r>Csr r>ceZdZdZdZdZy)StringTestCasecdddddzfD]9}|jtjtj|;yN
Andrè Previnabc ')rrr
rrr6s  rtest_unicodezStringTestCase.test_unicode_s='E	:	9AKK

gmmA&678	9r cBdddddzfD]}|j|yrFr:rLs  rtest_stringzStringTestCase.test_stringcs*'E	:	AKKN	r cBdddddzfD]}|j|y)Nr sAndr Previnabc rKr:rLs  r
test_byteszStringTestCase.test_bytesgs*)64:>	AKKN	r N)rrrrMrOrSrr rrDrD^s9r rDceZdZdZy)ExceptionTestCasectjtjt}|j	t|yN)rr
r
StopIterationr)rrs  rtest_exceptionsz!ExceptionTestCase.test_exceptionsls)mmGMM-89,r N)rrrrYrr rrUrUks-r rUc\eZdZdZdZdZedZejdZ
y)CodeTestCasectjj}tjtj
|}|j
||yrW)rUrY__code__rr
rr)rcors   r	test_codezCodeTestCase.test_codeqs:

.
.
7
7mmGMM"-.S!r ctj}tjjf|z}tjtj|yrW)rEXCEEDS_RECURSION_LIMITrUrYr]rr
r)rcountcodess   rtest_many_codeobjectsz"CodeTestCase.test_many_codeobjectsvs=//"22;;=E

gmmE*+r ctddd}tddd}tjtj||f\}}|j	|j
d|j	|j
dy)Nxf1execyf2)compilerr
rrco_filename)rco1co2s   rtest_different_filenamesz%CodeTestCase.test_different_filenames}sec4(c4(==Sz!:;S$/$/r ctjj}tjd}	ttjd5}tj||dddtddd|tjt
jtjy#1swYJxYw#t
jtjwxYw)Na
        import sys
        import marshal
        with open(sys.argv[1], 'rb') as f:
            co = marshal.load(f)
            positions = list(co.co_positions())
            assert positions[0][2] is None
            assert positions[0][3] is None
        r
z-Xno_debug_ranges-c)rUrYr]textwrapdedentrrrrrrr)rr^coders    r+test_minimal_linetable_with_no_debug_rangesz8CodeTestCase.test_minimal_linetable_with_no_debug_rangess
.
.
7
7 
	/i&&-
$R#
$
T#4!4)9)9
;
Y--.

$
$
Y--.s#B7B+"%B7+B40B77%Ccd}t|dd}tjtj|}|jD]C}t|tjs|j|j|jEy)Nzdef f(): pass
def g(): passmyfilerh)
rkrr
r	co_consts
isinstancetypesCodeTypeassertIsrl)rr6r^objs    rtest_same_filename_usedz$CodeTestCase.test_same_filename_usedsc.
Q&
)
]]7==,
-<<	?C#u~~.

bnncoo>	?r N)rrrr_rdrorrvrcpython_onlyrrr rr[r[psB"
,0//.
??r r[c	<eZdZdddddgdddd	Zd
ZdZdZd
Zy)ContainerTestCasezfoo@bar.baz.spamgHzns@r$.zyx.41)
rrrrrrrrrrFrH)astringafloatanint
ashortlongalistatupleabooleanaunicodec:|j|jyrW)rdrs r	test_dictzContainerTestCase.test_dictsDFFr ch|jt|jjyrW)rlistritemsrs r	test_listzContainerTestCase.test_listsD()r ch|jt|jjyrW)rtuplerkeysrs r
test_tuplezContainerTestCase.test_tuplesE$&&++-()r cttfD]1}|j||jj	3yrW)set	frozensetrrr)rconstructors  r	test_setszContainerTestCase.test_setss1+	4KKKDFFKKM23	4r N)rrrrrrrrrr rrrs7&+"&	A**4r rceZdZdZdZdZy)BufferTestCasectd}|j|tjtj|}|jt
|tyNrQ)	bytearrayrrr
rrtypebytesrr;rs   rtest_bytearrayzBufferTestCase.test_bytearraysBfAmmGMM!,-cE*r ctd}|j|tjtj|}|jt
|tyr)
memoryviewrrr
rrrrrs   rtest_memoryviewzBufferTestCase.test_memoryviewsBvAmmGMM!,-cE*r ctjdd}tjtj|}|j	|dy)NBrQ)arrayrr
rr)rars   r
test_arrayzBufferTestCase.test_arrays9KKV$mmGMM!,-f%r N)rrrrrrrr rrrs++&r rc`eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZy)BugsTestCasec6tjdgdzy)N)rrrs rtest_bug_5888452zBugsTestCase.test_bug_5888452s

sedl#r c|jttjd|jttjd|jttjtjddzddy)N0fr$Ar0)assertRaises	Exceptionrr
rrs rtest_patch_873224zBugsTestCase.test_patch_873224sX)W]]D9)W]]D9)W]]GMM!R%4H"4MNr c|jtjtjddd|jtjtjdddy)Nrr%)rrr
rrs rtest_version_argumentz"BugsTestCase.test_version_argumentsJw}}Q':;Q?w}}Q':;Q?r ctdD]$}t|g}	tj|&y#t$rY3wxYw)N)rangerrr
r)rics   r	test_fuzzzBugsTestCase.test_fuzzsGs	Aqc
A


a 	

s4	AAcVd}|dtjfd}|d|y)Nc|d|zdz|d|zdz|d|zdz|d|zdzd|zz|d|zdzy)Ns)Ns(s[s{Nrs>r)Nchecks  r	run_testsz4BugsTestCase.test_loads_recursion.<locals>.run_testssf(Q,%&&*T12&*T12%!)d"TAX-.&*T12r dcPjttj|yrWr
ValueErrorrr
)r6rs rrz0BugsTestCase.test_loads_recursion.<locals>.checksj'--;r r)rr
)rrrs`  rtest_loads_recursionz!BugsTestCase.test_loads_recursions'		3	#w}}%	<%r cngx}}tjdk(rd}ntjdk(rd}nd}t	|dz
D]}|jdg|d}t
j|}t
j|}|jt|t||jt|dt|d|jt|dt|d|jdg|jttj|y)	Nntrwasiiir$rr0)
osnamer&platformrappendrrr
rlenrr)rheadlastMAX_MARSHAL_STACK_DEPTHrdatanew_heads       rtest_recursion_limitz!BugsTestCase.test_recursion_limitst
77d?&*#
\\V
#&*#&*#.23	AKK8D	
}}T"==&XD	2Xa[)3tAw<8Xb\*CRM:QC*gmmT:r ctttttt
ttfD]:}td|fi}|jttj|<y)Nsubtyp)
r1r@complexrrdictrrrrrrr)rtyprs   rtest_exact_type_matchz"BugsTestCase.test_exact_type_matchsP
dCK	CC(SFB/Fj'--B		Cr cNtd}d|z}tj|y)Ng.ArI)r1rr)rsize
testStrings   rtest_large_marshalzBugsTestCase.test_large_marshal's 3xT\


j!r cRd}|jttj|y)Ns	lr)rinvalid_strings  rtest_invalid_longszBugsTestCase.test_invalid_longs,s=*gmm^Dr c	ddddddddgff}d	D]9}t|}g}	ttjd
5}|D]J}t	j
|||r|j
||j|jL	dddttjd5}t|D]`\}}|j|t	j||r|j||j|||jb	dddtjtj<y#1swYxYw#1swY<xYw#tjtjwxYw)Nr%rIsdef?r$rr;c)r s0123r
r)rrrrrrwritertell	enumeraterrreadr)rrinterleavedilen	positionsrrrs        rtest_multiple_dumps_and_loadsz*BugsTestCase.test_multiple_dumps_and_loads1s\5&#3d'<=)	3K{#DI
3)**D13Q!3Q*GGK0!((2	33)**D1AQ )$A1((GLLO<FF4L((1qvvx@	AA  !1!12#	333AA  !1!12s<E%AE
"E%.A/EE%
E	E%E"	E%%%F
cRd}|jttj|y)NT)r	TypeErrorrr
)runicode_strings  r!test_loads_reject_unicode_stringsz.BugsTestCase.test_loads_reject_unicode_stringsIs)W]]NCr c
Gddtj}dD]@}|jttj
|t	j|By)NceZdZfdZxZS)/BugsTestCase.test_bad_reader.<locals>.BadReaderc>t||}|
|dkDr|dz
}|S)Ni@B)superreadinto)rbufr(	__class__s   rrz8BugsTestCase.test_bad_reader.<locals>.BadReader.readintoPs+G$S)=QUJAr )rrrr
__classcell__)rs@r	BadReaderrOs


r r)ry?s
0123456789
0123456789)ioBytesIOrrrrr)rrvalues   rtest_bad_readerzBugsTestCase.test_bad_readerNsJ	

	<	?Ej',,'

e(<=
?	?r ctjd}tt|D]*}|j	t
tj|d|,y)N)hellodollyNr)rrrrrEOFErrorr
)rrrs   rtest_eofzBugsTestCase.test_eofYsG}}56s4y!	CAh

tAqzB	Cr cdD]}dD]}|d|d}|j|5tjjdvr8dd|dg}t	|d	d
i\}}}t	|d	di\}}}|j||dd|d
g}t	|d	d
i\}}}t	|d	di\}}	}|j
||	dddy#1swYxYw)N)rr)z-float('nan'), b'a', b'b', b'c', 'x', 'y', 'z'zL('Spam', 0), ('Spam', 1), ('Spam', 2), ('Spam', 3), ('Spam', 4), ('Spam', 5)z([z])>fnv	siphash24rrzprint()PYTHONHASHSEED01z$import marshal; print(marshal.dumps(z)))subTestr&	hash_info	algorithmrassertNotEqualr)
rkindelementsr6args_repr_0repr_1dump_0dump_1s
          rtest_deterministic_setsz$BugsTestCase.test_deterministic_sets^s)	5D
5
fBxj+\\!_5}}..2FF $qcm4'7'Rc'R61'7'Rc'R61++FF; $H2"NOD#3T#N##NLAvq#3T#N##NLAvq$$VV455

5	555sB
B>>CN)rrrrrrrrrrrrrrr
rr#rr rrrsN$O
@
 &;8	C"
E
30D
	?C
5r rllr-rceZdZdZy)
NullWritercyrWrrLs  rrzNullWriter.write~sr N)rrrrrr rr%r%}s
r r%z!test cannot run on 32-bit systemsceZdZdZej
edddZej
edddZej
ee	dzddZ
ej
ee	dzdd	Zej
ee	d
zejedz
zddZej
ee	d
zejedz
zddZej
eddd
Zy)LargeValuesTestCasec`|jttj|t	yrW)rrrrr%)rrs  rcheck_unmarshallablez(LargeValuesTestCase.check_unmarshallables*gllD*,Gr r$F)rmemusedry_runc,|jd|zy)Nxr*rrs  rrSzLargeValuesTestCase.test_bytess!!$+.r c,|jd|zy)Nrfr/r0s  rtest_strzLargeValuesTestCase.test_strs!!#*-r r%c,|jd|zy)NrWr/r0s  rrzLargeValuesTestCase.test_tuples!!'D.1r c.|jdg|zyrWr/r0s  rrzLargeValuesTestCase.test_lists!!4&4-0r cJ|jtt|yrW)r*rrr0s  rtest_setzLargeValuesTestCase.test_sets	
!!#eDk"23r cJ|jtt|yrW)r*rrr0s  rtest_frozensetz"LargeValuesTestCase.test_frozensets	
!!)E$K"89r c8|jt|yrW)r*rr0s  rrz"LargeValuesTestCase.test_bytearrays!!)D/2r N)rrrr*r
bigmemtest
LARGE_SIZErSr2pointer_sizerrr&	getsizeofr7r9rrr rr(r(sRHWZ5A/B/WZ5A.B.WZq0@%P2Q2WZq0@%P1Q1WZ?]S]]:a<%@@44WZ?]S]]:a<%@@::WZ5A3B3r r(cf	t||vry|jt|t|ttt
tfr|D]}t||t|St|tr0|jD]\}}t||t||t|SrW)idaddrzrrrrCollectObjectIDsrrr)idsr~ekvs     rrBrBs0	#w#~GGBsG#eS)45	%AS!$	%s8O	
C	IIK	%DAqS!$S!$	%s8Or cteZdZddddeddhfZddZdZdZdZd	Z	d
Z
dZdZd
Z
dZdZdZy)InstancingTestCase{獗n?rI)rIrIcP||f}tt|}tdtjdzD]Q}tj
||}tttj|}|j||S|stj
|d}	tttj|	}
|j|
||s%|jt|	ty|jt|	tyy)Nr%r$)rBrrrversionrr
r
assertGreaterrassertGreaterEqual)rrsample	recursivesimplern0rFs3n3s2n2s           rhelper3zInstancingTestCase.helper3s7#
ceV
,q'//A-.	%Avq)B!#%r):;B
R$	%vq)B!#%r):;Br2&""3r7CG4''BR9r cPd}|j||j|dy)NiT)rRrrX)rintobjs  rtestIntzInstancingTestCase.testInts#FVD)r cLd}|j||j|y)NrJrZ)rfloatobjs  r	testFloatzInstancingTestCase.testFloatsHXr cLd}|j||j|y)NabcdeabcdeabcderZ)rstrobjs  rtestStrzInstancingTestCase.testStrsFVr cLd}|j||j|y)NsabcdeabcdeabcderZ)rbytesobjs  r	testByteszInstancingTestCase.testBytessHXr cr|jD](}||g}|j||j|*yrWrrrX)rr~listobjs   rtestListzInstancingTestCase.testLists699	"CCjGKK LL!	"r cr|jD](}||f}|j||j|*yrWrh)rr~tupleobjs   r	testTuplezInstancingTestCase.testTuples699	#CSzHKK!LL"	#r cz|jD],}|df|dfh}|j||j|.yNr%r$rh)rr~setobjs   rtestSetzInstancingTestCase.testSets?99	!CAha)FKKLL 	!r c|jD]5}t|df|dfh}|j||j|7yro)rrrrX)rr~frozensetobjs   r
testFrozenSetz InstancingTestCase.testFrozenSetsD99	'C$sAha%9:LKK%LL&	'r cz|jD],}d|d||di}|j||j|.y)Nrgoodbyerh)rr~dictobjs   rtestDictzInstancingTestCase.testDicts?99	"CYS'BGKK LL!	"r cttd5}|j}dddtjdrt	td}|j|j
|y#1swYRxYwNrz.pyrh)r__file__rendswithrkrrX)rrrus   r
testModulezInstancingTestCase.testModulesb
(D
!	Q668D	U#462DDT		sA33A<cd}d|d||di}||d<|j|d||g}|j||j|dy)NrJrrvrT)rQ)rXr)rr~rls    r
testRecursionz InstancingTestCase.testRecursionsV
c9c38&	Q$'
#J	Q$'r N)FF)rrrrrrXr\r_rcrfrjrmrqrtrxr}rrr rrHrHsWie.EFD:4*



"#!'"(r rHc*eZdZdZdZdZdZdZy)CompatibilityTestCasecttd5}|j}dddtjdrt	td}tj|}tj|y#1swY[xYwrz)rr{rr|rkrrr
)rrMrrurs     r_testzCompatibilityTestCase._testsf
(D
!	Q668D	U#462D}}T7+

d		sA<<Bc&|jdy)Nrrrs rtest0To3zCompatibilityTestCase.test0To3


1
r c&|jdy)Nr%rrs rtest1To3zCompatibilityTestCase.test1To3 rr c&|jdyNr$rrs rtest2To3zCompatibilityTestCase.test2To3#rr c&|jdy)NrLrrs rtest3To3zCompatibilityTestCase.test3To3&rr N)rrrrrrrrrr rrrsr rc@eZdZdZej
eZdZdZy)InterningTestCasezthis is an interned stringcntjtj|j}|j	||j|j	t|t|jt
j|}|j	t|t|yrW)rr
rrbrr@r&internrr6rVs   r
testInternzInterningTestCase.testIntern-srMM'--45DKK(A4;;0
ZZ]BA'r cptjtj|jd}|j	||j|jt
|t
|jtj|}|jt
|t
|yr)	rr
rrbrrr@r&rrs   rtestNoInternzInterningTestCase.testNoIntern4stMM'--Q78DKK(BqE2dkk?3
ZZ]BrFBqE*r N)rrrrbr&rrrrr rrr)s!
)F
SZZ
F(+r rzrequires _testcapic0eZdZdZdZdZdZdZdZy)
CAPI_TestCasecxttjdzD]}tjdt
j|tt
jd5}|j}dddtjt
j|jdy#1swYAxYw)Nr%xV4rsxV4)rrrM	_testcapipymarshal_write_long_to_filerrrrrr)rrFrrs    rtest_write_long_to_filez%CAPI_TestCase.test_write_long_to_file?sw*+	8A22:y?O?OQRSi&&-
 vvx
 Y--.T#67	8
 
 sB00B9	cdddddddzf}ttjdzD]}tj|t
j|tt
jd	5}|j}dddtjt
j|jtj|y#1swYTxYw)
N€rQrIF@@ @z
long line rr%r)rrrMrpymarshal_write_object_to_filerrrrrrr
)rr~rFrrs     rtest_write_object_to_filez'CAPI_TestCase.test_write_object_to_fileGsdD,t2CDw*+	7A44S):J:JANi&&-
 vvx
 Y--.W]]40#6	7
 
 s*CC	cttjd5}|jddddt	j
tj\}}tjtj|j|d|j|dttjd5}|jdddd|jt5t	j
tjdddtjtjy#1swYxYw#1swY{xYw#1swYFxYw)Nr
s4xxxxi4r$)
rrrrrpymarshal_read_short_from_filerrrrrrrps    rtest_read_short_from_filez'CAPI_TestCase.test_read_short_from_filePs
)""D
)	%Q
GGO$	%77	8H8HI1))*F#A
)""D
)	Q
GGG	


x
(	G44Y5E5EF	G))*	%	%			G	G#D;<E+$E;EEEcttjd5}|jddddt	j
tj\}}tjtj|j|d|j|dttjd5}|jdddd|jt5t	j
tjdddtjtjy#1swYxYw#1swY{xYw#1swYFxYw)Nr
sxV4xxxxrrsV4)
rrrrrpymarshal_read_long_from_filerrrrrs    rtest_read_long_from_filez&CAPI_TestCase.test_read_long_from_file^s
)""D
)	-Q
GG+,	-66y7G7GH1))*J'A
)""D
)	%Q
GGO$	%


x
(	F33I4D4DE	F))*	-	-	%	%	F	Frcd}ttjdzD]F}tj||}t	t
jd5}|j|dzdddtjt
j\}}tjt
j|j||t	t
jd5}|j|ddddd|jt5tjt
jdddtjt
jIy#1swYxYw#1swY~xYw#1swYIxYwN)rrQrIrrr%r
sxxxx)rrrMrrrrrr$pymarshal_read_last_object_from_filerrrrrr~rFrrrrs       rtest_read_last_object_from_filez-CAPI_TestCase.test_read_last_object_from_filels11w*+	/A==a(Di&&-
(w'
(AA)BRBRSDAqY--.Q$i&&-
"Ra!
"""8,
Q>>y?O?OP
QY--.	/
(
(
"
"
Q
Qs$E*%E7$F*E4	7F	F	cTd}ttjdzD]a}tj||}t	t
jd5}|j|dzdddtjt
j\}}tjt
j|j|||j|t|t	t
jd5}|j|ddddd|jt5tjt
jdddtjt
jdy#1swYxYw#1swY~xYw#1swYIxYwr)rrrMrrrrrrpymarshal_read_object_from_filerrrrrrs       rtest_read_object_from_filez(CAPI_TestCase.test_read_object_from_file|sE1w*+
	/A==a(Di&&-
(w'
(<<Y=M=MNDAqY--.Q$QD	*i&&-
"Ra!
"""8,
L99):J:JK
LY--.
	/
(
(
"
"
L
Ls$FF2$FF	F	F'	N)	rrrrrrrrrrr rrr;s 87++/ /r r__main__)*testrtest.supportrrtest.support.script_helperrrrrr&unittestrr{rsrImportErrorrTestCaser"r>rDrUr[rrrr<r'r=r%skipIfr(rBrHrrr
skipUnlessrrmainrr r<module>rs97	
	//"(##["HH%%{6X&&-))-
3?8$$3?j4));42&X&&&(f58$$f5P
KK*,q!

ckk)+NO"3(++"3P"3H^(**K^(@H--*+));+$	Y 45N/H%%{N/6N/bzHMMOIsGG*)G*