python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_code.cpython-311.opt-1.pyc

e']dZddlZddlZddlZddlZddlZddlZddlZddlZ	ddl	Z	n
#e
$rdZ	YnwxYwddlmZm
Z
mZmZddlmZddlmZddlmZedZdZd	Zd
ZGddejZd
ZGddejZGddejZdZdZdZ dZ!dZ"e#fdZ$dZ%dZ&dZ'GddejZ(e
dre	e	j)Z*e	j+de	j,Z-e*j.Z/e-fe/_0e	j1e/_2e*j3Z4e	j5e	j1e	j,fe4_0e	j6e4_2e*j7Z8e	j5e	j1e	j9e	j,fe8_0e	j6e8_2da:dZ;e-e;Z<e/e<Z=Gd d!ejZ>d"Z?e@d#krejAdSdS)$aThis module includes tests of the code object representation.

>>> def f(x):
...     def g(y):
...         return x + y
...     return g
...

>>> dump(f.__code__)
name: f
argcount: 1
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ('x', 'g')
cellvars: ('x',)
freevars: ()
nlocals: 2
flags: 3
consts: ('None', '<code object g>')

>>> dump(f(4).__code__)
name: g
argcount: 1
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ('y',)
cellvars: ()
freevars: ('x',)
nlocals: 1
flags: 19
consts: ('None',)

>>> def h(x, y):
...     a = x + y
...     b = x - y
...     c = a * b
...     return c
...

>>> dump(h.__code__)
name: h
argcount: 2
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ('x', 'y', 'a', 'b', 'c')
cellvars: ()
freevars: ()
nlocals: 5
flags: 3
consts: ('None',)

>>> def attrs(obj):
...     print(obj.attr1)
...     print(obj.attr2)
...     print(obj.attr3)

>>> dump(attrs.__code__)
name: attrs
argcount: 1
posonlyargcount: 0
kwonlyargcount: 0
names: ('print', 'attr1', 'attr2', 'attr3')
varnames: ('obj',)
cellvars: ()
freevars: ()
nlocals: 1
flags: 3
consts: ('None',)

>>> def optimize_away():
...     'doc string'
...     'not a docstring'
...     53
...     0x53

>>> dump(optimize_away.__code__)
name: optimize_away
argcount: 0
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ()
cellvars: ()
freevars: ()
nlocals: 0
flags: 3
consts: ("'doc string'", 'None')

>>> def keywordonly_args(a,b,*,k1):
...     return a,b,k1
...

>>> dump(keywordonly_args.__code__)
name: keywordonly_args
argcount: 2
posonlyargcount: 0
kwonlyargcount: 1
names: ()
varnames: ('a', 'b', 'k1')
cellvars: ()
freevars: ()
nlocals: 3
flags: 3
consts: ('None',)

>>> def posonly_args(a,b,/,c):
...     return a,b,c
...

>>> dump(posonly_args.__code__)
name: posonly_args
argcount: 3
posonlyargcount: 2
kwonlyargcount: 0
names: ()
varnames: ('a', 'b', 'c')
cellvars: ()
freevars: ()
nlocals: 3
flags: 3
consts: ('None',)

N)cpython_onlycheck_impl_detailrequires_debug_ranges
gc_collect)assert_python_ok)threading_helper)opmapCOPY_FREE_VARSc#~K|D]7}t|}|dr
d|jzV3|V8dS)z.Yield a doctest-safe sequence of object reprs.z<code objectz<code object %s>N)repr
startswithco_name)teltrs   B/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_code.pyconstsrs_II<<''	$s{22222GGGGc
dD]'}t|dt|d|z(tdtt|jdS)z1Print out a text representation of a code object.)
nameargcountposonlyargcountkwonlyargcountnamesvarnamescellvarsfreevarsnlocalsflagsz: co_zconsts:N)printgetattrtupler	co_consts)coattrs  rdumpr'sh=<<	$$$EDL 9 9 9:;;;;	)U6",//0011111rcJdt|S)NzForeign getitem: )super__getitem__)selfis  rexternal_getitemr-s"7uww22155777rceZdZedZedZdZdZdZdZ	dZ
dZed	Z
d
ZdZedZd
ZdS)CodeTestcbddl}|ddd}||jd||jd||jd|t5t|ddddS#1swxYwYdS)Nrfilenamefuncname)		_testcapi
code_newemptyassertEqualco_filenamerco_firstlinenoassertRaises	Exceptionexec)r+r4r%s   r
test_newemptyzCodeTest.test_newemptys

