python (3.12.0)

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

ΑeI>|ddlZddlZddlZddlZdZGddej
ZGddeZGddeZGd	d
eZ	GddeZ
Gd
deZdZddZ
Gddej
ZGddej
ZGddej
Zedk(rej$yy)NcdfdS)Nc Gdd}da|S)NceZdZy);global_function.<locals>.inner_function.<locals>.LocalClassN)__name__
__module____qualname__G/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_funcattrs.py
LocalClassr	srr
cd}|S)NcyNr
r
rrinner_function2z.inner_global_function.<locals>.inner_function2
rr
)rs rinner_global_functionrs

""r)r)r
s rinner_functionz'global_function.<locals>.inner_functions			#rcSrr
rsr<lambda>z!global_function.<locals>.<lambda>s>rr
rs@rglobal_functionrs"!rceZdZdZdZy)
FuncAttrsTestcRGdd}d}||_||_||_y)NceZdZdZy)FuncAttrsTest.setUp.<locals>.Fcyrr
selfs raz FuncAttrsTest.setUp.<locals>.F.arrN)rrr	r!r
rrFrs
rr"cy)Nr
r
rrbzFuncAttrsTest.setUp.<locals>.bsr)fir"r%)r r"r%s   rsetUpzFuncAttrsTest.setUps(			#rc	t||||jd|d|	t|||jd|zy#|$rY)wxYw#|$rYywxYw)Nzshouldn't be able to set z to zshouldn't be able to del %s)setattrfaildelattr)r objnamevalue
exceptionss     rcannot_set_attrzFuncAttrsTest.cannot_set_attrsq	KCu%
IIT5IJ	<C
II3d:;				s"
AAAAAAN)rrr	r'r0r
rrrrs<rrcleZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZy)FunctionPropertiesTestcX|j|jjtyr)assertEqualr%rrrs rtest_modulez"FunctionPropertiesTest.test_module0s**H5rcd|j_|jdt|jdd|jj
_|jdt|jj
dy)N
known_attrz+set attributes not in dir listing of methodzEset attribute on function implementations, should show up in next dir)r%r8assertIndirr"r!r&rs rtest_dir_includes_correct_attrsz6FunctionPropertiesTest.test_dir_includes_correct_attrs3s^

lCK9	; 

lC		N5C	DrcBd}|j|j|y)Ncy)zmy docstringr$r
r
rr	duplicatezJFunctionPropertiesTest.test_duplicate_function_equality.<locals>.duplicate>sr)assertNotEqualr%)r r>s  r test_duplicate_function_equalityz7FunctionPropertiesTest.test_duplicate_function_equality<s		
DFFI.rcd}|j|d|jj|_|j|dy)Ncyrr
r
rrtestz:FunctionPropertiesTest.test_copying___code__.<locals>.testDrr$)r4r%__code__)r rCs  rtest_copying___code__z,FunctionPropertiesTest.test_copying___code__Cs8&
#rc|j|jjt|j	|jddt
tfy)N__globals__)assertIsr%rHglobalsr0AttributeError	TypeErrorrs rtest___globals__z'FunctionPropertiesTest.test___globals__Is<

dff((')4TVV]A,i8	:rc|j|jjt|j|jddtt
fd}i}t
||j|}|j|j||j|jt|j|dd|j|itjd}ddi}t|d}t|||j|d	j||j|d
j||j|d	jd||jd|d
jy)N__builtins__rIct|Sr)len)ss rfuncz6FunctionPropertiesTest.test___builtins__.<locals>.funcUs
CF]rabcr$z\
            def func3(s): pass
            func4 = type(func3)(func3.__code__, {})
        None)typerPfunc3func4)rJr%rPr0rLrMrWrErHr4textwrapdedentexecassertNotIn)r rTnsfunc2code
safe_builtinss      rtest___builtins__z(FunctionPropertiesTest.test___builtins__NsB

dff))<8TVV^Q,i8	:
	#
T
4=="-

e'',

