python (3.12.0)

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

͑eddlZddlZddlZddlmZmZGddejZGddejZe	dk(rejyy)N)	swap_item	swap_attrcReZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZy
)RebindBuiltinsTestsz=Test all the ways that we can change/shadow globals/builtins.cy)aPerform TestCase-specific configuration on a function before testing.

        By default, this does nothing. Example usage: spinning a function so
        that a JIT will optimize it. Subclasses should override this as needed.

        Args:
            func: function to configure.
            *args: any arguments that should be passed to func, if calling it.

        Returns:
            Nothing. Work will be performed on func in-place.
        N)selffuncargss   E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_dynamic.pyconfigure_funcz"RebindBuiltinsTests.configure_funcs	
cd}|j||j|dttdd5|j|ddddy#1swYyxYw)NctgdSN)lenrrrfooz=RebindBuiltinsTests.test_globals_shadow_builtins.<locals>.fooy>!rrrcyNrxs r<lambda>zBRebindBuiltinsTests.test_globals_shadow_builtins.<locals>.<lambda>$rrr
assertEqualrglobalsr	rs  rtest_globals_shadow_builtinsz0RebindBuiltinsTests.test_globals_shadow_builtinss\	"C "
wy%
5	'SUA&	'	'	'sA##A,cd}|j||j|dttdd5|j|ddddy#1swYyxYw)NctgdSrrrrrrz5RebindBuiltinsTests.test_modify_builtins.<locals>.foo)rrrrcyrrrs rrz:RebindBuiltinsTests.test_modify_builtins.<locals>.<lambda>.rrr)r
r!rbuiltinsr#s  rtest_modify_builtinsz(RebindBuiltinsTests.test_modify_builtins'sZ	"C "
x
4	'SUA&	'	'	'sAA(cd}|j||}|jt|dttdd5|jt|ddddy#1swYyxYw)Nc3VKtd}t|t|ywNrrangerrs rrzLRebindBuiltinsTests.test_modify_builtins_while_generator_active.<locals>.foo3!aAa&La&L')rrcyrrrs rrzQRebindBuiltinsTests.test_modify_builtins_while_generator_active.<locals>.<lambda>;rrr)r
r!nextrr(r	rgs   r+test_modify_builtins_while_generator_activez?RebindBuiltinsTests.test_modify_builtins_while_generator_active1sg		
C Ea!$
x
4	)T!Wa(	)	)	)s	A..A7cttdt5d}d}|j|d|j	||ddgdddy#1swYyxYw)Nrcdt_y)Ncy)Nrrs rrzZRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.bar.<locals>.<lambda>Crr)r(rrrrbarzHRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.barBs	*rcg}|jttd||jttd|Sr)appendrr.)modifierls  rrzHRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.fooEs9U1X'
U1X'rcyNrrrrrzMRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.<lambda>Krrrr9)rr(rr
r!)r	r:rs   r'test_modify_builtins_from_leaf_functionz;RebindBuiltinsTests.test_modify_builtins_from_leaf_function>sYx
,	/
+