$
$ZR
@
@444Z000*B///


y
)
)		HHH																		sB$$B(+B(c,ddlmddfd}Gddt}||dt|j}|jdj}||||gd	}||dd
dS)Nr)FunctionTypecfdjS)NcSN	__class__sr<lambda>zICodeTest.test_closure_injection.<locals>.create_closure.<locals>.<lambda>sIr)__closure__rCs`rcreate_closurez7CodeTest.test_closure_injection.<locals>.create_closures%%%%22rcx||jdzttdg|jzS)z9A new code object with a __class__ cell added to freevarsrC)co_freevarsco_code)replacerJbytesr
rK)cs rnew_codez1CodeTest.test_closure_injection.<locals>.new_codes899)GQVXfhiWjQkQklmluQu9vvvrc|j}|}|j}t|||t|||dSrA)__code____defaults__setattrglobals)	clsrfcodeclosuredefaultsr>rGrOs	      radd_foreign_methodz;CodeTest.test_closure_injection.<locals>.add_foreign_methodsX8AJ''D$nS))G~HC||D'))T8WUUVVVVVrceZdZdS)-CodeTest.test_closure_injection.<locals>.ListN)__name__
__module____qualname__rBrrListr\sDrr`r*)rIzForeign getitem: 1)	typesr>listr-r*rF
cell_contentsassertIsr6)	r+rZr`function	class_refobjr>rGrOs	      @@@rtest_closure_injectionzCodeTest.test_closure_injections	'&&&&&	3	3	3	w	w	w	W	W	W	W	W	W	W					4				40@AAA#(+9	

i&&&d999ooQ!566666rc$d}|j}t|}||j|j|j|j|j|j|j|j	|j
|j|j|j
|j|j|j|j|j|jdS)NcdSrArBrBrrfuncz'CodeTest.test_constructor.<locals>.funcsr)rQtypeco_argcountco_posonlyargcountco_kwonlyargcount
co_nlocalsco_stacksizeco_flagsrKr$co_namesco_varnamesr7rco_qualnamer8co_linetableco_exceptiontablerJco_cellvars)r+rmr%CodeTypes    rtest_constructorzCodeTest.test_constructors
]88	-,


),#	(	(	(	(	(rcx|tjjjtjjdSrA)r6r/
test_qualnamerQrwr_r+s rr~zCodeTest.test_qualnames9"+7"/	
	
	
	
	
rc6d}|j}d}|j}dddddd|jtjzfd	d
|jfd|jfdd
ddddd|jffD]g\}}|||5|jdi||i}|	t|||dddn#1swxYwYh||j|j}|	|j|j|	|j|jdS)Nc
d}|SNrIrBxs rrmz#CodeTest.test_replace.<locals>.funcAHrcd}d}|S)NrarbrB)yzs  rfunc2z$CodeTest.test_replace.<locals>.func2sAAHr)ror)rpr)rqr)rrrI)rsrrt)r8drKr$)ru)myname)rv)spam)rJ)freevar)rz)cellvar)r7newfilename)rnewnamerx)r&value)rvrrrB)
rQrtinspectCO_COROUTINErKr$rxsubTestrLr6r"rvrr)r+rmrWrcode2r&rrOs        rtest_replacezCodeTest.test_replaces			}			
%$
)==>#

&
%/*%&))*"
U/0!
	A	AKD%$4u55
A
A'4<884-88  4!8!8%@@@
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A<<E,=+0+; ==-u/@AAA,e.>?????s,4B,,B0	3B0	cd}|j}t|}dD]}|t5||j|j|j|j|z|j|j	|j
|j|j|j
|j|j|j|j|j|j|j|jdddn#1swxYwY|t5||jdz
dddn#1swxYwY|t5||jdzddddS#1swxYwYdS)Nc
d}|SrrBrs rrmz,CodeTest.test_nlocals_mismatch.<locals>.func"rr)rIrI)rr)rQrnr9
ValueErrorrorprqrrrsrtrKr$rurvr7rrwr8rxryrJrzrL)r+rmr%r{diffs     rtest_nlocals_mismatchzCodeTest.test_nlocals_mismatch!s/			]88		D"":..

.--*-%














,

z
*
*	5	5JJ"-!"3J444	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5


z
*
*	5	5JJ"-!"3J444	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5s6A:B>>C	C	$DDD4E  E$'E$crd}|j}|d}|||dS)NcfdS)NcSrArBargsrrEzBCodeTest.test_shrinking_localsplus.<locals>.func.<locals>.<lambda>Js3rrBrs`rrmz0CodeTest.test_shrinking_localsplus.<locals>.funcIs;;;rrm)r)rQrLr6)r+rmrWnewcodes    rtest_shrinking_localsplusz"CodeTest.test_shrinking_localsplusFsG			},,v,..w'''''rcd}|jdx}}|t|gdS)NcdSrArBrBrrrmz+CodeTest.test_empty_linetable.<locals>.funcPDrrrx)rQrLr6rdco_lines)r+rmrOrWs    rtest_empty_linetablezCodeTest.test_empty_linetableOs^			-//S/AAA4h//1122B77777rcddl}i}ttjd||d}|j}|jj}g}t|j|d|	dD]T\}}|
|dgdt|s|
|U|d|Dgd	dS)
NrzX        try:
            1/0
        except Exception as e:
            exc = e
        excT)show_caches)strict)rrbc*g|]}|j|jfSrB)opnameargval).0instructions  r
