
    /hhT                         S SK r S SKrS SKrS SKJrJrJrJr   " S S\R                  5      r	 " S S\R                  5      r
\S:X  a  \R                  " 5         gg)    N)	swap_item	swap_attris_wasiPy_DEBUGc                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS r\R                  " \=(       a    \S5      S 5       rSrg)RebindBuiltinsTests
   c                     g N )selffuncargss      :/opt/python-3.13.8/usr/lib/python3.13/test/test_dynamic.pyconfigure_func"RebindBuiltinsTests.configure_func   s     	    c                     S nU R                  U5        U R                  U" 5       S5        [        [        5       SS 5         U R                  U" 5       S5        S S S 5        g ! , (       d  f       g = f)Nc                      [        / SQ5      $ N)         lenr   r   r   foo=RebindBuiltinsTests.test_globals_shadow_builtins.<locals>.foo       y>!r   r   r   c                     gN   r   xs    r   <lambda>BRebindBuiltinsTests.test_globals_shadow_builtins.<locals>.<lambda>$   s    1r   r!   r   assertEqualr   globalsr   r   s     r   test_globals_shadow_builtins0RebindBuiltinsTests.test_globals_shadow_builtins   sS    	"C "wy%5SUA& 655s   A##
A1c                     S nU R                  U5        U R                  U" 5       S5        [        [        SS 5         U R                  U" 5       S5        S S S 5        g ! , (       d  f       g = f)Nc                      [        / SQ5      $ r   r   r   r   r   r   5RebindBuiltinsTests.test_modify_builtins.<locals>.foo)   r   r   r   r   c                     gr    r   r"   s    r   r$   :RebindBuiltinsTests.test_modify_builtins.<locals>.<lambda>.       !r   r!   )r   r'   r   builtinsr)   s     r   test_modify_builtins(RebindBuiltinsTests.test_modify_builtins'   sQ    	"C "x4SUA& 544s   A
A-c                     S nU R                  U5        U" 5       nU R                  [        U5      S5        [        [        SS 5         U R                  [        U5      S5        S S S 5        g ! , (       d  f       g = f)Nc               3   V   #    [        S5      n [        U 5      v   [        U 5      v   g 7fNr   ranger   r"   s    r   r   LRebindBuiltinsTests.test_modify_builtins_while_generator_active.<locals>.foo3         aAa&La&L   ')r   r   c                     gr    r   r"   s    r   r$   QRebindBuiltinsTests.test_modify_builtins_while_generator_active.<locals>.<lambda>;   r1   r   r!   )r   r'   nextr   r2   r   r   gs      r   +test_modify_builtins_while_generator_active?RebindBuiltinsTests.test_modify_builtins_while_generator_active1   s^    	 	C Ea!$x4T!Wa( 544s   	A..
A<c                     [        [        S[        5         S nS nU R                  US 5        U R	                  U" U5      SS/5        S S S 5        g ! , (       d  f       g = f)Nr   c                      S [         l        g )Nc                     g)N   r   r"   s    r   r$   ZRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.bar.<locals>.<lambda>C       r   )r2   r   r   r   r   barHRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.barB   s	    *r   c                     / nUR                  [        [        S5      5      5        U " 5         UR                  [        [        S5      5      5        U$ r    )appendr   r9   )modifierls     r   r   HRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.fooE   s9    U1X'
U1X'r   c                      g r   r   r   r   r   r$   MRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.<lambda>K   s    Tr   r!   rG   )r   r2   r   r   r'   )r   rJ   r   s      r   'test_modify_builtins_from_leaf_function;RebindBuiltinsTests.test_modify_builtins_from_leaf_function>   sP     x,+ \2SX1v. -,,s   4A
A!c                     S nU R                  U5        SS 0nXS S.nU R                  [        SU5      S5        U R                  [        SSU05      S5        g )	Nc                      [        / SQ5      $ r   r   r   r   r   r   QRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.fooP   r   r   r   c                     gr    r   r"   s    r   r$   VRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.<lambda>U       !r   c                     gN   r   r"   s    r   r$   rY   W   rI   r   r   __builtins__r   zfoo()r   r   )r   r'   eval)r   r   builtins_dictglobals_dicts       r   0test_cannot_change_globals_or_builtins_with_evalDRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_evalO   s`    	"C  ,"*,g|4a8gs|4a8r   c                     S nU R                  U5        SU0n[        SU5        U R                  US   S5        SS 0nXS S	.n[        SU5        U R                  US   S5        g )
Nc                      [        / SQ5      $ r   r   r   r   r   r   QRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.foo]   r   r   r   z	x = foo()r#   r   r   c                     gr    r   r"   s    r   r$   VRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.<lambda>f   rZ   r   c                     gr\   r   r"   s    r   r$   ri   h   rI   r   r^   )r   execr'   )r   r   rb   ra   s       r   0test_cannot_change_globals_or_builtins_with_execDRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec\   sw    	"C s|[,'c*A. ,"*, 	[,'c*A.r   c                 
   S nU R                  U5        U" 5       nU R                  [        U5      S5        [        [	        5       SSS 05         U R                  [        U5      S5        S S S 5        g ! , (       d  f       g = f)Nc               3   V   #    [        S5      n [        U 5      v   [        U 5      v   g 7fr7   r8   r"   s    r   r   ORebindBuiltinsTests.test_cannot_replace_builtins_dict_while_active.<locals>.foon   r;   r<   r   r_   r   c                     gr    r   r"   s    r   r$   TRebindBuiltinsTests.test_cannot_replace_builtins_dict_while_active.<locals>.<lambda>v       Ar   )r   r'   r?   r   r(   r@   s      r   .test_cannot_replace_builtins_dict_while_activeBRebindBuiltinsTests.test_cannot_replace_builtins_dict_while_activem   sf    	 	C Ea!$wy.5+2FGT!Wa( HGGs   A44
Bc                     S nU R                  U5        U R                  U" 5       S5        [        [        5       SSS 05         U R                  U" 5       S5        S S S 5        g ! , (       d  f       g = f)Nc                      [        / SQ5      $ r   r   r   r   r   r   PRebindBuiltinsTests.test_cannot_replace_builtins_dict_between_calls.<locals>.fooz   r   r   r   r_   r   c                     gr    r   r"   s    r   r$   URebindBuiltinsTests.test_cannot_replace_builtins_dict_between_calls.<locals>.<lambda>   rs   r   r&   r)   s     r   /test_cannot_replace_builtins_dict_between_callsCRebindBuiltinsTests.test_cannot_replace_builtins_dict_between_callsy   sY    	"C "wy.5+2FGSUA& HGGs   A%%
A3c                 v    SS 0n[        SU5      nU R                  U5        U R                  U" 5       S5        g )Nr   c                     gr    r   r"   s    r   r$   KRebindBuiltinsTests.test_eval_gives_lambda_custom_globals.<locals>.<lambda>   rI   r   zlambda: len([])r!   )r`   r   r'   )r   rb   r   s      r   %test_eval_gives_lambda_custom_globals9RebindBuiltinsTests.test_eval_gives_lambda_custom_globals   s9    {+$l3C "r   zrequires too much stackc                     " S S[         5      nSnSSR                  S [        U5       5       5      -   n[        X1" 5       5      n[	        [        U5      5      n[        S5       H  nU R                  U" 5       U5        M     g )Nc                       \ rS rSrS rSrg)ZRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.MyGlobals   c                 6    [        UR                  S5      5      $ )N_number_)intremoveprefix)r   keys     r   __missing__fRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.MyGlobals.__missing__   s    3++J788r   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   	MyGlobalsr      s    9r   r   i  zlambda: +c              3   ,   #    U  H
  nS U 3v   M     g7f)r   Nr   ).0is     r   	<genexpr>ZRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.<genexpr>   s     $N=Mxs^=Ms      )dictjoinr9   r`   sumr'   )r   r   	variablescodesum_funcexpected_s          r   3test_load_global_specialization_failure_keeps_opargGRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg   sp    	9 	9
 	CHH$NU9=M$NNNik*uY'(rAXZ2 r   r   N)r   r   r   r   r   r*   r3   rB   rS   rc   rl   rt   r{   r   unittestskipIfr   r   r   r   r   r   r   r   r   
   sZ    '')/"9/"
)'# __W)+DE3 F3r   r   c                        \ rS rSrS rS rSrg)TestTracing   c                     U R                  [        R                  [        R                  " 5       5        [        R                  " S 5        g r   )
addCleanupsyssettracegettrace)r   s    r   setUpTestTracing.setUp   s&    clln5Tr   c                 P  ^^^ U4S jmSm " UU4S jS5      mU4S jnU4S jnU4S jnXU4 Ha  nU R                  UR                  5         [        S5       H
  nU" 5         M     S	mU" 5         [        R                  " S 5        SmS S S 5        Mc     g ! , (       d  f       Mu  = f)
Nc                    > T$ r   r   )frameeventargtraces      r   r   4TestTracing.test_after_specialization.<locals>.trace   s    Lr   Fc                   *   > \ rS rSrS rU U4S jrSrg)0TestTracing.test_after_specialization.<locals>.C   c                     Xl         g r   r"   )r   r#   s     r   __init__9TestTracing.test_after_specialization.<locals>.C.__init__   s    r   c                 B   > T(       a  [         R                  " T5        g g r   )r   r   )r   r   turn_on_traces    r   __del__8TestTracing.test_after_specialization.<locals>.C.__del__   s     LL' !r   r"   N)r   r   r   r   r   r   r   )r   r   s   r   Cr      s    ( (r   r   c                  6   > T " S5      R                   [        4  g Nr   )r#   r   r   s   r   f0TestTracing.test_after_specialization.<locals>.f   s    aDFFCKr   c                  2   > S/T " S5      R                        g r   r"   r   s   r   rA   0TestTracing.test_after_specialization.<locals>.g   s    C!Kr   c                  0   > ST " S5      R                   -     g r   r"   r   s   r   h0TestTracing.test_after_specialization.<locals>.h   s    !Jr   :   T)subTestr   r9   r   r   )	r   r   rA   r   r   r   r   r   r   s	         @@@r   test_after_specialization%TestTracing.test_after_specialization   s    	 	( 	(			 1IDdmm,rAF # $T" % -, ,,s   ;B
B%	r   N)r   r   r   r   r   r   r   r   r   r   r   r      s    !&r   r   __main__)r2   r   r   test.supportr   r   r   r   TestCaser   r   r   mainr   r   r   <module>r      sV     
  @ @M3(++ M3`'&(## '&T zMMO r   