\2SX1v.	/	/	/s4AAcd}|j|ddi}||dd}|jtd|d|jtdd|idy)	NctgdSrrrrrrzQRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.fooPrrrcyrrrs rrzVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.<lambda>UrrcyNrrs rrzVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.<lambda>Wrrr__builtins__rzfoo()rr)r
r!eval)r	r
builtins_dictglobals_dicts    r0test_cannot_change_globals_or_builtins_with_evalzDRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_evalOsb	"C ,
"M*,g|4a8gs|4a8rcd}|j|d|i}td||j|ddddi}||dd	}td||j|ddy)
NctgdSrrrrrrzQRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.foo]rrrz	x = foo()rrrcyrrrs rrzVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.<lambda>frrcyrFrrs rrzVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.<lambda>hrrrH)r
execr!)r	rrLrKs    r0test_cannot_change_globals_or_builtins_with_execzDRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec\sy	"C s|[,'c*A.,
"M*,	
[,'c*A.rcd}|j||}|jt|dtt	dddi5|jt|ddddy#1swYyxYw)Nc3VKtd}t|t|ywr,r-rs rrzORebindBuiltinsTests.test_cannot_replace_builtins_dict_while_active.<locals>.foonr/r0rrIrcyrrrs rrzTRebindBuiltinsTests.test_cannot_replace_builtins_dict_while_active.<locals>.<lambda>vrr)r
r!r2rr"r3s   r.test_cannot_replace_builtins_dict_while_activezBRebindBuiltinsTests.test_cannot_replace_builtins_dict_while_activemsn		
C Ea!$
wy.5+2F
G	)T!Wa(	)	)	)sA44A=cd}|j||j|dttdddi5|j|ddddy#1swYyxYw)NctgdSrrrrrrzPRebindBuiltinsTests.test_cannot_replace_builtins_dict_between_calls.<locals>.foozrrrrIrcyrrrs rrzURebindBuiltinsTests.test_cannot_replace_builtins_dict_between_calls.<locals>.<lambda>rrr r#s  r/test_cannot_replace_builtins_dict_between_callszCRebindBuiltinsTests.test_cannot_replace_builtins_dict_between_callsysa	"C "
wy.5+2F
G	'SUA&	'	'	'sA%%A.cvddi}td|}|j||j|dy)Nrcyrrrs rrzKRebindBuiltinsTests.test_eval_gives_lambda_custom_globals.<locals>.<lambda>rrzlambda: len([])r)rJr
r!)r	rLrs   r%test_eval_gives_lambda_custom_globalsz9RebindBuiltinsTests.test_eval_gives_lambda_custom_globalss9{+$l3C "rcGddt}d}ddjdt|Dz}t||}t	t|}tdD]}|j||y)NceZdZdZy)ZRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.MyGlobalsc6t|jdS)N_number_)intremoveprefix)r	keys  r__missing__zfRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.MyGlobals.__missing__s3++J788rN)__name__
__module____qualname__rgrrr	MyGlobalsras
9rrkizlambda: +c3&K|]	}d|yw)rcNr).0is  r	<genexpr>zZRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.<genexpr>s$Nxs^$Ns)dictjoinr.rJsumr!)r	rk	variablescodesum_funcexpected_s       r3test_load_global_specialization_failure_keeps_opargzGRebindBuiltinsTests.test_load_global_specialization_failure_keeps_opargsu	9	9
	CHH$NU9=M$NNNik*uY'(r	3AXZ2	3rN)rhrirj__doc__r
r$r)r5rArMrSrWr[r^rzrrrrr
s<G

'')/"9/"
)'#
3rrceZdZdZdZy)TestTracingc|jtjtjtjdyr@)
addCleanupsyssettracegettrace)r	s rsetUpzTestTracing.setUps&clln5Trc2fddGfddfd}fd}fd}|||fD]]}|j|j5tdD]	}|d	|tjddddd_y#1swYjxYw)
NcSr@r)frameeventargtraces   rrz4TestTracing.test_after_specialization.<locals>.tracesLrFc eZdZdZfdZy)0TestTracing.test_after_specialization.<locals>.Cc||_yr@r)r	rs  r__init__z9TestTracing.test_after_specialization.<locals>.C.__init__s	rc6rtjyyr@)rr)r	r
turn_on_traces r__del__z8TestTracing.test_after_specialization.<locals>.C.__del__s LL'!rN)rhrirjrr)rrsrCrs


(rrc6djtfyNr)rrrsrfz0TestTracing.test_after_specialization.<locals>.fs
aDFFCKrc2dgdjyrrrsrr4z0TestTracing.test_after_specialization.<locals>.gs
C!Krc0ddjzyrrrsrhz0TestTracing.test_after_specialization.<locals>.hs
!Jr:T)subTestrhr.rr)	r	rr4rr
ryrrrs	      @@@rtest_after_specializationz%TestTracing.test_after_specializations	
	(	(			1I	&Ddmm,
&rAF $
T" %


&
&	&
&
&s
8B

B	N)rhrirjrrrrrr}r}s!&rr}__main__)r(runittesttest.supportrrTestCaserr}rhmainrrr<module>rsU
-L3(++L3^'&(##'&TzHMMOr