<listcomp>zFCodeTest.test_co_positions_artificial_instructions.<locals>.<listcomp>ws3


#[%78


r))
PUSH_EXC_INFON)
LOAD_CONSTN)
STORE_NAMEe)DELETE_NAMErRERAISErI)COPYrb)
POP_EXCEPTNr)disr;textwrapdedent
__traceback__tb_framef_codezipget_instructionsco_positionsassertIncountanyappendr6)	r+r	namespacer	tracebackrWartificial_instructionsinstr	positionss	         r)test_co_positions_artificial_instructionsz2CodeTest.test_co_positions_artificial_instructionsUs?


	X_

			%	!("$ # C 4888!
!
!
	6	6E9
MM)//$//;;;y>>
6'..u555

#:


	
	
	
	
	
	
	
	
rcRtjd}tddd|dS)N#
            def f():
                pass

            positions = f.__code__.co_positions()
            for line, end_line, column, end_column in positions:
                assert line == end_line
                assert column is None
                assert end_column is None
            z-Xno_debug_ranges-crrrr+rWs  r6test_endline_and_columntable_none_when_no_debug_rangesz?CodeTest.test_endline_and_columntable_none_when_no_debug_rangess7	 			0$=====rcRtjd}td|ddS)Nrr1)PYTHONNODEBUGRANGESrrs  r:test_endline_and_columntable_none_when_no_debug_ranges_envzCCodeTest.test_endline_and_columntable_none_when_no_debug_ranges_envs5	 			t======rcd}|jd}|}|D]:\}}}}|||||jdz;dS)Nc