e((,7	
uq)R  
 
M
:T2

bk..
>

bk..
>

bk--n=}MG)@)@Arcdfd}|j}|j|t|jt	|d|j|dj
jd|j|d|ty)Nctyrprintr!srfz2FunctionPropertiesTest.test___closure__.<locals>.fo	qrrcell__closure__)	rmassertIsInstancetupler4rR	__class__rr0rLr ricr!s   @rtest___closure__z'FunctionPropertiesTest.test___closure__msj
MMa'Q#100&9Q
q.Arctjd}|j|jdtj}d}|j	t
|5|jdddy#1swYyxYw)Nrk'shouldn't be able to read an empty cell)msg)typesCellTyper4
cell_contentsassertRaises
ValueError)r cell_objrvs   r
test_cell_newz$FunctionPropertiesTest.test_cell_newwsh>>!$//3>>#7


zs

3	#""	#	#	#s
A55A>cfd}	|jdj|jddy#t$rYdywxYw)Nctyrrfrhsrriz1FunctionPropertiesTest.test_empty_cell.<locals>.frjrrrurd)rmryr*r{)r rir!s  @rtest_empty_cellz&FunctionPropertiesTest.test_empty_cellsM	A
MM!**
II?@		
		s5	AAcdfd}|j}d|d_|j|djd|j|d|jd|d`	|dj|jd|jt5|ddd|jt5tdddy#t$rYZwxYw#1swYBxYw#1swYyxYw)NrdcSrr
rhsrriz/FunctionPropertiesTest.test_set_cell.<locals>.fsr	rru)	rmryr4r*r{rz	NameErrorUnboundLocalErrorrgrqs   @r
test_set_cellz$FunctionPropertiesTest.test_set_cells
MM!1++Q/a A
aD	A
aD
II?@


y
)	
C	


0
1	!H		
						s*-C"C+C7	C('C(+C47DcH|j|jjdd|j_|j|jjdd|j_|j|jjd|j|jddtd}t|dii|j|jjjd|j|jjddty)	Nr%rrdrr7zdef f(): pass
f.__name__rPr!)	r4r%rr0rMr\r&r!rL)r rSs  r
test___name__z$FunctionPropertiesTest.test___name__s#.#.#.TVVZI>
,Q$%++S1TWWYY
CHrc|j|jjd|jtjjd|jt
jd|jtjd|jtjd|jtjd|jtjd|jt
jdd	|j_|j|jjd	d
|j_|j|jjd
|j|jddty)
NzFuncAttrsTest.setUp.<locals>.bzFuncAttrsTest.setUprz!global_function.<locals>.<lambda>z'global_function.<locals>.inner_functionrrz.inner_global_function.<locals>.inner_function2rrrr	r7)	r4r%r	rr'rrr0rMrs rtest___qualname__z(FunctionPropertiesTest.test___qualname__sP,,.NO,,99;PQ557HI*77<	>**,99B	D,**,.;;V	X.;;=TU.0==?op!,,c2!,,c2TVV^Q	BrcRd}d}d}|j\}|j|tj|j	|j|f||fD]}|j|5|j	|jd|j
t5|`ddd|j
t5d|_ddd|f|_|j	|j|fdddy#1swY^xYw#1swYExYw#1swYxYw)Ncdx}fdcS)Tcyrr
r
rrgenericz<FunctionPropertiesTest.test___type_params__.<locals>.genericrDrr
)	.defaultsrs  rz<generic parameters of generic>zTFunctionPropertiesTest.test___type_params__.<locals>.<generic parameters of generic>sArcyrr
r
rrnot_genericz@FunctionPropertiesTest.test___type_params__.<locals>.not_genericrDrcy)N.r
r
rrrz=FunctionPropertiesTest.test___type_params__.<locals>.<lambda>rDr)rTr
*)__type_params__rntypingTypeVarr4subTestrzrM)r rrlambda_rrTs      rtest___type_params__z+FunctionPropertiesTest.test___type_params__s