d}dSrrBrs rrmz8CodeTest.test_co_positions_empty_linetable.<locals>.funcsAAArrrrI)rQrLrassertIsNoner6r8)r+rmrOrlineend_linecolumn
end_columns        r!test_co_positions_empty_linetablez*CodeTest.test_co_positions_empty_linetables			=((c(::))++	2;	D	D.D(FJd###Xx'>'BCCCC	D	Drcd}|j}|d}|d}|d}||||||||||||||||||dS)Nc	ttn#tYnxYwtdS#twxYwrA)arNbdrBrrrVz&CodeTest.test_code_equality.<locals>.fsP

sA1AArr)ry)rQrLassertNotEqual)r+rVcode_acode_bcode_ccode_ds      rtest_code_equalityzCodeTest.test_code_equalitys			S11#66#66FF+++FF+++FF+++FF+++FF+++FF+++++rN)r]r^r_rr<rjr|r~rrrrrrrrrrrBrrr/r/s#\77\7@(((2


&@&@&@P#5#5#5J(((888/
/
/
b
>
>
>>>> DDD,,,,,rr/cJ|tjd|zdzdduS)N_rIr)sysintern)ss r
isinternedrs(
C!GcM1R401111rceZdZdZdZdZedZedZedZ	edZ
edZd	S)
CodeConstsTestcz|D]}||kr|cS
||||ddS)NzShould never be reached)rfail)r+rrvs    r
find_constzCodeConstsTest.find_constsU		AEzz

eV$$$		+,,,,,rcZt|s|d|ddSdS)NString z is not internedrrr+rs  rassertIsInternedzCodeConstsTest.assertIsInterneds;!}}	:IIIQQQ899999	:	:rcZt|r|d|ddSdS)Nrz is internedrrs  rassertIsNotInternedz"CodeConstsTest.assertIsNotInterneds;a==	6III455555	6	6rctddd}||jd}||dS)Nzres = "str_value"?r;	str_valuecompilerr$rr+r%rs   rtest_interned_stringz#CodeConstsTest.test_interned_stringsC
(#v
6
6OOBL+66a     rctddd}||jd}||ddS)Nzres = ("str_value",)rr;rrrrs   rtest_interned_string_in_tuplez,CodeConstsTest.test_interned_string_in_tuplesG
+S&
9
9OOBL.99ad#####rctddd}||jtd}|t|ddS)Nzres = a in {"str_value"}rr;r
r)rrr$	frozensetrr#rs   r!test_interned_string_in_frozensetz0CodeConstsTest.test_interned_string_in_frozensetsU
/f
=
=OOBL)N*C*CDDeAhhqk*****rcHdd}||dS)Nrc|SrArB)rs rrVz6CodeConstsTest.test_interned_string_default.<locals>.fsHrr
)rr+rVs  rtest_interned_string_defaultz+CodeConstsTest.test_interned_string_defaults6				aacc"""""rctddd}||jd}||dS)Nzres = "str\0value!"rr;z
strvalue!)rrr$rrs   rtest_interned_string_with_nullz-CodeConstsTest.test_interned_string_with_nullsC
+S&
9
9OOBL-88  #####rN)r]r^r_rrrrrrrrrrBrrrrs---:::666!!\!
$$\$
++\+
##\#
$$\$$$rrceZdZdZdS)CodeWeakRefTestci}tdt||d}~d_fd}tj|j|}t|~t	t|jdS)Nz
def f(): passrVFcd_dS)NT)called)rWr+s rcallbackz,CodeWeakRefTest.test_basic.<locals>.callbacksDKKKr)
r;rTrweakrefrefrQ
assertTrueboolrassertFalse)r+rrVrcoderefs`    r
test_basiczCodeWeakRefTest.test_basics	_gii333cN					+aj(33WWYY(((
ggii)))$$$$$rN)r]r^r_r!rBrrrrs#%%%%%rrc t|SrA)next)its rreadr%s
88Orct|}|dz}d}|dzr$t|}|dz
}||dz|zz}|dz$|S)N?r@)r%)r$rvalshifts    rread_varintr,sbRA
b&C
E
b&HH

"b&Jrc@t|}|dzr|dz	S|dz	Sr)r,)r$uvals  rread_signed_varintr/ s/r??Dax|qyrc#K|j}t|j}		t|}n#t$rYdSwxYw|dz	dz}|dzdz}|dkr||ddddfVn|dkrkt|}||z
}|t
|z}t
|}|dkrd}n|dz}t
|}|dkrd}n|dz}||||||fVn|dkrt|}||z
}||||ddfVna|d	vr3|d
z
}||z
}t|}	t|}
|||||	|
fVn*t|}|dz|dz	z}	|||||	|	|dzzfV<)NTrbr3rIr
)
r4r)r8iterrxr%
StopIterationr/r,)rWrr$
first_bytelength
line_deltarcolend_colrrsecond_bytes            rparse_location_tabler?'sD	
d	 	 B&R	bJJ			FF	a2%q.A%2::tT488888
RZZ+B//JJDk"oo-Hb//Caxxq!"ooG!||1xg>>>>>
RZZ+B//JJDtT488888
\
!
!JJD"XXFbJtVZ@@@@@r((KQY+"23FtVV{R?O5PQQQQM&Rs0
>>c#pKt|D]#\}}}}}}t|D]
}||||fV$dSrA)r?range)rWrr:rrr<r=s       rpositions_from_location_tablerBRsf3G3M3M11/643v	1	1A300000	111rc#,K|D]}||kr|V|}dSrArB)lstprevitems   rdeduprGWs74<<JJJDrc4td|DS)Nc3$K|]\}}}}|VdSrArB)rlrs   r	<genexpr>z&lines_from_postions.<locals>.<genexpr>^s*11|1a111111r)rG)rs rlines_from_postionsrL]s11y111111rcZd|z}ttztz}|rtntS)z






    r)rrrqp)rrs  r
misshappenrP`sJ	
	
		
	

	
		
11	rcFd}t)Nz
            )stripr)!example_report_generation_messages rbug93662rTs!
egg&,,rc<eZdZdZdZdZdZedZdS)CodeLocationTestcLt|j}tt|j}t	||D]\}}||||t
|t
|dSrA)rdrQrrBrr6len)r+rmpos1pos2l1l2s      rcheck_positionsz CodeLocationTest.check_positionssDM..00111$-@@AA$oo	%	%FBR$$$$TCII.....rc|t|t|tdSrA)r]r?rPrTrs rtest_positionszCodeLocationTest.test_positionssE1222Z(((X&&&&&rc|j}ttd|D}tt	t|}t
||D]\}}||||t|t|dS)Nc3"K|]
\}}}|VdSrArB)rrrJs   rrKz/CodeLocationTest.check_lines.<locals>.<genexpr>s(==)1aA======r)	rQrdrGrrLrBrr6rX)r+rmr%lines1lines2r[r\s       rcheck_lineszCodeLocationTest.check_liness
]e==r{{}}=====>>)*G*K*KLLMM&&))	%	%FBR$$$$Vc&kk22222rc|t|t|tdSrA)rdr?rPrTrs r
test_lineszCodeLocationTest.test_linessE-...$$$"""""rcd}d}|jdttjddtjddtjddgtd	|d
zzdzdg|_|t||t|j	d
d
gzdS)NcdSrArBrBrrrVz/CodeLocationTest.test_code_new_empty.<locals>.frrr3*RESUMErLOAD_ASSERTION_ERROR
RAISE_VARARGSrIrbra)r8rKrx)ririNN)
rQrLrMrr	r9AssertionErrorr6rdr)r+rV PY_CODE_LOCATION_INFO_NO_COLUMNSs   rtest_code_new_emptyz$CodeLocationTest.test_code_new_emptys
			+-(Z''Ih'I45qIo.71<>	(


$	
.!,,,((**++
%&&	
	
	
	
	
rN)	r]r^r_r]r_rdrfrrprBrrrVrVsk///'''
333###