$
$a0001$7 '*	=D4(
=  !5!5r:&&y1-,-&&y1.+-D(.()t$  !5!5t<
=
=	=--..	
=
=s<32D%D(DD
-DD
DDDD&	c|d\d}d}fd}fd}fd}|||||fD]5}|jt|jtj7|j|d|j|d|j|_|j|j|j|j|d	|j|_|jd		|j|_|jd	y#t$rY/wxYw#t$rYywxYw)
N)r7cyrr
r
rrr!z/FunctionPropertiesTest.test___code__.<locals>.arDrcy)Nrdr
r
rrr%z/FunctionPropertiesTest.test___code__.<locals>.bsrcSrr
)num_onesrrrz/FunctionPropertiesTest.test___code__.<locals>.crcSrr
)num_twosrrz/FunctionPropertiesTest.test___code__.<locals>.drrcfSrr
)rrsrez/FunctionPropertiesTest.test___code__.<locals>.es
((rr7rzC__code__ with different numbers of free vars should not be possible)r4rWrErwCodeTyper*r{)	r r!r%rrrrrTrrs	       @@r
test___code__z$FunctionPropertiesTest.test___code__s(1aO	BDT$--0%..A	Ba a ZZ
QZZ0a 	)AJ
II(
)	)AJ
II(
)				s$D =D/ 	D,+D,/	D;:D;c|j|jjd|j`|j|jjdyr)r4r%__defaults__rs rtest_blank_func_defaultsz/FunctionPropertiesTest.test_blank_func_defaultss@,,d3FF,,d3rcd}dd}|j|jd|j|jdd|_|j|jd|j|d|j|dd|j|ddd|`|j|jd	||jdy#t$rYywxYw)Nc||zSrr
r!r%s  r
first_funczAFunctionPropertiesTest.test_func_default_args.<locals>.first_funcQ3Jrc||zSrr
rs  rsecond_funczBFunctionPropertiesTest.test_func_default_args.<locals>.second_funcrr)rkrIr$rzE__defaults__ does not update; deleting it does not remove requirement)r4rr*rM)r rrs   rtest_func_default_argsz-FunctionPropertiesTest.test_func_default_argss		00$7116:"(
00&9q)A*Aq)1-$1148	,M
II+
,		s
C##	C/.C/N)rrr	r5r;r@rFrNrbrsr}rrrrrrrrr
rrr2r2.sW6D/$:
B>B#(I C(=")<4
,rr2c$eZdZdZdZdZdZy)InstancemethodAttrTestc|j|jjjj|j
|j
|jjd|j
ty)Nrp)r4r&r!__self__rpr"r0rMrs rtest___class__z%InstancemethodAttrTest.test___class__sJ++55tvv>TWWYYTVVYGrc|j|jjj|jj|j|jjd|jjty)N__func__)r4r&r!rr"r0rLrs r
test___func__z$InstancemethodAttrTest.test___func__sL++TVVXX6TWWYY
DFFHHnMrc|j|jjj|j|j	|jjd|jt
y)Nr)r4r&r!rr0rLrs r
test___self__z$InstancemethodAttrTest.test___self__sD++TWW5TWWYY
DGG^Lrctjt|j|j_|j	|jjt|j	|jjj
|j
d|j|jjddty#t$rY8wxYw)N4using unknown attributes should raise AttributeErrorunknown_attrrI)	rw
MethodTypeidr&r4rr*rLr0rs rtest___func___non_methodz/InstancemethodAttrTest.test___func___non_methods%%b$''2
r$''{3	NGGJJ##
IILMTWWZZNK		s2 C	CCN)rrr	rrrrr
rrrr
sHNM
LrrceZdZdZdZdZy)ArbitraryFunctionAttrTestcd|j_|j|jjd	d|jj_|jdy#t$rYywxYw)Nr7z0setting attributes on methods should raise error)r%r8r4r&r!r*rLrs r
test_set_attrz'ArbitraryFunctionAttrTest.test_set_attr,sa**A.	J#$DGGII 
IIHI		sA&&	A21A2c^	|j`|jdy#t$rYywxYw)Nz1deleting unknown attribute should raise TypeError)r%rr*rLrs rtest_delete_unknown_attrz2ArbitraryFunctionAttrTest.test_delete_unknown_attr6s5	K#
IIIJ		 	,,c|j|jjfD] }	|j|j	d"y#t
$rY/wxYw)Nr)r%r&r!non_existent_attrr*rL)r rTs  rtest_unset_attrz)ArbitraryFunctionAttrTest.test_unset_attr>sWVVTWWYY'	,D
,&&		+,
	,"

sA	AAN)rrr	rrrr
rrrr+sJK,rrc*eZdZdZdZdZdZdZy)FunctionDictsTestc|j|jddtddlm}|ddi}|j|j
jjd|ty)N__dict__r)UserDictr8r7)r0r%rMcollectionsrr&r!r)r rrs   rtest_setting_dict_to_invalidz.FunctionDictsTest.test_setting_dict_to_invalidJsNTVVZyA(lA&'TWWYY//Q	Jrcddi}||j_|j||jj||jj_|j||j
jjj|j||j
jj|j|jjd|j|jjdd|j|j
jjjd|j|j
jjdy)Nr8r7)	r%rrJr"r!r&rr4r8)r rs  rtest_setting_dict_to_validz,FunctionDictsTest.test_setting_dict_to_validPs
1

a)

a++445

a++,**A.6:++66:--q1rc^	|j`|jdy#t$rYywxYw)Nz3deleting function dictionary should raise TypeError)r%rr*rMrs rtest_delete___dict__z&FunctionDictsTest.test_delete___dict__`s4	M
IIKL		rcP|j|jjiyr)r4r%rrs rtest_unassigned_dictz&FunctionDictsTest.test_unassigned_dicths"-rchd}i}|||j<|j||j|y)NzSome string)r%r4)r r.rs   rtest_func_as_dict_keyz'FunctionDictsTest.test_func_as_dict_keyks1$&&	466E*rN)rrr	rrrrrr
rrrrIsK2 M.+rrceZdZdZdZy)FunctionDocstringTestc|j|jjdd}||j_||jj_|j|jj||j|j
jj||j
|j
jd|ty)NzA test method that does nothing__doc__)r4r%rr"r!r&r0rL)r docstrs  rtest_set_docstring_attrz-FunctionDocstringTest.test_set_docstring_attrss.2!0**F3TWWYY	6>Jrcd|j_|j`|j|jjdy)Nz
The docstring)r%rr4rs rtest_delete_docstringz+FunctionDocstringTest.test_delete_docstring|s.(FFN.rN)rrr	rrr
rrrrrs
K/rrc0fd}||jdS)z)Create a cell containing the given value.ctyrrfrhsrrizcell.<locals>.f