\


rrVT)cpythonc
|adSrA)
LAST_FREED)ptrs rmyfreerus


rc\eZdZdZdZdZdZdZej	dZ
dS)CoExtrac tdS)Nz	lambda:42)evalrs rget_funczCoExtra.get_funcs$$$rc	|}|ttdttjd|ttdttjddS)Nrir)rzr9SystemErrorSetExtra
FREE_INDEXctypesc_voidpGetExtrars  rtest_get_non_codezCoExtra.test_get_non_codess

Ak8R$nS11
3
3
3k8R$nS11
3
3
3
3
3rc	:|}|tt|jt
dzt
jd|t|jt
dzt
jdddS)Nrr)
rzr9r|r}rQr~rrr6rrs  rtest_bad_indexzCoExtra.test_bad_indexs

Ak8QZ(nfnS.A.A
C
C
CXaj*S.$nS113345
7
7
7
7
7rc|}t|jtt	jd~|tddS)Nr)rzr}rQr~rrr6rsrs  rtest_free_calledzCoExtra.test_free_calledsN

AQZV^C-@-@AAAZ-----rc|}tj}t|jt
tjdt|jt
tjd|tdtj}t|jt
|||j	d~dS)Ni,)
rzrrr}rQr~r6rsrr)r+rVextras   rtest_get_setzCoExtra.test_get_sets

AN$$EQZV^C-@-@AAAQZV^C-@-@AAAZ---N$$EQZU333U[#...rcX|}Gddtj}t|jt
t
jd|||}~||	|
tddS)Nc$eZdZfdZdZxZS)6CoExtra.test_free_different_thread.<locals>.ThreadTestcdt||_||_dSrA)r)__init__rVtest)r+rVrrDs   rrz?CoExtra.test_free_different_thread.<locals>.ThreadTest.__init__s+GG$$&&&DF $DIIIrcJ|`|jtddS)N)rVrr6rsrs rrunz:CoExtra.test_free_different_thread.<locals>.ThreadTest.runs%I))*c:::::r)r]r^r_rr
__classcell__rCs@r
ThreadTestrsG%%%%%;;;;;;;rrr)rz	threadingThreadr}rQr~rrstartjoinr6rs)r+rVrtts    rtest_free_different_threadz"CoExtra.test_free_different_threads

A
;
;
;
;
;Y-
;
;
;
QZV^C-@-@AAAAt$$BHHJJJGGIIIZ-----rN)r]r^r_rzrrrrrrequires_working_threadingrrBrrrwrws	%	%	%	3	3	3	7	7	7	.	.	.			 
5		4	6	6	.	.
7	6	.	.	.rrwcR|tj|SrA)addTestdoctestDocTestSuite)loadertestspatterns   r
load_testsr"s"	MM'&(()))Lr__main__)B__doc__rrrrunittestrrrrImportErrortest.supportrrrrtest.support.script_helperrropcoder	r
rr'r-TestCaser/rrrr%r,r/r?rBobjectrGrLrPrTrV	pythonapipy	CFUNCTYPErfreefunc_PyEval_RequestCodeExtraIndexRequestCodeExtraIndexargtypes	c_ssize_trestype_PyCode_SetExtrar}	py_objectc_int_PyCode_GetExtrarPOINTERrsru	FREE_FUNCr~rwrr]mainrBrr<module>rs}}~







MMMM
FFF&&&&&&&&&&&&877777))))))'(222888W,W,W,W,W,x W,W,W,t222-$-$-$-$-$X&-$-$-$`%%%%%h'%%%4)R)R)RV111
FHH222@9
9
9
9
9
x(9
9
9
xT"""[.v'9		BvV^44H<&.["$*$4!"H)6+;V^LH|H"H)6+;'779H|HJ  I&&y11JB.B.B.B.B.(#B.B.B.J
zHMOOOOOs)33