arrrm)r.rir!s  @rrlrls
A==rc4fd}|sd|jdS)zCreate an empty cell.ctyrrfrhsrrizempty_cell.<locals>.frrirr)emptyrir!s  @r
empty_cellrs!
==rceZdZdZy)CellTestcx|jtdtdk|jttdk|jttk(|jtdtdk(|jtdtkDy)NrIr$saturdayigBT)
assertTruerlrrs rtest_comparisonzCellTest.test_comparisonsz
	
Q$q')*
tJ'778

45S	T%[01T
Z\12rN)rrr	rr
rrrrs	3rrceZdZdZy)StaticMethodAttrsTestcd}t|}|j|j|ut|}|j|j|uy)Ncyrr
r
rrriz4StaticMethodAttrsTest.test_func_attribute.<locals>.fsr)classmethodrrstaticmethod)r rirrrSs    rtest_func_attributez)StaticMethodAttrsTest.test_func_attributesC	
N

a(O

a(rN)rrr	rr
rrrrs)rrceZdZdZy)BuiltinFunctionPropertiesTestcddl}|jtjd|j|jjd|jtj
jd|jtjjd|jtjjd|jtjjd|jgdjjd	|jd
dijjdy)
NrrRtimez
dict.fromkeyszfloat.__getformat__z
str.maketranszbytes.maketrans)rkrIr$zlist.appendfoobarzdict.pop)
rr4rRr	dictfromkeysfloat
__getformat__str	maketransbytesappendpop)r rs  rtest_builtin__qualname__z6BuiltinFunctionPropertiesTest.test_builtin__qualname__s	
))51//8	
33_E,,99.	0	
33_E557HI	
))66
F%++88*ErN)rrr	r
r
rrrrsFrr__main__)T)rZrwrunittestrTestCaserr2rrrrrlrrrrrmainr
rr<module>rs

"<H%%<4\,]\,~L]L<,
,<&+
&+R
/M
/ 	
3x  
3	)H--	)FH$5$5F2zHMMOr