+
    BiY                    T   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	H
t
Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt ^ RIt ! R R4      t ! R R4      tR	 tR
 tR t. R:O]n        R t. R=O]n        R t. R=O]n        R t. R>O]n        R t. R?O]n        R t. RAO]n        R t. RBO]n        R t R t!. RCO]!n        R t"R t#. RDO]#n        R t$R t%R9.]%n        R t&R t'. REO]'n        R t(. RFO](n        R t). RGO])n        R t*. RHO]*n        R t+R t,. RIOR;R@.^
,          ,           R;R<.,           ],n        R t- ! R  R!4      t. ! R" R#]P^                  4      t0. RJOt1 ! R$ R%]04      t2]Pf                   ! R& R']04      4       t4 ! R( R)]P^                  4      t5 ! R* R+4      t6R, t7R- t8 ! R. R/]P^                  4      t9 ! R0 R1]P^                  4      t: ! R2 R3]P^                  4      t; ! R4 R5]04      t< ! R6 R7]04      t=]>R88X  d   ]P~                  ! 4        R# R#   ] d    Rt ELi ; i)K    )supportNwraps)import_helperrequires_subprocessrun_no_yield_async_fnc                   2   a  ] tR t^t o R tR tR tRtV tR# )tracecontextc                    Wn         W n        R # Noutputvalueselfr   r   s   &&&-/usr/lib/python3.14/test/test_sys_settrace.py__init__tracecontext.__init__       
    c                P    V P                   P                  V P                  4       R # r   r   appendr   r   s   &r   	__enter__tracecontext.__enter__   s    4::&r   c                R    V P                   P                  V P                  ) 4       R # r   r   r   exc_infos   &*r   __exit__tracecontext.__exit__   s    DJJ;'r   r   N)	__name__
__module____qualname____firstlineno__r   r   r    __static_attributes____classdictcell____classdict__s   @r   r
   r
           '( (r   r
   c                   2   a  ] tR t^!t o R tR tR tRtV tR# )asynctracecontextc                    Wn         W n        R # r   r   r   s   &&&r   r   asynctracecontext.__init__#   r   r   c                X   "   V P                   P                  V P                  4       R # 5ir   r   r   s   &r   
__aenter__asynctracecontext.__aenter__'   s     4::&s   (*c                Z   "   V P                   P                  V P                  ) 4       R # 5ir   r   r   s   &*r   	__aexit__asynctracecontext.__aexit__*   s     DJJ;'s   )+r   N)	r"   r#   r$   r%   r   r0   r3   r&   r'   r(   s   @r   r,   r,   !   r*   r   r,   c                *   "   V  F  pV5x  K
  	  R # 5ir    )iterablexs   & r   	asynciterr9   -   s      s   c                 0   a  \        S 4      V 3R  l4       pV# )c                     <a"   . oV3R  lp S! V / VBRV/B G Rj  xL
 S'       d    SP                  4       ! 4       G Rj  xL
  K'  #  L+ L	  S'       d!   SP                  4       ! 4       G Rj  xL 
  K(  i ; i5i)c                 T   < \        V 4      pSP                  VP                  4       V# r   )r9   r   aclose)r7   itcleanupss   & r   wrapped_asynciter;clean_asynciter.<locals>.wrapper.<locals>.wrapped_asynciter6   s"    8$BOOBII&Ir   r9   Npop)argskwargsr@   r?   tests   *, @r   wrapper clean_asynciter.<locals>.wrapper3   sm     		'tKvK9JKKlln&&&  L ' lln&&& sT   	A:A A	A A:A:AA:	A A:A7A7.A1/A77A:r   )rF   rG   s   f r   clean_asynciterrI   2   s     
4[
' 
' Nr   c                      ^#    r6   r6   r   r   basicrM   B   s    r   c                      ^p ?  ^p R# rL   Nr6   r8   s    r   arigo_example0rQ   Q   s    	A	
	Ar   c                      ^p ?  ^p R# rO   r6   rP   s    r   arigo_example1rS   _   s    	A		Ar   c                      ^p ?  ^p R# rO   r6   rP   s    r   arigo_example2rU   m   s    	A	 r   c                      ^p ? ^p R# rO   r6   rP   s    r   one_instr_linerW      s    	A		Ar   c                  J    ^p \        ^4       F  pV'       d   ^p K  ^p K  	  R# rO   range)r8   as     r   no_pop_topsr\      s"    	A1XAA	 r   c                  .    ^p V '       g	   \          K  ^pR# rO   )bla)yr8   s     r   no_pop_blocksr`      s    	A	Ar   c                  
    ^p R# rO   r6   rP   s    r   calledrb      s    	Ar   c                      \        4        R # r   )rb   r6   r   r   callrd      s    
Hr   c                      \         hr   	Exceptionr6   r   r   raisesrh      s    
Or   c                  @     \        4        R #   \         d     R # i ; ir   )rh   rg   r6   r   r   
test_raiserj      s     s   
 c                 z    \         P                  ! V 4       V \         P                  ! 4       P                  n        R # r   )syssettrace	_getframef_backf_trace	tracefuncs   &r   _settrace_and_returnrs      s"    LL%.CMMO"r   c                     \        V 4       R # r   )rs   rq   s   &r   settrace_and_returnru      s
    #r   c                     \         P                  ! V 4       V \         P                  ! 4       P                  n        \
        hr   )rl   rm   rn   ro   rp   RuntimeErrorrq   s   &r   _settrace_and_raiserx      s(    LL%.CMMO"
r   c                 B     \        V 4       R #   \         d     R # i ; ir   )rx   rw   rq   s   &r   settrace_and_raiserz      s!    I& s    c                  0    ^p ^pW8X  d   V ^,           pR# R#    Nr6   )r[   bs     r   ireturn_exampler      s    	A	AvaCr   c                  j    \        ^ ^4      p  ^ p W,          q!^,          pK    \         d     R# i ; ir   NrZ   
IndexError)itemsir~   s      r   tightloop_exampler      s9    !QKEAQ$! s   # 22c                  X    \        ^^4      p  ^ pY,          pK
    \         d     R# i ; irO   r   )r   r   s     r   tighterloop_exampler     s0    !QKEX s    ))c               #   $   "    R x   R#   i ; i5i)TNr6   r6   r   r   generator_functionr   *  s     
	s    c                  T    \        \        4       4      p \        ^
4       F  p T pK  	  R# )
   N)anyr   rZ   )r8   r_   s     r   generator_exampler   0  s%     !A 2Y r   c                     R pV P                   P                  4        F&  w  r#pW P                  u;8:  d
   V8  g   K   M K$  TpK(  	  WP                  8H  # r   )f_codeco_linesf_lastif_lineno)frame	last_linestartendlines   &    r   lineno_matches_lastir   F  sI    I!LL113DMM'C''I 4 &&r   c                   <   a  ] tR tRt o RR ltR tR tR tRtV t	R# )	TraceriM  Nc                ,    Wn         W n        . V n        R # r   )trace_line_eventstrace_opcode_eventsevents)r   r   r   s   &&&r   r   Tracer.__init__N  s    !2#6 r   c                    V P                   e   V P                   Vn        V P                  e   V P                  Vn        R # R # r   )r   f_trace_linesr   f_trace_opcodes)r   r   s   &&r   _reconfigure_frameTracer._reconfigure_frameS  s;    !!-"&"8"8E##/$($<$<E! 0r   c                    V P                  V4       V P                  P                  VP                  V34       V P                  # r   r   r   r   r   tracer   r   eventargs   &&&&r   r   Tracer.traceY  s5    &ENNE23zzr   c                    V P                  V4       R  R 4        V P                  P                  VP                  V34       V P                  # )c              3   $   "   T F  qx  K  	  R # 5ir   r6   ).0os   & r   	<genexpr>)Tracer.traceWithGenexp.<locals>.<genexpr>a  s     CqCs   rK   r   r   s   &&&&r   traceWithGenexpTracer.traceWithGenexp_  s=    &CENNE23zzr   )r   r   r   )NN)
r"   r#   r$   r%   r   r   r   r   r&   r'   r(   s   @r   r   r   M  s     
= r   r   c                   "  a  ] tR tRt o R tR t]R 4       tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.R, t/R- t0R. t1R/ t2R0 t3R1 t4R2 t5R3 t6R4 t7R5 t8R6 t9R7 t:R8 t;R9 t<R: t=R; t>R< t?R= t@R> tAR? tBR@ tCRA tDRB tERC tFRD tGRE tHRF tI]JP                  RG 4       tLRH tMRI tN]JP                  RJ 4       tORK tPRLtQV tRRM# )NTraceTestCaseif  c                    \         P                  ! 4       V n        \         P                  ! 4        V P	                  \
        P                  \
        P                  ! 4       4       R # r   )gc	isenabledusing_gcdisable
addCleanuprl   rm   gettracer   s   &r   setUpTraceTestCase.setUpj  s0    


clln5r   c                X    V P                   '       d   \        P                  ! 4        R # R # r   )r   r   enabler   s   &r   tearDownTraceTestCase.tearDowno  s    ===IIK r   c                     \        4       # r   r   r6   r   r   make_tracerTraceTestCase.make_tracers  s     xr   c                X   V UUu. uF  w  rEVe	   WA,
          MR V3NK  	  pppW#8w  dq   T P                  RRP                  \        P                  ! V Uu. uF  p\	        V4      NK  	  upV Uu. uF  p\	        V4      NK  	  up4      4      ,           4       R # R # u uppi u upi u upi )Nz"events did not match expectation:

)failjoindifflibndiffstr)r   line_offsetr   expected_eventsler8   s   &&&&   r   compare_eventsTraceTestCase.compare_eventsx  s    PVWPVfqam1?qAPVW$II5		'--(IAQ(I9?(@AQ(@B CCD % X )J(@s   BB"/B'c                   V P                  4       p\        P                  ! VP                  4       V! 4        \        P                  ! R 4       V P	                  VP
                  P                  VP                  V4       R # r   )r   rl   rm   r   r   __code__co_firstlinenor   )r   funcr   tracers   &&& r   run_and_compareTraceTestCase.run_and_compare  sT    !!#V\\"TDMM88"MM6	3r   c                <    V P                  WP                  4       R # r   )r   r   r   r   s   &&r   run_testTraceTestCase.run_test  s    T;;/r   c                    V P                  4       pV! VP                  4       \        P                  ! R 4       V P	                  VP
                  P                  VP                  VP                  4       R # r   )r   r   rl   rm   r   r   r   r   )r   r   r   s   && r   	run_test2TraceTestCase.run_test2  sO    !!#V\\TDMM88"MM4;;	8r   c                2    \         P                  ! R 4       R # r   rl   rm   r   s   &r   test_set_and_retrieve_none(TraceTestCase.test_set_and_retrieve_none  s    Tr   c                    R  p\         P                  ! V4        \         P                  ! R4       R#   \         P                  ! R4       i ; i)c                      R # r   r6   rD   s   *r   fn4TraceTestCase.test_set_and_retrieve_func.<locals>.fn      r   Nr   )r   r   s   & r   test_set_and_retrieve_func(TraceTestCase.test_set_and_retrieve_func  s5    	 	R	 LLCLLs   Ac                0    V P                  \        4       R # r   )r   rM   r   s   &r   test_01_basicTraceTestCase.test_01_basic  s    er   c                0    V P                  \        4       R # r   )r   rQ   r   s   &r   test_02_arigo0TraceTestCase.test_02_arigo0      n%r   c                0    V P                  \        4       R # r   )r   rS   r   s   &r   test_02_arigo1TraceTestCase.test_02_arigo1  r   r   c                0    V P                  \        4       R # r   )r   rU   r   s   &r   test_02_arigo2TraceTestCase.test_02_arigo2  r   r   c                0    V P                  \        4       R # r   )r   rW   r   s   &r   test_03_one_instrTraceTestCase.test_03_one_instr  r   r   c                0    V P                  \        4       R # r   )r   r`   r   s   &r   test_04_no_pop_blocks#TraceTestCase.test_04_no_pop_blocks  s    m$r   c                0    V P                  \        4       R # r   )r   r\   r   s   &r   test_05_no_pop_tops!TraceTestCase.test_05_no_pop_tops  s    k"r   c                0    V P                  \        4       R # r   )r   rd   r   s   &r   test_06_callTraceTestCase.test_06_call  s    dr   c                0    V P                  \        4       R # r   )r   rj   r   s   &r   test_07_raiseTraceTestCase.test_07_raise  s    j!r   c                0    V P                  \        4       R # r   )r   ru   r   s   &r   test_08_settrace_and_return)TraceTestCase.test_08_settrace_and_return  s    *+r   c                0    V P                  \        4       R # r   )r   rz   r   s   &r   test_09_settrace_and_raise(TraceTestCase.test_09_settrace_and_raise  s    )*r   c                0    V P                  \        4       R # r   )r   r   r   s   &r   test_10_ireturnTraceTestCase.test_10_ireturn  s    o&r   c                0    V P                  \        4       R # r   )r   r   r   s   &r   test_11_tightloopTraceTestCase.test_11_tightloop  s    '(r   c                0    V P                  \        4       R # r   )r   r   r   s   &r   test_12_tighterloop!TraceTestCase.test_12_tighterloop  s    )*r   c                V   V P                  \        4       V P                  4       p\        P                  ! VP
                  4       \        4        \        P                  ! R 4       V P                  \        P                  P                  VP                  \        P                  4       R # r   )
r   r   r   rl   rm   r   r   r   r   r   )r   r   s   & r   test_13_genexpTraceTestCase.test_13_genexp  sq    '(
 !!#V++,T-66EE"MM+<+C+C	Er   c                4    R  pV P                  V. RO4       R# )c                  
    Rp ^ # )TFr6   rP   s    r   onliners2TraceTestCase.test_14_onliner_if.<locals>.onliners  s
    Qr   N)r   rd   rL   r      r   r$  returnr   )r   r  s   & r   test_14_onliner_if TraceTestCase.test_14_onliner_if  s    	 		r   c                b    R  pV P                  V. RO4       R pV P                  V. RO4       R# )c                  *    \        ^4       F  p K  	  R#    NrY   rP   s    r   for_example0TraceTestCase.test_15_loops.<locals>.for_example  s    1X r   c                  .    ^p V ^ 8  d   V ^,          p K  R# r,  r6   rP   s    r   while_example2TraceTestCase.test_15_loops.<locals>.while_example  s    Aa%Q r   N)r!  r"  r-  r   r"  r3  r"  rL   r&  )r!  r3  r#     r   r#  r5  r#  r%  r'  )r   r.  r1  s   &  r   test_15_loopsTraceTestCase.test_15_loops  s<    	 			
 			r   c                X    / p\        RV4       V P                  VR,          . RO4       R# )z	def f():
fNa  def f():
































































































































































































































































    pass)r!  )  r   )r;  r&  execr   )r   	namespaces   & r   test_16_blank_lines!TraceTestCase.test_16_blank_lines  s,    	3Y?cN	r   c                4    R  pV P                  VRR.4       R# )c                  >    R \         P                  ! 4       n        ^p R # r   )rl   rn   rp   )linenos    r   r   0TraceTestCase.test_17_none_f_trace.<locals>.func  s    &*CMMO#Fr   Nr!  r"  r'  r   s   & r   test_17_none_f_trace"TraceTestCase.test_17_none_f_trace  s$    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  ^      \         h  \          d   p h Rp ? ii ; i  \          d     R# i ; i	SomethingNrf   )r   r8   r_   s      r   r   4TraceTestCase.test_18_except_with_name.<locals>.func	  s7    $#O  $$  s   	  ,,N)
r!  r"  r3  r#  r$  	exceptionr5  r}   r      r   	   r   )rR  r&  r'  r   s   & r   test_18_except_with_name&TraceTestCase.test_18_except_with_name  s    		 	T	
	r   c                4    R  pV P                  V. RO4       R# )c                  H      \         h  R p i ; i  \          d    ^p R# i ; irI  rf   )r_   r~   s     r   r   7TraceTestCase.test_19_except_with_finally.<locals>.func!  s+    $#O#A s   	  !!N)	r!  r"  r3  r#  rL  rN     r      r   r[  r&  r'  r   s   & r   test_19_except_with_finally)TraceTestCase.test_19_except_with_finally   s    	 	T		r   c                  aa  ! R  R4      oV3R loV3R lpV P                  4       p. RNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNp V! VP                  4       V P                  SP                  P
                  VP                  V4       R#   \         d     L@i ; i)c                   2   a  ] tR tRt o R tR tR tRtV tR# )BTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapperi6  c                &    \        V4      V n        R # r   )iter_it)r   objs   &&r   r   KTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__init__7  s    9r   c                    V # r   r6   r   s   &r   	__aiter__LTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__aiter__:      r   c                `   "    \        V P                  4      #   \         d    \        hi ; i5ir   )nextrd  StopIterationStopAsyncIterationr   s   &r   	__anext__LTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__anext__=  s,     ->)$ -,,-s   . .+.)rd  N)	r"   r#   r$   r%   r   rh  ro  r&   r'   r(   s   @r   AsyncIteratorWrapperra  6  s     %- -r   rq  c                  F   <"   S! R 4        Rj  xL
  p T pK   L	D
^*pR# 5i)abcNr6   )letterr8   r_   rq  s      r   
doit_async8TraceTestCase.test_20_async_for_loop.<locals>.doit_asyncC  s,      4U ;  f ;As   	!!!c                    < S! 4       p \         P                  ! V 4       VP                  R 4       \         P                  ! R 4       R #   \         P                  ! R 4       i ; ir   )rl   rm   send)r   r8   ru  s   & r   run1TraceTestCase.test_20_async_for_loop.<locals>.runH  s?    A#V$tT"T"s   'A	 	A!Nr!  r"  )ird   )r   )r{  r&  ird   r   r~  r&  rd   r   r   r  r&  rL   rM  r3  r  rM  r   r   r  rM  r  r&  r#  r%  )r   r   rg   r   r   r   r   )r   ry  r   r   rq  ru  s   &   @@r   test_20_async_for_loop$TraceTestCase.test_20_async_for_loop5  s   	- 	-	
	# !!#((( ( 	(
  ( ( ( ( ( ( ( ( !( ( (  !(" #($ %(& '(( !)(* +(, -(. /(0 1(2 3(4 5(6 !7(8 9(: ;(< =(> ?(@ A(B "C(D E(F G(H "I(J K(L !M(N O(P Q(R	 	J//>>"MM6	3  		s   <C CCc                  a R  oV3R lpV P                  4       pV! 4       p \        P                  ! VP                  4       VP	                  R4       \        P                  ! R4       . ROpV P                  VP                  P                  VP                  V4       R#   \
         d     LZi ; i  \        P                  ! R4       i ; i)c                <   "   \        V 4       F  pV5x  K
  	  R # 5ir   rY   )nr   s   & r   arangeGTraceTestCase.test_async_for_backwards_jump_has_no_line.<locals>.arange  s     1X s   c                  R   <"   S! ^4        Rj  xL
  p V ^d8  g   K   R#  LDR# 5ir$  Nr6   )r   r  s    r   r:  BTraceTestCase.test_async_for_backwards_jump_has_no_line.<locals>.f  s*     !!9  as79s    	'$"$''$'N)r!  r"  r  rd   r  r   r  r&  r  r3  r"  r  rd   r  r  r  r  r3  r"  r  r  r  r  r  r3  r"  r  r  r  r  r4  )
r   rl   rm   r   rx  rg   r   r   r   r   )r   r:  r   coror   r  s   &    @r   )test_async_for_backwards_jump_has_no_line7TraceTestCase.test_async_for_backwards_jump_has_no_line  s    		
 !!#s	LL&IIdO LL
< 	AJJ55"MM6	3G  		 LLs#   1B! !B/,B2 .B//B2 2C
c                4    R  pV P                  V. RO4       R# )c                       R # r   r6   r6   r   r   r   1TraceTestCase.test_21_repeated_pass.<locals>.func  s    r   Nr!  r"  r3  r-  r&  r'  r   s   & r   test_21_repeated_pass#TraceTestCase.test_21_repeated_pass  s    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  *     R F  p K  	  ^#     ^# ; i)rL   r6   r6   r   s    r   r   3TraceTestCase.test_loop_in_try_except.<locals>.func  s    ATs   	 Nr!  r"  r3  r#  r%  r'  r   s   & r   test_loop_in_try_except%TraceTestCase.test_loop_in_try_except  s    	 	T	r   c                <   a V3R  loV P                  S. RO4       R# )c                  N   <      S P                   R8X  d    R#     L; i  i ; iFFredN)r"   r   s   r   r   8TraceTestCase.test_try_except_no_exception.<locals>.func  s:      ==F* s   " " $N	r!  r"  r3  rX  rZ  r   r      r      r   r  r&  r'  r   s   &@r   test_try_except_no_exception*TraceTestCase.test_try_except_no_exception      	  	T		r   c                4    R  pV P                  V. RO4       R# )c                  N        \         h    M; i M  i ; i    M; iR #   i ; ir   rf   r6   r   r   r   6TraceTestCase.test_try_exception_in_else.<locals>.func  s>     #O	A
 Bs$     "  " $N)r!  r"  r3  r#  rZ  rO  )rP  rM  r  r     r   r  r  r'  r   s   & r   test_try_exception_in_else(TraceTestCase.test_try_exception_in_else  s    	  	T	r   c                4    R  pV P                  V. RO4       R# )c                  d    \        ^4       F  p \        ^4       F  pW,           pK  	  K  	  X^8H  # r-  rY   )r   jr[   s      r   r   -TraceTestCase.test_nested_loops.<locals>.func  s0    1XqAA "  6Mr   N)r!  r"  r3  r#  r3  r#  r3  r"  r3  r#  r3  r#  r3  r"  r5  r6  r&  r'  r   s   & r   test_nested_loopsTraceTestCase.test_nested_loops  s    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  \    ^^ .p V '       d   V P                  4       pV'       g   K"   V# ^cpV# rK   rB   )seqr  s     r   r   )TraceTestCase.test_if_break.<locals>.func*  s4    a&CGGI1 H Hr   N)r!  r"  r3  r#  r5  r3  r#  r5  rN  rO  rP  r&  r'  r   s   & r   test_if_breakTraceTestCase.test_if_break(  s    	 	T
	r   c                D    R  pT P                  T. ROR.,           4       R# )c                      Rw  rr# \        ^4       F  p ^p V^ 8  d    ^
p R# ^p ^
pK  	  R#   ^
pi ; i   ^p R# ; i)rL   N)rL   rL   rL   c   rY   )r[   cdr   s       r   r   6TraceTestCase.test_break_through_finally.<locals>.funcC  sY    $JA!
qAq5!   " s    6 	/6 /6 36 =N)r!  r"  r3  r#  r5  rN  rX  rO  r  r#  r5  rN  rX  rZ  r  r   r&  r'  r   s   & r   test_break_through_finally(TraceTestCase.test_break_through_finallyA  s/    	1 	T AO?OQ	Rr   c                D    R  pT P                  T. ROR.,           4       R# )c                      Rw  rr#p \        ^4       F  p ^p V^ 8  d    ^
pK  ^p^
pK  	  R#   ^
pi ; i   ^p R# ; i)rL   N)rL   rL   rL   rL   r  rY   )r[   r~   r  r  r   s        r   r   9TraceTestCase.test_continue_through_finally.<locals>.funcf  s[    *MA!
qAq5$   " s    6 	/6 /6 36 =N)r!  r"  r3  r#  r5  rN  rX  rO  r  r#  r5  rN  rX  rZ  r  r#  r%  r'  r   s   & r   test_continue_through_finally+TraceTestCase.test_continue_through_finallyd  s.    	1 	T  AN!P	Qr   c                4    R  pV P                  V. RO4       R# )c                        ^#   i ; ir  r6   r6   r   r   r   7TraceTestCase.test_return_through_finally.<locals>.func  s    s   Nr!  r"  r3  r5  r  r'  r   s   & r   test_return_through_finally)TraceTestCase.test_return_through_finally  s    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  Z      ^^ ,            ^
#   \          d     Li ; i  i ; i    ^
# ; ir  )r   r6   r   r   r   ;TraceTestCase.test_try_except_with_wrong_type.<locals>.func  sC    aC   "  s    	     "% *N)r!  r"  r3  r#  rL  r5  rZ  rO  rQ  r  r  r'  r   s   & r   test_try_except_with_wrong_type-TraceTestCase.test_try_except_with_wrong_type  s    
	 	T
	r   c                @   a R oV3R lpV P                  V. RO4       R# )Tc                  H   <   \         h  S'       d   ^p i i ; i   ^p  T # ; irK   rf   )result	conditions    r   r   9TraceTestCase.test_finally_with_conditional.<locals>.func  s1    ##O !" !Ms   
  !N)r!  r"  r3  r#  rL  rN  rX  rO  rQ  r  r  r'  )r   r   r  s   & @r   test_finally_with_conditional+TraceTestCase.test_finally_with_conditional  s&     	
	 	T
	r   c                4    R  pV P                  V. RO4       R# )c                  V    ^p ^.pV'       d   VP                  4        V '       d    K#  R# rO   rB   TRUEr8   s     r   r   3TraceTestCase.test_break_to_continue1.<locals>.func  s(    DA	 r   N)
r!  r"  r3  r#  r5  rN  rX  rZ  r#  r%  r'  r   s   & r   test_break_to_continue1%TraceTestCase.test_break_to_continue1  s    	 	T	
	r   c                4    R  pV P                  V. RO4       R# )c                  X    ^p ^.pV'       d   VP                  4        V '       d   K"  K$  R# rO   rB   r  s     r   r   3TraceTestCase.test_break_to_continue2.<locals>.func  s(    DA r   N)	r!  r"  r3  r#  r5  rN  rX  r#  r%  r'  r   s   & r   test_break_to_continue2%TraceTestCase.test_break_to_continue2  s    	 	T		r   c                4    R  pV P                  V. RO4       R# )c                  4    ^p V '       d   V '       d    R# R# R# rO   r6   )r  s    r   r   /TraceTestCase.test_break_to_break.<locals>.func  s    D r   N)r!  r"  r3  r#  r5  rN  r}   r&  r'  r   s   & r   test_break_to_break!TraceTestCase.test_break_to_break  s    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  <    ^;rV ^8X  d   V^8X  d   ^pR# ^pR# ^pR# rO   r6   )r[   r~   r8   r_   zs        r   r   +TraceTestCase.test_nested_ifs.<locals>.func  s&    IAAv6AAr   Nr!  r"  r3  r#  r5  r  r'  r   s   & r   test_nested_ifsTraceTestCase.test_nested_ifs  s    	 	T	r   c                P   aaa VVV3R  lpR;ooRoV P                  V. RO4       R# )c                     < S '       d%   S'       d   S'       d   \         '       d   R # R# R# R # \        '       d   \        '       d   R# R# R# )FTN)DEF)ABCs   r   r   4TraceTestCase.test_nested_ifs_with_and.<locals>.func%  s6    1#(   !qq r   TFNr  r'  )r   r   r  r  r  s   & @@@r   test_nested_ifs_with_and&TraceTestCase.test_nested_ifs_with_and#  s-    		 AT	r   c                4    R  pV P                  V. RO4       R# )c                  l    R p  ^^ ,           ^pR#   \          d    T R8X  d   \        4       h ^pR# i ; i)helloraiseN)ZeroDivisionError
ValueError)r8   r:  s     r   r   .TraceTestCase.test_nested_try_if.<locals>.func<  sD    A'! A % '<$,&  A's   	 33N	r!  r"  r3  r#  rL  r5  rN  rZ  r\  r'  r   s   & r   test_nested_try_if TraceTestCase.test_nested_try_if:      	 	T		r   c                P   a  ! R  R4      oV3R lpV P                  V. RO4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# ).TraceTestCase.test_if_false_in_with.<locals>.CiR  c                    V # r   r6   r   s   &r   r   8TraceTestCase.test_if_false_in_with.<locals>.C.__enter__S  rj  r   c                     R # r   r6   r   s   *r   r    7TraceTestCase.test_if_false_in_with.<locals>.C.__exit__U      r   r6   Nr"   r#   r$   r%   r   r    r&   r'   r(   s   @r   r  r&  R        r   r  c                  b   < S ! 4       ;_uu_ 4         RRR4       R#   + '       g   i     R# ; iFNr6   r  s   r   r   1TraceTestCase.test_if_false_in_with.<locals>.funcX  s        .	N)r!  r"  r  rd   r  r  r3  r"  r  r  r  r4  r'  )r   r   r  s   & @r   test_if_false_in_with#TraceTestCase.test_if_false_in_withP  s)    	 		
 	T
	r   c                4    R  pV P                  V. RO4       R# )c                  8     R#   \          d    \          R# i ; ir/  )rg   Xr6   r   r   r   7TraceTestCase.test_if_false_in_try_except.<locals>.funcl  s     s   Nr  r'  r   s   & r   test_if_false_in_try_except)TraceTestCase.test_if_false_in_try_exceptj  s    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                       ! R  R4      p R# )c                   4    ] tR tRt^^	8  d   ^tRtR# ^tRtR# )DTraceTestCase.test_implicit_return_in_class.<locals>.func.<locals>.Ai|  r6   N)r"   r#   r$   r%   r[   r&   r6   r   r   r  r?  |  s    q5AAr   r  Nr6   )r  s    r   r   9TraceTestCase.test_implicit_return_in_class.<locals>.func{  s     r   Nr!  r"  rL   rd   r"  r3  r#  r%  r4  r'  r   s   & r   test_implicit_return_in_class+TraceTestCase.test_implicit_return_in_classy  s    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  `      R #   \          d   p  R p ? R # R p ? ii ; i  \          d     R # i ; ir   rf   exs    r   r   +TraceTestCase.test_try_in_try.<locals>.func  s3       s     --Nr  r'  r   s   & r   test_try_in_tryTraceTestCase.test_try_in_try  s    	 	T	r   c                b    R  pV P                  V. RO4       R pV P                  V. RO4       R# )c                  h      \         h  \         d   p  R p ? R # R p ? ii ; i  \          d     R # i ; ir   )	TypeErrorr  rG  s    r   r   :TraceTestCase.test_try_in_try_with_exception.<locals>.func  s5    #O!     	 " " 11c                  h      \         h  \          d   p  R p ? R # R p ? ii ; i  \         d     R # i ; ir   r  rN  rG  s    r   r   rO    s6    $$!  rP  N	r!  r"  r3  r#  rL  r5  rX  rZ  r\  )r!  r"  r3  r#  rL  r5  rN  r  r'  r   s   & r   test_try_in_try_with_exception,TraceTestCase.test_try_in_try_with_exception  s:    	 	T			 	T	r   c                8    RR lpV P                  V. RO4       R# )r   c                 B    V'       d   V '       d   V'       d   R # R # R # R # r   r6   )r[   pr	  s   &&&r   r   /TraceTestCase.test_if_in_if_in_if.<locals>.func  s    	  r   N)r   rL   rL   r  r'  r   s   & r   test_if_in_if_in_if!TraceTestCase.test_if_in_if_in_if  s    	 	T	r   c                   a  ! R  R4      oV3R lpV3R lpV P                  V. RO4       V P                  V. RO4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )-TraceTestCase.test_early_exit_with.<locals>.Ci  c                    V # r   r6   r   s   &r   r   7TraceTestCase.test_early_exit_with.<locals>.C.__enter__  rj  r   c                     R # r   r6   r   s   *r   r    6TraceTestCase.test_early_exit_with.<locals>.C.__exit__  r+  r   r6   Nr,  r(   s   @r   r  r^    r-  r   r  c                  v   < R F  p S! 4       ;_uu_ 4         RRR4        R# 	  R#   + '       g   i     K4  ; irL   NrL   r-  r6   )r   r  s    r   
func_break6TraceTestCase.test_early_exit_with.<locals>.func_break  s0    SS S   SSs   '8c                  b   < S ! 4       ;_uu_ 4         R R R 4       R #   + '       g   i     R # ; ir   r6   r0  s   r   func_return7TraceTestCase.test_early_exit_with.<locals>.func_return  s     r2  N)r!  r"  r3  r3  r  r  r#  r3  r  r  r  r5  r  )r!  r"  )r{  rd   )r   )rk  r&  r3  r"  r|  r}  r  r4  r'  )r   rf  ri  r  s   &  @r   test_early_exit_with"TraceTestCase.test_early_exit_with  sE    	 			 	Z	 	[
	r   c                B   a R  oV3R lpV P                  V. RO4       R# )c                 `    V '       d    ^V ^,
          ,           V # V #   \          d     T # i ; irK   r  rP   s   &r   foo;TraceTestCase.test_flow_converges_on_same_line.<locals>.foo  s9    q1uI H1H ) Hs    --c                  <   < \        ^4       F  p S! V 4       K  	  R# r,  rY   )r   rq  s    r   r   <TraceTestCase.test_flow_converges_on_same_line.<locals>.func  s    1XA r   N)r!  r"  r3  r~  rd   ir   r  r  r"  r3  ru  rv  )r  r   r  )r  rM  r  r  r  r  r"  r4  r'  )r   r   rq  s   & @r    test_flow_converges_on_same_line.TraceTestCase.test_flow_converges_on_same_line  s$    		 	T	r   c                4    R  pV P                  V. RO4       R# )c                  b    ^ p  ^V ,           R#   \          d   pT '       d   h  Rp?R# Rp?ii ; i)r   Ndonerp  )r8   errors     r   r   CTraceTestCase.test_no_tracing_of_named_except_cleanup.<locals>.func+  s8    A!  %  s   	 .	).Nr   r'  r   s   & r   'test_no_tracing_of_named_except_cleanup5TraceTestCase.test_no_tracing_of_named_except_cleanup)  s    	 	T			r   c                P   a  ! R  R4      oV3R lpV P                  V. RO4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )DTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtxiA  c                    V # r   r6   r   s   &r   r   NTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtx.__enter__B  rj  r   c                    R # r   r6   )r   excinfos   &*r   r    MTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtx.__exit__D  r+  r   r6   Nr,  r(   s   @r   NullCtxr  A  r-  r   r  c                     <  S ! 4       ;_uu_ 4        ^^ ,           RRR4       R#   + '       g   i     R# ; i  \          d     R# i ; irO   rp  )r  s   r   r   ATraceTestCase.test_tracing_exception_raised_in_with.<locals>.funcG  s3    YYaC YYY$ s#   : 
&: 7	: : A	A	N)r!  r"  r3  r3  r  r  r#  rL  r3  r  r  r  r5  rN  r  r'  )r   r   r  s   & @r   %test_tracing_exception_raised_in_with3TraceTestCase.test_tracing_exception_raised_in_with?  s)    	 		 	T	r   c                <   a V3R  loV P                  S. RO4       R# )c                     <      S P                  R8X  d    R#   . ;\          ;e    NMN NM N6;f     L u i ; i  i ; ir  )rg   r"   r  s   r   r   =TraceTestCase.test_try_except_star_no_exception.<locals>.funca  sH      ==F*I  s   ? <<? ANr  r'  r   s   &@r   !test_try_except_star_no_exception/TraceTestCase.test_try_except_star_no_exception_  r  r   c                4    R  pV P                  V. RO4       R# )c                  j       R #   . ;\          ;e   p R p ? NM	R p ? N NM N6;f     L&u i ; i  i ; ir   rf   r   s    r   r   CTraceTestCase.test_try_except_star_named_no_exception.<locals>.func~  s0     I 
 s   0  --0 2N)r!  r"  r3  rX  rO  r  r'  r   s   & r   'test_try_except_star_named_no_exception5TraceTestCase.test_try_except_star_named_no_exception|  s    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  p     \        ^4      h  . ;\          ;e    NMN NM N6;f     Mu i ; iR#   i ; ir,  r  r6   r   r   r   ATraceTestCase.test_try_except_star_exception_caught.<locals>.func  s2     m#J 
 s    ..3 5Nr!  r"  r3  r-  rM  r#  r5  rO  r  r'  r   s   & r   %test_try_except_star_exception_caught3TraceTestCase.test_try_except_star_exception_caught      	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  |     \        ^4      h  . ;\          ;e   p Rp ? NM	Rp ? N NM N6;f     Mu i ; iR#   i ; ir,  r  r  s    r   r   GTraceTestCase.test_try_except_star_named_exception_caught.<locals>.func  s2     m#J 
 s     449 ;Nr  r'  r   s   & r   +test_try_except_star_named_exception_caught9TraceTestCase.test_try_except_star_named_exception_caught  r  r   c                4    R  pV P                  V. RO4       R# )c                        \        ^4      h  . ;\         ;e    NMN NM N6;f     R# u i ; i  \          d     R# i ; ir  rR  r6   r   r   r   ETraceTestCase.test_try_except_star_exception_not_caught.<locals>.func  s?    $Q-'	  s    003 3 AANrS  r'  r   s   & r   )test_try_except_star_exception_not_caught7TraceTestCase.test_try_except_star_exception_not_caught  r#  r   c                4    R  pV P                  V. RO4       R# )c                        \        ^4      h  . ;\         ;e   p Rp ? NM	Rp ? N NM N6;f     R# u i ; i  \          d     R# i ; ir  rR  r  s    r   r   KTraceTestCase.test_try_except_star_named_exception_not_caught.<locals>.func  s?    $Q-'	  s     669 9 AANrS  r'  r   s   & r   /test_try_except_star_named_exception_not_caught=TraceTestCase.test_try_except_star_named_exception_not_caught  r#  r   c                4    R  pV P                  V. RO4       R# )c                       \        R \        ^4      \        R4      .4      h  . ;\         ;e   p Rp ? MRp ? N M \         ;e    MN M \         ;e    h N NM N6;f     ^ # u i ; i  . ;\         ;eM     \        ^4      h  . ;\         ;e    MN M \         ;e   p Rp ? NM	Rp ? N NM N6;f     NMu i ; iN NM N6;f     ^ # u i ; i)egzbad typeN)ExceptionGroupr  rN  OSErrorr  s    r   r   7TraceTestCase.test_try_except_star_nested.<locals>.func  s    	(#A	*(=>@ @	  "  J #B-' !  so    # "A*A*A*A	
A*#A*$A- 'A- -C<BB?$B?8B?9C	:C<C	
CCN)r!  r"  r3  r#  r5  rN  r#  rL  rX  rZ  rO  r  r  r  )   r   r  )r  rM  )   r   )   r   )   r   )   r   )r  r&  r'  r   s   & r   test_try_except_star_nested)TraceTestCase.test_try_except_star_nested  s    	* 	T	r   c                4    R  pV P                  V. RO4       R# )c                       R   R# )c                     ^# r  r6   rP   s   &r   <lambda>ATraceTestCase.test_notrace_lambda.<locals>.func.<locals>.<lambda>  s    ar   Nr6   r6   r   r   r   /TraceTestCase.test_notrace_lambda.<locals>.func  s    r   Nr  r'  r   s   & r   test_notrace_lambda!TraceTestCase.test_notrace_lambda  s    	
 	T	r   c                4    R  pV P                  V. RO4       R# )c                       ! R  R4      p R# )c                   &   a  ] tR tRt o R tRtV tR# )PTraceTestCase.test_class_creation_with_docstrings.<locals>.func.<locals>.Class_1i)  c                    ^V n         R# r|   r[   r   s   &r   r   YTraceTestCase.test_class_creation_with_docstrings.<locals>.func.<locals>.Class_1.__init__+  s	    DFr   r  Nr"   r#   r$   r%   r   r&   r'   r(   s   @r   Class_1r  )  s      r   r  Nr6   )r  s    r   r   ?TraceTestCase.test_class_creation_with_docstrings.<locals>.func(  s     r   NrA  r'  r   s   & r   #test_class_creation_with_docstrings1TraceTestCase.test_class_creation_with_docstrings&  s    	 	T	r   c                4    R  pV P                  V. RO4       R# )c                  `    R  p V ! ^4      V ! \        ^.4      4       ! R R4      4       4       pR# )c                     R  pV# )c                     V # r   r6   )r  s   &r   _dec_TraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.decorator.<locals>._dec<  s    Hr   r6   )r   r  s   & r   	decoratorQTraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.decorator;  s    r   c                       ] tR tRtRtR# )PTraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.MyObjecti@  r6   N)r"   r#   r$   r%   r&   r6   r   r   MyObjectr  @  s    
 r   r  N)len)r  r  s     r   r   >TraceTestCase.test_class_creation_with_decorator.<locals>.func:  s:    
 q\QC  r   N)r!  r"  rX  rB  r3  r5  r  rZ  rO  rZ  rB  r3  r5  r  r  )rY  rd   rX  r  )r  r&  rZ  r-  rd   r#  r%  rX  r  r#  r%  r  r  r'  r   s   & r   "test_class_creation_with_decorator0TraceTestCase.test_class_creation_with_decorator9  s    	 	T $
 	r   c                  a	 \         P                  ! R 4      pR o	V	3R lp. ROp. pVP                  V4       V! 4        \        P                  ! R4       VP
                  P                  pV UUUu. uF  w  rgpWu,
          \        V,          3NK  	  ppppV P                  WC4       V P                  W#4       R# u upppi )	_testcapic               3      "   ^x  R# 5irO   r6   r6   r   r   genFTraceTestCase.test_no_line_event_after_creating_generator.<locals>.genn  s
     Gs   	c                  $   < S! 4        F  p K  	  R # r   r6   )_r  s    r   r   GTraceTestCase.test_no_line_event_after_creating_generator.<locals>.funcq  s       r   N)r!  r3  r  r  r  r"  r5  r3  )r  rd   r  r  )
r   import_modulesettrace_to_recordrl   rm   r   r   EVENT_NAMESassertEqualr   )
r   r  r   EXPECTED_EVENTSr   
start_linewhatr   r   r  s
   &        @r   +test_no_line_event_after_creating_generator9TraceTestCase.test_no_line_event_after_creating_generatorg  s    
 "//<			
  $$V,dfcll46H]]11
 &,
%+!S _k$/0%+ 	 
 	1T3
s   1!B:c                   a  ! R  R4      oV3R lp. ROpV P                  W4       \        ^d4       F
  pV! 4        K  	  V P                  W4       R# )c                   &   a  ] tR tRt o R tRtV tR# )GTraceTestCase.test_correct_tracing_quickened_call_class_init.<locals>.Ci  c                
    V  R # r   r6   r   s   &r   r   PTraceTestCase.test_correct_tracing_quickened_call_class_init.<locals>.C.__init__  s    r   r6   Nr  r(   s   @r   r  r    s      r   r  c                     < S ! 4        R # r   r6   r0  s   r   r   JTraceTestCase.test_correct_tracing_quickened_call_class_init.<locals>.func  s    Cr   Nr!  r"  r  r  r  r4  )r   rZ   )r   r   r  r  r  s   &   @r   .test_correct_tracing_quickened_call_class_init<TraceTestCase.test_correct_tracing_quickened_call_class_init  sJ    	 		 	T3sAF T3r   c                R  a R oV3R lp V\         P                  ! 4       n        \         P                  ! V4       \	        . 4       V P                  R4       \         P                  ! R4       R#   \         d   p^ pTP                  pT'       d=   TP                  P                  P                  R8X  d
   T^,          pTP                  pKD  T^ 8X  d   T P                  R4        Rp?LT^8  d   T P                  R4        Rp?LRp?ii ; i  \         P                  ! R4       i ; i)Fc                 0   < S'       g	   R o\         h\        # )T)rg   r|  )r   r   r   raiseds   &&&r   
error_once5TraceTestCase.test_settrace_error.<locals>.error_once  s    Lr   No exception raisedtest_settrace_errorTraceback is missing frame"Traceback has frame more than onceN)rl   rn   rp   rm   r  r   rg   __traceback__tb_framer   co_nametb_next)r   r  rH  counttbr  s   &    @r   r  !TraceTestCase.test_settrace_error  s    		&0CMMO#LL$G II+,LL  
	@E!!B;;%%--1FFQJEZZz		677		>?
	@ LLsB   ;A/ D /D:DAD$D )DD DD D&c                .   \         P                  ! R 4      p VP                  . 4       \        . 4       V P	                  R4       \        P                  ! R4       R#   \
         d   p^ pTP                  pT'       d=   TP                  P                  P                  R8X  d
   T^,          pTP                  pKD  T^ 8X  d   T P	                  R4        Rp?LT^8  d   T P	                  R4        Rp?LRp?ii ; i  \        P                  ! R4       i ; i)r  r  test_testcapi_settrace_errorr  r  N)r   r  settrace_to_errorr  r   rg   r  r  r   r  r  rl   rm   )r   r  rH  r	  r
  s   &    r   r  *TraceTestCase.test_testcapi_settrace_error  s     "//<		''+G II+,LL  
	@E!!B;;%%--1OOQJEZZz		677		>?
	@ LLsA   A C< C9(C4>AC4C< C4/C< 4C99C< <Dc                v    / p\        R RR,          : R2V4       VR,          p. ROpV P                  W#4       R# )zdef f():              # line 0
            x = 0                     # line 1
            y = 1                     # line 2
            r   zn                        # lines 3 through (1 << 16)
            x += 1                    #
            returnr:  Ni   )r!  r"  r3  )i  r   )  r   )r  r&  r<  )r   r  r:  r  s   &   r   test_very_large_function&TraceTestCase.test_very_large_function  sH    
 )),
 ./	0 cF
 	Q0r   )r   N)Sr"   r#   r$   r%   r   r   staticmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r  r  r  r(  r7  r?  rE  rS  r]  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r4  r:  rC  rJ  rT  rZ  rl  rw  r~  r  r  r  r  r  r  r  r  r  r  r  r   cpython_onlyr  r  r  r  r  r&   r'   r(   s   @r   r   r   f  s    6
  D308&&&&&%#",+')+E
>0*J3X23h	":@42!RF"QH6:..$(.,4&"'R",\"H,@:(,,,,-^&,\ )4 )4V4.:  01 1r   r   c                   B   a a ] tR tRt oV 3R lt]R 4       tRtVtV ;t	# )SkipLineEventsTraceTestCasei  c                r   < V Uu. uF  qD^,          R8w  g   K  VNK  	  pp\         SV `  WV4       R# u upi )rL   r   N)superr   )r   r   r   r   r   skip_line_events	__class__s   &&&&  r   r   *SkipLineEventsTraceTestCase.compare_events  s8    '6I!A$&.AAI{4DE Js   44c                     \        R R7      # )F)r   r   r6   r   r   r   'SkipLineEventsTraceTestCase.make_tracer  s    ..r   r6   )
r"   r#   r$   r%   r   r  r   r&   r'   __classcell__r  r)   s   @@r   r  r    s$     F / / /r   r  c                   \   a a ] tR tRt oV 3R lt]R 4       t]! 4       R 4       tRt	Vt
V ;t# )TraceOpcodesTestCasei  c                   < V Uu. uF  qD^,          R8w  g   K  VNK  	  pp\        V4      ^8  d'   V P                  \        V4      \        V4      RR7       \        SV `  WV4       R# u upi )rL   opcodez)No 'opcode' events received by the tracer)msgN)r  
assertLessr  r   )r   r   r   r   r   skip_opcode_eventsr  s   &&&&  r   r   #TraceOpcodesTestCase.compare_events  sf    )/DAQ483CaaDv;?OOC 23S[ K  M{P	 Es
   A*A*c                     \        R R7      # )T)r   r   r6   r   r   r    TraceOpcodesTestCase.make_tracer  s    $//r   c                4   \         P                  ! R 4      p\        P                  ! RRR7      pVP	                  VP                  R4      4       VP                  4         \        P                  ! \        P                  VP                  .\        P                  \        P                  R7      pVP                  4        VP                  P                  4       p\         P"                  ! VP                  4       VP                  P                  4        VP$                  P                  4        V P'                  RV4       R#   \         P"                  ! TP                  4       XP                  P                  4        TP$                  P                  4        i ; i)a  
            import sys

            def opcode_trace_func(frame, event, arg):
                if event == "opcode":
                    print("opcode trace triggered")
                return opcode_trace_func

            sys.settrace(opcode_trace_func)
            sys._getframe().f_trace = opcode_trace_func
            sys._getframe().f_trace_opcodes = True
            a = 1
        Fz.py)deletesuffixzutf-8)stdoutstderrs   opcode trace triggeredN)textwrapdedenttempfileNamedTemporaryFilewriteencodeclose
subprocessPopenrl   
executablenamePIPEwaitr.  readosremover/  assertIn)r   codetmprX  outs   &    r   !test_trace_opcodes_after_settrace6TraceOpcodesTestCase.test_trace_opcodes_after_settrace  s    
      ))uE		$++g&'			  #..#((!;JOO\f\k\klAFFH((--/CIIchhHHNNHHNN/5 IIchhHHNNHHNNs    A9E AFr6   )r"   r#   r$   r%   r   r  r   r   rD  r&   r'   r  r   s   @@r   r"  r"    s;     Q 0 0 6 6 6r   r"  c                   b   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )RaisingTraceFuncTestCasei=  c                l    V P                  \        P                  \        P                  ! 4       4       R # r   r   rl   rm   r   r   s   &r   r   RaisingTraceFuncTestCase.setUp>  s    clln5r   c                F    W P                   8X  d   \        hV P                  # r   )raiseOnEventr  r   r   s   &&&&r   r   RaisingTraceFuncTestCase.traceA  s      %%%::r   c                B    V P                   R 8X  d   ^ p^V,          pR# ^# rM  NrL  )r   r8   r_   s   &  r   r:  RaisingTraceFuncTestCase.fI  s#     +A!Ar   c                Z   Wn          \        \        P                  ! 4       ^,           4       FE  p\        P                  ! V P
                  4        V P                  4        V P                  R4       KG  	  R#   \         d     KY  i ; i  \         d    T P                  R4        R# i ; i)rL   zexception not raised!zrecursion counter not resetN)
rL  rZ   rl   getrecursionlimitrm   r   r:  r   r  rw   )r   r   r   s   && r   run_test_for_event+RaisingTraceFuncTestCase.run_test_for_eventR  s     "
	53002Q67TZZ(7FFH II56 8 "   	5II34	5s6   AB
 A8!B
 8BB
 BB
 
B*)B*c                (    V P                  R 4       R# )rd   NrT  r   s   &r   	test_call"RaisingTraceFuncTestCase.test_callc      'r   c                (    V P                  R 4       R# )r   NrW  r   s   &r   	test_line"RaisingTraceFuncTestCase.test_linee  rZ  r   c                (    V P                  R 4       R# )r&  NrW  r   s   &r   test_return$RaisingTraceFuncTestCase.test_returng  s    )r   c                (    V P                  R 4       R# rO  rW  r   s   &r   test_exception'RaisingTraceFuncTestCase.test_exceptioni  s    ,r   c                   aa R  oVV3R lo\         P                  ! S4        S! 4        V P                  R4       R#   \         d    ^ RIpTP
                  ! 4         R# i ; i)c                  @    \        ^4       F  p \        V 4       K  	  R# r|   )rZ   printr  s    r   r:  4RaisingTraceFuncTestCase.test_trash_stack.<locals>.fm  s    1Xa r   c                    < VR 8X  d8   V P                   SP                  P                  ^,           8X  d   \        R4      hS# )r   zi am crashing)r   r   r   rw   )r   whyextrar:  gs   &&&r   rk  4RaisingTraceFuncTestCase.test_trash_stack.<locals>.gq  s5    v!**";";a"??"?33Hr   zexception not propagatedN)rl   rm   r   rw   r   collect)r   r   r:  rk  s   & @@r   test_trash_stack)RaisingTraceFuncTestCase.test_trash_stackl  sP    		 	Q	2C II01  	JJL	s   >  A"!A"c                
  a a R  pVV 3R lo\         P                  ! 4       p \         P                  ! S4        V! 4        \         P                  ! V4       R#   \         d     L%i ; i  \         P                  ! T4       i ; i)c                  "    ^ p V P                    R# r   )no_such_attrrP   s    r   r:  <RaisingTraceFuncTestCase.test_exception_arguments.<locals>.f  s    ANNr   c                 L   < VR 8X  d   Vw  r4pSP                  V\        4       S# )rM  )assertIsInstancerg   )r   r   r   typerM  r   rk  r   s   &&&   r   rk  <RaisingTraceFuncTestCase.test_exception_arguments.<locals>.g  s*    $),&%%i;Hr   N)rl   r   rm   AttributeError)r   r:  existingrk  s   f  @r   test_exception_arguments1RaisingTraceFuncTestCase.test_exception_arguments  se    		 <<>	#LLO
 LL"	 "  LL"s(   A* A A'$A* &A''A* *Bc                  aa \        R 4      oVV3R loR pV P                  \         4      ;_uu_ 4       p\        P                  ! S4       V! 4        RRR4       V P	                  XP
                  S4       R#   + '       g   i     L.; i)zBOOM!c                 (   < VR 8X  d   ShRV n         S# )r   T)r   )r   r   r   rM  r   s   &&&r   r   RRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_event.<locals>.trace  s    $(E!Lr   c                      R # r   r6   r6   r   r   r:  NRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_event.<locals>.f  r   r   N)r  assertRaisesrl   rm   assertIsrM  )r   r:  caughtrM  r   s   &  @@r   *test_line_event_raises_before_opcode_eventCRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_event  s_    w'		
	z**fLLC + 	f&&	2 +*s   A99B		rP  N)r"   r#   r$   r%   r   r   r:  rT  rX  r\  r_  rb  rn  rz  r  r&   r'   r(   s   @r   rG  rG  =  sA     65"((*-2,#,3 3r   rG  c                   0   a  ] tR tRt o RR ltR tRtV tR# )
JumpTraceri  c                    VP                   V n        W n        W0n        W@n        V'       d   R MV P                  P
                  V n        RV n        R # )NF)r   rA  jumpFromjumpTor   r   	firstLiner{  )r   functionr  r  r   	decorateds   &&&&&&r   r   JumpTracer.__init__  s:    %%	 
!*		0H0H	r   c                d   V P                   '       d   R # V P                  f;   VP                  V P                  8X  d    VR8X  d   VP                  ^,
          V n        W P
                  8X  d   V P                  e   VP                  V P                  V P                  ,           8X  d^   TpVe*   VP                  V P                  8w  d   VP                  pK-  Ve+    V P                  V P                  ,           Vn        RV n         V P                  #   \         d    T P                  Tn         L1i ; i)Nr   T)r{  r  r   rA  r   r   r  ro   r  rN  r   )r   r   r   r   r:  s   &&&& r   r   JumpTracer.trace  s    999 NN"u||tyy'@"^^a/DNZZDNN$>$..4=="@@A-AHH		$9HH}1%)^^dkk%AEN !	zz ! 1%)[[EN1s   "D D/.D/)rA  r{  r   r  r  r  N)r   F)r"   r#   r$   r%   r   r   r&   r'   r(   s   @r   r  r    s      r   r  c                      V P                  ^4       R#   \         d)   pT P                  R\        T4      9   4        Rp?R# Rp?ii ; i)r-  integerN)r   r  r   r   r   s   & r   no_jump_to_non_integersr    s;    +a +i3q6)**+s    AAAc                       \         P                  ! 4       P                  p V P                  V n        \	        R 4      h  \
         d   pR\        T4      9  d   h  Rp?R# Rp?ii ; i)z'Trace-function-less jump failed to failr   N)rl   rn   ro   r   AssertionErrorr  r   )previous_framer   s     r   no_jump_without_trace_functionr    s]    
H//"0"9"9 FGG   #a&  !s   0= A$AA$c                     a  ] tR tRt o RtR tR tRR ltRR ltRR lt	RR	 lt
]	! ^^^.4      R
 4       t]	! ^^. RO4      R 4       t]	! ^^^.]]3R7      R 4       t]	! ^^. RO4      R 4       t]	! ^^^.4      R 4       t]	! ^^. RO4      R 4       t]	! ^^^^.]]3R7      R 4       t]	! ^^. RO4      R 4       t]
! ^^^^.4      ]R 4       4       t]
! ^^. RO4      ]R 4       4       t]	! ^^^.4      R 4       t]	! ^^. RO4      R 4       t]	! ^^	^^	.4      R 4       t]	! ^^^^.]R34      R 4       t]	! ^^^^.]R34      R 4       t]	! ^^^.]R34      R 4       t]	! ^^^^.4      R 4       t]	! ^^. RO4      R 4       t ]	! ^^^^.4      R 4       t!]
! ^^^^.4      R  4       t"]	! ^^. RO4      R! 4       t#]
! ^^. RO4      R" 4       t$]	! ^^^.4      R# 4       t%]	! ^^. RO4      R$ 4       t&]	! ^^^.4      R% 4       t']	! ^^. RO4      R& 4       t(]	! ^^. RO4      R' 4       t)]	! ^^. RO4      R( 4       t*]	! ^^. RO4      R) 4       t+]	! ^^. RO]]3R7      R* 4       t,]	! ^^. RO4      R+ 4       t-]
! ^^. RO4      R, 4       t.]	! ^^. RO4      R- 4       t/]
! ^^. RO4      R. 4       t0]	! ^^. RO4      R/ 4       t1]
! ^^. RO4      R0 4       t2]	! ^^. RO4      R1 4       t3]
! ^^. RO4      R2 4       t4]	! ^^. RO4      R3 4       t5]	! ^^. RO]]3R7      R4 4       t6]
! ^^. RO]]3R7      R5 4       t7]	! ^^. RO4      R6 4       t8]	! ^^. RO4      R7 4       t9]	! ^^^^.]]3R7      R8 4       t:]
! ^^^^.]]3R7      R9 4       t;]	! ^^^.]R34      R: 4       t<]	! ^R^.]R;34      R< 4       t=]	! ^^^.]R=34      R> 4       t>]	! ^^^.]R=34      R? 4       t?]	! ^^^.]R=34      R@ 4       t@]	! ^^^.]R=34      RA 4       tA]	! ^^. ]RB34      RC 4       tB]
! ^^. ]RB34      RD 4       tC]	! ^^^^.]RB34      RE 4       tD]
! ^^^^.]RF34      RG 4       tE]	! ^^. ]RH34      RI 4       tF]
! ^^. ]RH34      RJ 4       tG]	! ^^. RO]RH34      RK 4       tH]
! ^^. RO]RH34      RL 4       tI]	! ^^^^.4      RM 4       tJ]	! ^^. RO4      RN 4       tK]	! ^^^.4      RO 4       tL]	! ^^. RO4      RP 4       tM]	! ^^. RO]]3R7      RQ 4       tN]	! ^^^.4      RR 4       tO]	! ^^. RO4      RS 4       tP]	! ^^. RO4      RT 4       tQ]	! ^^. ]RU34      RV 4       tR]	! ^^. ]RU34      RW 4       tS]	! ^^. RO]RU34      RX 4       tT]	! ^^^.]RU34      RY 4       tU]	! ^^. RO4      RZ 4       tV]	! ^^. RO4      R[ 4       tW]	! ^^. RO4      R\ 4       tX]
! ^^. RO4      R] 4       tY]	! ^^^^.]R34      R^ 4       tZ]	! ^^^^.]RB34      R_ 4       t[]
! ^^^^.]RB34      R` 4       t\Ra t]Rb t^Rc t_Rd t`]	! ^^^.Re]Rf3Rg7      Rh 4       ta]	! ^^^.Ri]Rj3Rg7      Rk 4       tb]	! ^^^.Rl]Rj3Rg7      Rm 4       tc]	! ^^. RORiRn7      Ro 4       td]	! ^^^^.]]3R7      Rp 4       te]	! ^^. ]]3R7      Rq 4       tf]	! ^^. RO]]3R7      Rr 4       tg]
! ^^^^.]]3R7      Rs 4       th]
! ^^. ]]3R7      Rt 4       ti]
! ^^. RO]]3R7      Ru 4       tj]	! ^^. ]RH3Rv7      Rw 4       tk]	! ^^. ]RH3Rv7      Rx 4       tl]	! ^^. ]RH3Rv7      Ry 4       tm]	! ^^^^.]]3R7      Rz 4       tn]	! ^^. RO]]3R7      R{ 4       to]pP                  ! R|4      R} 4       tr]	! ^^^^.]]3R7      R~ 4       tsRttV tuR# )JumpTestCasei  z&assigning None to [0-9]+ unbound localc                    V P                  \        P                  \        P                  ! 4       4       \        P                  ! R 4       R # r   rI  r   s   &r   r   JumpTestCase.setUp  &    clln5Tr   c                    W!8w  dB   V P                  R\        V4      ,           R,           R,           \        V4      ,           4       R# R# )zOutputs don't match:
r   z
Received: NzOutputs don't match:
Expected: )r   repr)r   expectedreceiveds   &&&r   compare_jump_output JumpTestCase.compare_jump_output  sF    II $&*8n57;<#$&*8n5 6  r   Nc	                z   Tp	\        V	R 4      '       d   V	P                  p	K   \        WW6V4      p
\        P                  ! V
P
                  4       . p\        P                  ! 4       ;_uu_ 4       pVe    VP                  V P                  ! V!  4       Ve!   VP                  V P                  ! V!  4       M:VP                  \        P                  ! 4       4       \        P                  ! R4       V! V4       RRR4       \        P                  ! R4       V P                  WK4       R#   + '       g   i     L9; i)__wrapped__Nr|  )hasattrr  r  rl   rm   r   
contextlib	ExitStackenter_contextassertRaisesRegexassertWarnsRegexwarningscatch_warningssimplefilterr  r   r   r  r  r  r|  r   r  warningwrappedr   r   stacks   &&&&&&&&&    r   r   JumpTestCase.run_test  s    g}--))GGviHV\\"!!##u ##D$:$:E$BC"##D$9$97$CD##H$;$;$=>%%g.L $ 	T  2 $#s   /B
D**D:	c	                
   Tp	\        V	R 4      '       d   V	P                  p	K   \        WW6V4      p
\        P                  ! V
P
                  4       . p\        P                  ! 4       ;_uu_ 4       pVe    VP                  V P                  ! V!  4       Ve    VP                  V P                  ! V!  4       \        W4       RRR4       \        P                  ! R4       V P                  WK4       R#   + '       g   i     L9; i)r  N)r  r  r  rl   rm   r   r  r  r  r  r  r   r  r  s   &&&&&&&&&    r   run_async_testJumpTestCase.run_async_test  s    g}--))GGviHV\\"!!##u ##D$:$:E$BC"##D$9$97$CD!$/ $ 	T  2 $#s   /AC22D	c                (   a aaaaa VVVV VV3R  lpV# )c                 >   <a  \        S 4      VVVV VVV3R  l4       pV# )c                 :   < V P                  SSSSSSR SR7       R# T)r|  r   r  r  N)r   r   r|  r   r  r   r  r  r  s   &r   rF   7JumpTestCase.jump_test.<locals>.decorator.<locals>.test%  s'    dHfh$)$PW  Yr   r   r   rF   r|  r   r  r  r  r  s   f r   r  )JumpTestCase.jump_test.<locals>.decorator$  (    4[Y Y Y Kr   r6   r  r  r  r|  r   r  r  s   ffffff r   	jump_testJumpTestCase.jump_test       	 	 r   c                (   a aaaaa VVVV VV3R  lpV# )c                 >   <a  \        S 4      VVVV VVV3R  l4       pV# )c                 :   < V P                  SSSSSSR SR7       R# r  )r  r  s   &r   rF   =JumpTestCase.async_jump_test.<locals>.decorator.<locals>.test1  s)    ##D(FH$)$PW $ Yr   r   r  s   f r   r  /JumpTestCase.async_jump_test.<locals>.decorator0  r  r   r6   r  s   ffffff r   async_jump_testJumpTestCase.async_jump_test,  r  r   c                l    V P                  ^4       V P                  ^4       V P                  ^4       R# rO   r   r   s   &r   test_jump_simple_forwards&JumpTestCase.test_jump_simple_forwards:  &    aaar   c                J    V P                  ^4       V P                  ^4       R# rO   r  r  s   &r   test_jump_simple_backwards'JumpTestCase.test_jump_simple_backwards@      aar   r  c                Z    R pVf   V P                  ^4       R # V P                  ^4       R # r   r  r   r8   s   & r   test_jump_is_none_forwards'JumpTestCase.test_jump_is_none_forwardsE  s$    9MM!MM!r   c                z    R pVf   V P                  ^4       MV P                  ^4       V P                  ^4       R # r   r  r  s   & r   test_jump_is_none_backwards(JumpTestCase.test_jump_is_none_backwardsM  s0    9MM!MM!ar   c                Z    R pVe   V P                  ^4       R # V P                  ^4       R # r   r  r  s   & r   test_jump_is_not_none_forwards+JumpTestCase.test_jump_is_not_none_forwardsV  s$    =MM!MM!r   c                z    R pVe   V P                  ^4       MV P                  ^4       V P                  ^4       R # r   r  r  s   & r   test_jump_is_not_none_backwards,JumpTestCase.test_jump_is_not_none_backwards^  s0    =MM!MM!ar   c                    R F.  pV P                  ^4       R F  pV P                  ^4       K  	  K0  	  V P                  ^4       R# )rL   Nre  r$  r  r   r   r  s   &  r   test_jump_out_of_block_forwards,JumpTestCase.test_jump_out_of_block_forwardsg  s<    AMM!a    	ar   c                    V P                  ^4       R F?  pV P                  ^4       R F  pV P                  ^4       K  	  V P                  ^4       KA  	  V P                  ^4       R# )rL   NrK   r  r  r  s   &  r    test_jump_out_of_block_backwards-JumpTestCase.test_jump_out_of_block_backwardso  sT    aAMM!a  MM!	 
 	ar   c                   "   R F9  pV! ^^.4        Rj  xL
  pV P                  ^4       V P                  ^4       K.  	  R#  L-D.T P                  ^4       KU  5irL   NrK   r  r   r9   r   s   && r   )test_jump_out_of_async_for_block_forwards6JumpTestCase.test_jump_out_of_async_for_block_forwardsy  sW      A$aV, ! !aa a  !, MM!s%   AAAA*AAAc                   "   R FI  pV P                  ^4       V! ^.4        Rj  xL
  pV P                  ^4       V P                  ^4       K.  	  R#  L-D.T P                  ^4       Ke  5ir  r  r  s   && r   *test_jump_out_of_async_for_block_backwards7JumpTestCase.test_jump_out_of_async_for_block_backwards  s_      AMM!$aS> ! !aa a 	 !> MM!s%    A*AAA*A*AA*c                J    V P                  ^4       V P                  ^4       R# rO   r  r  s   &r   test_jump_to_codeless_line'JumpTestCase.test_jump_to_codeless_line  s    aar   c                l    V P                  ^4       V P                  ^4       V P                  ^4       R# rO   r  r  s   &r   test_jump_to_same_line#JumpTestCase.test_jump_to_same_line  r  r   c                    V P                  ^4       V P                  ^4        V P                  ^4       V P                  ^4       V P                  ^	4       R#   T P                  ^4       i ; i  T P                  ^4        T P                  ^4       T P                  ^4       M  T P                  ^4       i ; iT P                  ^	4       i ; ir,  r  r  s   &r   test_jump_in_nested_finally(JumpTestCase.test_jump_in_nested_finally  s    	MM!MM!!a a MM! a 	 MM!!a a a MM!s.   A0 A A-0CB&C&B99C c                     V P                  ^4       ^^ ,            V P                  ^4       V P                  ^4       R#   T P                  ^4       T P                  ^4       i ; ir,  r  r  s   &r   test_jump_in_nested_finally_2*JumpTestCase.test_jump_in_nested_finally_2  sQ    	MM!aCMM!MM! MM!MM!s   A $A%c                    V P                  ^4       ^^ ,            V P                  ^4        V P                  ^4       V P                  ^
4       V P                  ^4       R#   T P                  ^
4       i ; i  T P                  ^4        T P                  ^4       T P                  ^
4       M  T P                  ^
4       i ; iT P                  ^4       i ; ir,  r  r  s   &r   test_jump_in_nested_finally_3*JumpTestCase.test_jump_in_nested_finally_3  s    
	MM!aCMM!"a b!MM" b!	 MM!"a b!b!MM"s.   A: A$ $A7:CB0C0CCafterc                L    V P                  ^4        V P                  ^4       K  rK   r  r  s   &r    test_no_jump_infinite_while_loop-JumpTestCase.test_no_jump_infinite_while_loop  s    aMM!r   c                r    ^pV P                  ^4       V^8:  d   V P                  ^4       V^,          pK#  R# rO   r  r   r   s   & r   #test_jump_forwards_into_while_block0JumpTestCase.test_jump_forwards_into_while_block  s4    a1fMM!FA r   c                r    ^pV^8:  d   V P                  ^4       V^,          pK#  V P                  ^4       R# rO   r  r  s   & r   $test_jump_backwards_into_while_block1JumpTestCase.test_jump_backwards_into_while_block  s/    1fMM!FAar   c                    \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       V P                  ^4       R#   + '       g   i     L#; irO   r
   r   r  s   &r   $test_jump_forwards_out_of_with_block1JumpTestCase.test_jump_forwards_out_of_with_block  5    &!$$MM! %a %$   AA	c                   "   \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  V P                  ^4       R#  L8 L  + GRj  xL 
 '       g   i     L0; i5irO   r,   r   r  s   &r   *test_jump_forwards_out_of_async_with_block7JumpTestCase.test_jump_forwards_out_of_async_with_block  C     $VQ///MM! 0/a 0///G   A4AA4AA4AA4A4A1	A!
A1	*A1	,A4c                    V P                  ^4       \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       R#   + '       g   i     R# ; irO   r   r
   r  s   &r   %test_jump_backwards_out_of_with_block2JumpTestCase.test_jump_backwards_out_of_with_block  6    a&!$$MM! %$$$   AA	c                   "   V P                  ^4       \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  R#  L' L  + GRj  xL 
 '       g   i     R# ; i5irO   r   r,   r  s   &r   +test_jump_backwards_out_of_async_with_block8JumpTestCase.test_jump_backwards_out_of_async_with_block  A     a$VQ///MM! 0/////J   *A5AA5AA5AA5A5A2	A!
A2	*A2	,	A5c                     V P                  ^4       V P                  ^4       V P                  ^4       R#   T P                  ^4       i ; ir,  r  r  s   &r   +test_jump_forwards_out_of_try_finally_block8JumpTestCase.test_jump_forwards_out_of_try_finally_block  ;    	MM!MM!a MM!	   7 A
c                    V P                  ^4        V P                  ^4       V P                  ^4       R#   T P                  ^4       i ; irO   r  r  s   &r   ,test_jump_backwards_out_of_try_finally_block9JumpTestCase.test_jump_backwards_out_of_try_finally_block  8    a	MM!MM!FMM!	   7 A
c                z     V P                  ^4       T P                  ^4       R#    T P                  ^4       h ; ir,  r  r  s   &r   *test_jump_forwards_out_of_try_except_block7JumpTestCase.test_jump_forwards_out_of_try_except_block  7    	MM! 	a	MM!   & :c                z    V P                  ^4        V P                  ^4       R#    T P                  ^4       h ; irO   r  r  s   &r   +test_jump_backwards_out_of_try_except_block8JumpTestCase.test_jump_backwards_out_of_try_except_block	  5    a	MM!	MM!   & :c                     ^^ ,           V P                  ^4       R#   \          d&    T P                  ^4       T P                  ^4        LB\         d    T P                  ^4        L_i ; irO   r  r   FloatingPointErrorr  s   &r   test_jump_between_except_blocks,JumpTestCase.test_jump_between_except_blocks	  sY    	aC 	a ! 	MM!MM!! 	MM!	s   	 -A+A+A+*A+c                     ^^ ,           V P                  ^4       V P                  ^4       R#   \          d&    T P                  ^4       T P                  ^4        LSi ; i  T P                  ^4       i ; irO   )r  r   r  s   &r    test_jump_from_except_to_finally-JumpTestCase.test_jump_from_except_to_finally	  s`    	aC
 MM!a ! 	MM!MM!	 MM!s!   	/ -AA" AA" "A5c                     ^^ ,           T P                  ^4       R#    T P                  ^4       T P                  ^4       T P                  ^4        LJ; irO   r  r  s   &r   test_jump_within_except_block*JumpTestCase.test_jump_within_except_block&	  sG    	aC
 	a		MM!MM!MM!s	   	 5Ac                    V P                  ^4        ^^ ,           ^*pR#   \         d   pT P                  ^4        Rp?^*pR# Rp?ii ; irO   r   r  )r   r   r8   s   &  r   test_jump_over_try_except&JumpTestCase.test_jump_over_try_except0	  sG    a	E  ! 	MM!	s   	  A	AA	c                .   V P                  ^4       \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       R#   + '       g   i     L@; i  + '       g   i     R# ; irO   r  r  s   &r   test_jump_across_with"JumpTestCase.test_jump_across_with9	  `    a&!$$MM! %&!$$MM! %$ %$$$$   A0B0B 	B	c                  "   V P                  ^4       \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  R#  Le LF  + GRj  xL 
 '       g   i     L]; i LG L(  + GRj  xL 
 '       g   i     R# ; i5irO   r!  r  s   &r   test_jump_across_async_with(JumpTestCase.test_jump_across_async_withA	  w     a$VQ///MM! 0/$VQ///MM! 0// 0///////   *CBCBCBC*B2+C.B6 CB4CCB/	B
B/	(B/	*	C4C6C	<B?=
C	C	
	Cc                    V P                  ^4       R FB  p\        V ^4      ;_uu_ 4        V P                  ^4       RRR4       V P                  ^4       KD  	  V P                  ^4       R#   + '       g   i     L8; ir  r  r  s   & r   ,test_jump_out_of_with_block_within_for_block9JumpTestCase.test_jump_out_of_with_block_within_for_blockI	  sY    aAfa((a  )MM!  	a )(s   A--A=c           	     B  "   V P                  ^4       R FR  p\        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  V P                  ^4       KT  	  V P                  ^4       R#  LM L.  + GRj  xL 
 '       g   i     LE; i5ir  r!  r  s   & r   2test_jump_out_of_async_with_block_within_for_block?JumpTestCase.test_jump_out_of_async_with_block_within_for_blockR	  sg     aA(333a  43MM!  	a 4333sJ   /BA?
BBBB-BBB	B

BBBc           	     N   V P                  ^4       \        V ^4      ;_uu_ 4        \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       V P                  ^4       RRR4       V P                  ^4       R#   + '       g   i     L<; i  + '       g   i     L6; irO   r  r  s   &r   -test_jump_out_of_with_block_within_with_block:JumpTestCase.test_jump_out_of_with_block_within_with_block[	  sj    a&!$$fa((a  )MM! % 	a )( %$s"   BB	BBBB$	c           
       "   V P                  ^4       \        V ^4      ;_uu_ 4        \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  V P                  ^4       RRR4       V P                  ^4       R#  LQ L2  + GRj  xL 
 '       g   i     LI; i  + '       g   i     LC; i5irO   )r   r
   r,   r  s   &r   3test_jump_out_of_async_with_block_within_with_block@JumpTestCase.test_jump_out_of_async_with_block_within_with_blockd	  sx     a&!$$(333a  43MM! % 	a 4333 %$sj   &CB3BB3B	B3"B#B38CB3B3B0B 
B0)B0+B33C	>Cc           	         V P                  ^4       \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       V P                  ^4       V P                  ^4       R#   + '       g   i     L4; i  \        T ^4      ;_uu_ 4        T P                  ^4       RRR4       M  + '       g   i     M; iT P                  ^4       i ; ir,  r  r  s   &r   0test_jump_out_of_with_block_within_finally_block=JumpTestCase.test_jump_out_of_with_block_within_finally_blockm	  s    	MM!fa((a  )MM!a )(fa((a  )(((MM!s.   A8 A%%A5	8CB(		C(B83Cc           
       "    V P                  ^4       \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  V P                  ^4       V P                  ^4       R#  LI L*  + GRj  xL 
 '       g   i     LA; i  \        T ^4      ;_uu_4       GRj  xL 
  T P                  ^4       RRR4      GRj  xL 
  M  + GRj  xL 
 '       g   i     M; iT P                  ^4       i ; i5ir,  r!  r  s   &r   6test_jump_out_of_async_with_block_within_finally_blockCJumpTestCase.test_jump_out_of_async_with_block_within_finally_blockw	  s     	MM!(333a  43MM!a 4333(333a  433333MM!s   D
B D
A7D
A;D
A9)D
9D
;B	B
B	B	D
D0B31D5C	DCDC2C" 
C2+C2-DD
c                X   V P                  ^4       R Fk  pV P                  ^4       R F@  pV P                  ^4        R F  pV P                  ^4       K  	  V P                  ^
4       KB  	  V P                  ^4       Km  	  V P                  ^4       R#   T P                  ^
4       i ; i)rL   NrK   re  r  )r   r   r  ks   &   r   &test_jump_out_of_complex_nested_blocks3JumpTestCase.test_jump_out_of_complex_nested_blocks	  s    aAMM!a &#a( $ MM"%  MM"  	b MM"%s   BB)c                    V P                  ^4       \        V ^4      ;_uu_ 4       pV P                  ^4       RRR4       V P                  ^4       R#   + '       g   i     L#; irO   r  r  s   & r    test_jump_out_of_with_assignment-JumpTestCase.test_jump_out_of_with_assignment	  sF    a&!$$MM! % 	a %$s   AA#	c                  "   V P                  ^4       \        V ^4      ;_uu_4       GRj  xL
 pV P                  ^4       RRR4      GRj  xL
  V P                  ^4       R#  L8 L  + GRj  xL 
 '       g   i     L0; i5irO   r!  r  s   & r   &test_jump_out_of_async_with_assignment3JumpTestCase.test_jump_out_of_async_with_assignment	  sT     a$VQ///MM! 0/ 	a 0///sJ   *BA%BA)BA'B'B)B	/A20
B	;B	=Bc                   V P                  ^4        V P                  ^4       V '       g    V P                  ^4       R# V P                  ^4       V P                  ^4       V P                  ^	4       R#   T P                  ^4       i ; irO   r  r  s   &r   *test_jump_over_return_in_try_finally_block7JumpTestCase.test_jump_over_return_in_try_finally_block	  si    a	MM! MM! MM!MM!a MM!s   A5  A5 5Bc                \   V P                  ^4        V P                  ^4        V P                  ^4       V '       g    V P                  ^
4       M4V P                  ^4       V P                  ^
4       V P                  ^4        V P                  ^4       R#   T P                  ^
4       i ; irO   r  r  s   &r   )test_jump_over_break_in_try_finally_block6JumpTestCase.test_jump_over_break_in_try_finally_block	  s    aMM!"a  b! a b!MM"b b!s   B B B+c                    V P                  ^4       V '       g   R F  pV P                  ^4       K  	  M"V P                  ^4       V P                  ^4       V P                  ^4       R# rL   Nr  r  r  s   & r   $test_jump_over_for_block_before_else1JumpTestCase.test_jump_over_for_block_before_else	  M    aa   MM!MM!ar   c                   "   V P                  ^4       V '       g*   \        ^.4        Rj  xL
  pV P                  ^4       K  V P                  ^4       V P                  ^4       V P                  ^4       R#  LMDNL5irO   r   r9   r  s   & r   *test_jump_over_async_for_block_before_else7JumpTestCase.test_jump_over_async_for_block_before_else	  `     a$aS> ! !aa MM!MM!a!>&   &A>A<A:A<A
A>:A<<A>c                J    V P                  ^4       V P                  ^4       R# rO   r  r  s   &r   test_no_jump_too_far_forwards*JumpTestCase.test_no_jump_too_far_forwards	  r  r   beforec                J    V P                  ^4       V P                  ^4       R# rO   r  r  s   &r   test_no_jump_too_far_backwards+JumpTestCase.test_no_jump_too_far_backwards	  r  r   exceptc                X     V P                  ^4       R#    T P                  ^4       h ; ir,  r  r  s   &r   test_no_jump_to_except_1%JumpTestCase.test_no_jump_to_except_1	  s)    	MM!	MM!s    )c                l     V P                  ^4       R#   \         d    T P                  ^4       h i ; ir,  r   r  r  s   &r   test_no_jump_to_except_2%JumpTestCase.test_no_jump_to_except_2	  s1    	MM! 	MM!	s    3c                v     V P                  ^4       R#   \         d   pT P                  ^4       ThRp?ii ; ir,  r  r  s   & r   test_no_jump_to_except_3%JumpTestCase.test_no_jump_to_except_3	  s4    	MM! 	MM!G	s    838c                     V P                  ^4       R#   \        \        3 d   pT P                  ^4       ThRp?ii ; ir,  )r   r  rw   r  s   & r   test_no_jump_to_except_4%JumpTestCase.test_no_jump_to_except_4	  s9    	MM!L) 	MM!G	s    >9>intoc                \    V P                  ^4       R F  pV P                  ^4       K  	  R# rd  r  r  s   & r   $test_no_jump_forwards_into_for_block1JumpTestCase.test_no_jump_forwards_into_for_block	  s$    aAMM! r   c                   "   V P                  ^4       \        ^^.4        Rj  xL
  pV P                  ^4       K   LDR# 5irO   r{  r  s   & r   *test_no_jump_forwards_into_async_for_block7JumpTestCase.test_no_jump_forwards_into_async_for_block
  s@     a !Q( 	 	!MM!	(s#   AA >A AA  Ac                \    R F  pV P                  ^4       K  	  V P                  ^4       R# rd  r  r  s   & r   %test_no_jump_backwards_into_for_block2JumpTestCase.test_no_jump_backwards_into_for_block
  s$    AMM! ar   z&can't jump into the body of a for loopc                   "   \        ^^.4        Rj  xL
  pV P                  ^4       K   LDT P                  ^4       R# 5irO   )r9   r   r  s   & r   +test_no_jump_backwards_into_async_for_block8JumpTestCase.test_no_jump_backwards_into_async_for_block
  s=      !Q( 	 	!MM!	(as   A/-/A/Ar  c                    V P                  ^4       \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       R#   + '       g   i     R# ; irO   r  r  s   &r   %test_no_jump_forwards_into_with_block2JumpTestCase.test_no_jump_forwards_into_with_block
  r  r  c                   "   V P                  ^4       \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  R#  L' L  + GRj  xL 
 '       g   i     R# ; i5irO   r!  r  s   &r   +test_no_jump_forwards_into_async_with_block8JumpTestCase.test_no_jump_forwards_into_async_with_block
  r$  r%  c                    \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       V P                  ^4       R#   + '       g   i     L#; irO   r  r  s   &r   &test_no_jump_backwards_into_with_block3JumpTestCase.test_no_jump_backwards_into_with_block%
  r  r  c                   "   \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  V P                  ^4       R#  L8 L  + GRj  xL 
 '       g   i     L0; i5irO   r  r  s   &r   ,test_no_jump_backwards_into_async_with_block9JumpTestCase.test_no_jump_backwards_into_async_with_block+
  r  r  c                    V P                  ^4        V P                  ^4       V P                  ^4       R#   T P                  ^4       i ; irO   r  r  s   &r   )test_jump_forwards_into_try_finally_block6JumpTestCase.test_jump_forwards_into_try_finally_block1
  r.  r/  c                     V P                  ^4       V P                  ^4       V P                  ^4       R#   T P                  ^4       i ; ir,  r  r  s   &r   *test_jump_backwards_into_try_finally_block7JumpTestCase.test_jump_backwards_into_try_finally_block9
  r)  r*  c                z    V P                  ^4        V P                  ^4       R#    T P                  ^4       h ; irO   r  r  s   &r   (test_jump_forwards_into_try_except_block5JumpTestCase.test_jump_forwards_into_try_except_blockA
  r8  r9  c                z     V P                  ^4       T P                  ^4       R#    T P                  ^4       h ; ir,  r  r  s   &r   )test_jump_backwards_into_try_except_block6JumpTestCase.test_jump_backwards_into_try_except_blockJ
  r3  r4  c                     ^^ ,           V P                  ^4       R#   \          d&    T P                  ^4       T P                  ^4        LB\         d   pT P                  ^4        Rp?LbRp?ii ; irO   r;  r  s   & r   !test_jump_between_except_blocks_2.JumpTestCase.test_jump_between_except_blocks_2T
  s]    	aC 	a ! 	MM!MM!! 	MM!	s!   	 -A2A2A2A--A2c                    V P                  ^4        V P                  ^4       V P                  ^4       R#   T P                  ^4       i ; irO   r  r  s   &r   test_jump_into_finally_block)JumpTestCase.test_jump_into_finally_block_
  r.  r/  c                     V P                  ^4       V P                  ^4       V P                  ^4       V P                  ^4       V P                  ^4       R#   T P                  ^4       T P                  ^4       i ; ir,  r  r  s   &r   +test_jump_into_finally_block_from_try_block8JumpTestCase.test_jump_into_finally_block_from_try_blockg
  s_    	MM!MM!MM!MM!a MM!MM!s   "A $A=c                    V P                  ^4        V P                  ^4       V P                  ^4       R#   T P                  ^4       i ; irO   r  r  s   &r   test_jump_out_of_finally_block+JumpTestCase.test_jump_out_of_finally_blockq
  r.  r/  z9can't jump into an 'except' block as there's no exceptionc                ~    V P                  ^4        V P                  ^4       R#    T P                  ^4        R# ; irO   r  r  s   &r   #test_no_jump_into_bare_except_block0JumpTestCase.test_no_jump_into_bare_except_blocky
  s2    a	MM!	MM!s   & <c                    V P                  ^4        V P                  ^4       R#   \         d    T P                  ^4        R# i ; irO   r   rg   r  s   &r   (test_no_jump_into_qualified_except_block5JumpTestCase.test_no_jump_into_qualified_except_block
  s:    a	MM! 	MM!	s   & AAc                     V P                  ^4       V P                  ^4       T P                  ^4       R#    T P                  ^4       T P                  ^4       h ; ir,  r  r  s   &r   2test_no_jump_into_bare_except_block_from_try_block?JumpTestCase.test_no_jump_into_bare_except_block_from_try_block
  sO    	MM!MM!
 	a		MM!MM!s	   "7 %Ac                     V P                  ^4       V P                  ^4       T P                  ^4       R#   \         d%    T P                  ^4       T P                  ^4       h i ; ir,  rF  r  s   &r   7test_no_jump_into_qualified_except_block_from_try_blockDJumpTestCase.test_no_jump_into_qualified_except_block_from_try_block
  sY    	MM!MM!
 	a	 ! 	MM!MM!	s	   "7 /A&c                    V P                  ^4        V P                  ^4       ^^ ,           R#    T P                  ^4       T P                  ^4        R# ; irO   r  r  s   &r   "test_jump_out_of_bare_except_block/JumpTestCase.test_jump_out_of_bare_except_block
  sG    a	MM!aCC	MM!MM!s	   / $Ac                    V P                  ^4        V P                  ^4       ^^ ,           R#   \         d'    T P                  ^4       T P                  ^4        R# i ; irO   r  r  s   &r   'test_jump_out_of_qualified_except_block4JumpTestCase.test_jump_out_of_qualified_except_block
  sO    a	MM!aCC 	MM!MM!	s   / -A A c                .   V P                  ^4       \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       \        V ^4      ;_uu_ 4        V P                  ^4       RRR4       R#   + '       g   i     L@; i  + '       g   i     R# ; irO   r  r  s   &r   test_jump_between_with_blocks*JumpTestCase.test_jump_between_with_blocks
  rL  rM  c                  "   V P                  ^4       \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  \        V ^4      ;_uu_4       GRj  xL
  V P                  ^4       RRR4      GRj  xL
  R#  Le LF  + GRj  xL 
 '       g   i     L]; i LG L(  + GRj  xL 
 '       g   i     R# ; i5irO   r!  r  s   &r   #test_jump_between_async_with_blocks0JumpTestCase.test_jump_between_async_with_blocks
  rQ  rR  c                     V P                  ^4       V P                  ^4       V P                  ^4       R#   T P                  ^4       T P                  ^4       i ; ir,  r  r  s   &r   -test_no_jump_over_return_out_of_finally_block:JumpTestCase.test_no_jump_over_return_out_of_finally_block
  sJ    	MM!MM!MM! MM!MM!s	   7 $Ac                    V P                  ^4       V '       g   R F  pV P                  ^4       K  	  M"V P                  ^4       V P                  ^4       V P                  ^4       R# rv  r  r  s   & r   'test_no_jump_into_for_block_before_else4JumpTestCase.test_no_jump_into_for_block_before_else
  ry  r   c                   "   V P                  ^4       V '       g*   \        ^.4        Rj  xL
  pV P                  ^4       K  V P                  ^4       V P                  ^4       V P                  ^4       R#  LMDNL5irO   r{  r  s   & r   -test_no_jump_into_async_for_block_before_else:JumpTestCase.test_no_jump_into_async_for_block_before_else
  r~  r  c                8    V P                  \        ^RR.4       R# )r-  SpamTN)r   r  r   s   &r   test_no_jump_to_non_integers)JumpTestCase.test_no_jump_to_non_integers
  s    -q&4&Ar   c                    \        4        R # r   )r  r   s   &r   #test_no_jump_without_trace_function0JumpTestCase.test_no_jump_without_trace_function
  s
     	'(r   c                    / p\        R R: R2V4       VR,          pV P                  V^R^ .\        V P                  3R7       R# )zdef f(output):        # line 0
            x = 0                     # line 1
            y = 1                     # line 2
            '''                       # line 3
            z                        # lines 4-1004
            '''                       # line 1005
            x += 1                    # line 1006
            output.append(x)          # line 1007
            returnr:  i  r  Na  







































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































)r=  r   RuntimeWarningunbound_locals)r   r  r:  s   &  r   test_large_function JumpTestCase.test_large_function
  sL     %' )*	+ cFaD1#@S@S/TUr   c                  a \        R RR4      o ! V3R lR4      p\        V^^4      p\        P                  ! VP                  4       R. /p\        SV4       \        P                  ! R4       V P                  . ROVR,          4       R# )zd
# Comments don't count.
output.append(2)  # firstlineno is here.
output.append(3)
output.append(4)
z<fake module>r=  c                      < ] tR tRt Z tRtR# )<JumpTestCase.test_jump_to_firstlineno.<locals>.fake_functioni  r6   N)r"   r#   r$   r%   r   r&   )rA  s   r   fake_functionr    s    Hr   r  r   N)r-  r$  r-  r$  r6  )compiler  rl   rm   r   r=  r  )r   r  r   r>  rA  s   &   @r   test_jump_to_firstlineno%JumpTestCase.test_jump_to_firstlineno
  sw      
 f	 	M1a0V\\"rN	T9T  )H2EFr   rd   z5can't jump from the 'call' trace event of a new frame)r   r|  c                f   a  S P                  ^4       V 3R lpV! 4        S P                  ^4       R# )rL   c                  *   < S P                  ^4       R# r  r  r  s   r   nested3JumpTestCase.test_no_jump_from_call.<locals>.nested  s    MM!r   Nr  )r   r  s   f r   test_no_jump_from_call#JumpTestCase.test_no_jump_from_call  s'     	a	ar   r&  z'can only jump from a 'line' trace eventc                (    V P                  ^4       R# rO   r  r  s   &r   test_no_jump_from_return_event+JumpTestCase.test_no_jump_from_return_event  s     	ar   rM  c                :    V P                  ^4       ^^ ,           R# rO   r  r  s   &r   !test_no_jump_from_exception_event.JumpTestCase.test_no_jump_from_exception_event  s     	a	Ar   )r   c                V   a  V 3R  lp\        V! 4       4       S P                  ^4       R# )c               3   :   <"   S P                  ^4       ^x  R# 5ir,  r  r  s   r   r  .JumpTestCase.test_jump_from_yield.<locals>.gen#  s     MM!Gs   N)rl  r   )r   r  s   f r   test_jump_from_yield!JumpTestCase.test_jump_from_yield!  s    	 	SUar   c                    V P                  ^4       \        ^
4       Uu. uF  qNK  	  ppV P                  ^4       R# u upi rO   r   rZ   r   r   r8   s   &  r   test_jump_forward_over_listcomp,JumpTestCase.test_jump_forward_over_listcomp)  s7    ab	"	1Q	"a #s   
>c                J    ^p\        ^
4       Uu. uF  q"NK  	  pp^pR# u upi rO   rY   r   r[   r   r8   r  s   &    r    test_jump_backward_over_listcomp-JumpTestCase.test_jump_backward_over_listcomp1  s)    b	"	1Q	" #s   
 c                    R pV P                  ^4       V'       d   R# \        ^4       Uu. uF  q"NK  	  pp^pV P                  ^4       V P                  ^4       R# u upi r/  r  r   flagr   r8   s   &   r   #test_jump_backward_over_listcomp_v20JumpTestCase.test_jump_backward_over_listcomp_v27  sS    aa!1Q!aa "s   
Ac                   "   V P                  ^4       \        \        ^
4      4       Uu. u Rj  xL
 qNK   LDMu upi ppT P                  ^4       R# 5irO   r   r9   rZ   r  s   &  r   %test_jump_forward_over_async_listcomp2JumpTestCase.test_jump_forward_over_async_listcompB  s?     a'b	233Q333as&   (A<:8
:<:<Ac                t   "   ^p\        \        ^
4      4       Uu. u Rj  xL
 q"NK   LDMu upi pp^pR# 5irO   )r9   rZ   r  s   &    r   &test_jump_backward_over_async_listcomp3JumpTestCase.test_jump_backward_over_async_listcompH  s1     'b	233Q333s$   8-+)
+-+-8c                   "   R pV P                  ^4       V'       d   R# \        \        ^4      4       Uu. u Rj  xL
 q"NK   LDMu upi pp^pT P                  ^4       T P                  ^4       R# 5ir/  r  r  s   &   r   )test_jump_backward_over_async_listcomp_v26JumpTestCase.test_jump_backward_over_async_listcomp_v2N  s[     a'a122Q222aas1   4A5AAA
A AAA.A5)r|  c                    ^p\        V P                  ^4      4       V P                  ^4       V^
,           ^,            V P                  ^4       R# rO   rf  r   r   r[   s   & r   (test_jump_with_null_on_stack_load_global5JumpTestCase.test_jump_with_null_on_stack_load_globalZ  sN    MM!	
 	a 
  	br   c                    ^p\         pV! V P                  ^4      4       V P                  ^4       V^,           ^,            V P                  ^4       R# rO   r%  )r   r[   r:  s   &  r   &test_jump_with_null_on_stack_push_null3JumpTestCase.test_jump_with_null_on_stack_push_nullm  sS    	MM!	
 	a 
  	br   c                    ^p\         P                  V ^4       V P                  ^4       V^
,           ^,            V P                  ^4       R# rO   )listr   r&  s   & r   &test_jump_with_null_on_stack_load_attr3JumpTestCase.test_jump_with_null_on_stack_load_attr  sK    A	
 	a 
  	br   c                    V P                  ^4       V P                  ^4      ;'       g    REv  pV P                  ^4       R# rL   r  Nr  r   r  s   & r   (test_jump_extended_args_unpack_ex_simple5JumpTestCase.test_jump_extended_args_unpack_ex_simple  s6    a==#--vAqar   c                    V P                  ^4       V P                  ^4      ;'       g    REv  pV P                  ^4       R# r1  r  r2  s   & r   (test_jump_extended_args_unpack_ex_tricky5JumpTestCase.test_jump_extended_args_unpack_ex_tricky  s<    a MM!&&	
1ar   cpuc                    . ROR \        ^R4       4       ORNp/ p\        RP                  V4      V4       VR,          pV P                  V^R^R.\        V P
                  3R7       R# )	def f(output):c              3   .   "   T F  pR V R2x  K  	  R# 5i)z        output.append()Nr6   r   r   s   & r   r   @JumpTestCase.test_jump_extended_args_for_iter.<locals>.<genexpr>  s     G5F&qc+5F   i z    output.append(100_000)r   r:  r  N)r:  z    output.append(1)z    for _ in spam:)rZ   r=  r   r   r  r  )r   sourcer>  r:  s   &   r    test_jump_extended_args_for_iter-JumpTestCase.test_jump_extended_args_for_iter  sr    
 HU1g5FG	

 )
 	TYYv	*cNa!Wq'l^TM`M`<abr   c                    V P                  ^4       V P                  ^4      ;'       d    RpV P                  ^4       R# r1  r  r2  s   & r   test_jump_or_popJumpTestCase.test_jump_or_pop  s0    aMM!''ar   r6   )Nr   FN)Nr   N)rL   rL   r-  )r$  r}   rY  )r}   r}   rY  )rL   r$  r}   rL   r$  r}   rY  r[  )r-  r6  r-  r6  r}   rY  )rL   r-  r$  )r$  r$  r$  r}   r  )rL   r-  rL   r-  r$  r  )rL   rL   r$  r}   )rL   rL   r$  )r6  r[  rP  )r6  rY  r[  )rL   r}   rL   r}   )rL   r6  r}   r  )rL   r$  r}   rY  )rL   r-  r$  r}   r  rY  )r-  r6  rY  r[  )rL   r$  r}   r  r  )rL   r-  r}   )rL   rY  rP  rR  )rL   r$  rP  r   r  r  )rL   r-  r  )r-  r6  r-  r6  r}   )r-  r-  rY  )r-  rY  r[  )rL   r$  rL   r$  r}   )r-  r}   rY  )rL   r$  rY  rL   r$  rY  r[  )rL   r-  r}   r  )r-  r-  r}   )r-  r[  r-  )rL   r6  r6  r}   )vr"   r#   r$   r%   r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  rI   r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r"  r'  r,  r1  r6  r=  r@  rC  rG  rJ  rO  rT  rW  rZ  r]  r`  rc  rg  rj  rm  rp  rs  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r"  r'  r*  r.  r3  r6  r   requires_resourcerA  rD  r&   r'   r(   s   @r   r  r    s    >N63.3(

 q!aS 
 q!Y   q!aS>>"BC D q!Y   q!aS  q!Y   q!aVnn%EF G q!-. / QAq6"  # Q-.  / q!aS 
 q!Y   q!aV	 	 q!aV/45 6 q"q"g 1267 8 q!aS:w/0 1 q!aV  q!\" # q!aV 
 QAq6" #
 q!() *
 Q./ 0
 q!aS  q!\" # q!aS  q!Y   q!Y   q!Y   q!Y   q!\NN+KL M q!]# $ Q=) * q!\" # Q<( ) q!() * Q./ 0 q!\" # Q<( ) q"'( ) q!Y(HI J Q9~~.NO P q!\"	 #	 q!*+ , q!aVnn%EF G QAq6NN+KL M q!aS:w/0 1 q"qcJ12 3
 q!aS:x01 2 q!aS:x01 2 q!aS:x01 2 q!aS:x01 2 q!R*f-. /
 Q2
F34 5 q!aVj&12 3 QAq6J0X#YZ [
 q!R*g./ 0
 Q2
G45 6
 q!Z*g!67 8
 Q:
G'<= >
 q!aV  q!_% & q!aS  q!Y   q!Y(HI J q!aS  q!Y   q!_% & q!R*&abc d q!R*&abc d q!Y-h ij k q!aS:'bcd e q!*+ , q!*+ , q!]# $ Q=) * q!aVj'23 4 q!aVj&12 3 QAq6J#78 9B)
VG& q!aSz <8 /9 :: q!aS81: ;; q!aSJ84: ;; q!Yh/ 0 q!aVnn%EF G q!R..!AB C
 q!Y(HI J QAq6NN+KL M
 Q2'GH I
 Q9~~.NO P q!R
G45 6$ q!R
G45 6& q!R
G45 6" q!aVnn%EF G
 q!\NN+KL M u%c &c q!aVnn%EF Gr   r  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestExtendedArgsi  c                    V P                  \        P                  \        P                  ! 4       4       \        P                  ! R 4       R # r   rI  r   s   &r   r   TestExtendedArgs.setUp  r  r   c                   aa \        ^4       F
  pV! 4        K  	  R^ R^ R^ /oVV3R lo\        P                  ! S4       V! 4        \        P                  ! R4       S# )   rd   r   r&  c                 2   < SV;;,          ^,          uu&   S# rK   r6   )r   r   r   countsr   s   &&&r   r   ,TestExtendedArgs.count_traces.<locals>.trace  s    5MQMLr   N)rZ   rl   rm   )r   r   r  rN  r   s   && @@r   count_tracesTestExtendedArgs.count_traces  sS    rAF  !VQ!4	 	UTr   c           	         / pRp\        W!4       V P                  VR,          4      pV P                  VR^RRR^/4       R# )zdef f():
  (r:  rd   r   i-  r&  Na"  def f():
  (y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   ) = range(300))r=  rP  r  )r   nsrA  rN  s   &   r   test_trace_unpack_long_sequence0TestExtendedArgs.test_trace_unpack_long_sequence  sD    AT""2c7+&!VS(A!FGr   c           	     B   R pRP                  RP                  R \        V4       4       4      4      p\        V4       Uu/ uF	  pRV 2VbK  	  pp\        W$4       V P	                  VR,          4      pV P                  VR^RV^,          ^,           R^/4       R	# u upi )
i  zeif 1:
            def f():
                return (
                    {}
                )
        z
,
c              3   .   "   T F  pR V R2x  K  	  R# 5i)varr   Nr6   r=  s   & r   r   >TestExtendedArgs.test_trace_lots_of_globals.<locals>.<genexpr>  s     B\#aS\r?  rX  r:  rd   r   r&  N)formatr   rZ   r=  rP  r  )r   r	  rA  r   rS  rN  s   &     r   test_trace_lots_of_globals+TestExtendedArgs.test_trace_lots_of_globals  s    
 F7<<BU5\BBC 	 %*%L1LqA3ilL1T""2c7+&!VUQY]Ha!PQ 2s    Br6   N)
r"   r#   r$   r%   r   rP  rT  r[  r&   r'   r(   s   @r   rH  rH    s!      HR Rr   rH  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestEdgeCasesi  c                    V P                  \        P                  \        P                  ! 4       4       \        P                  ! R 4       R # r   rI  r   s   &r   r   TestEdgeCases.setUp  r  r   c                   a R  pR o ! V3R lR4      p\         P                  ! V! 4       4       \         P                  ! V4       V P                  \         P                  ! 4       S4       R# )c                      R # r   r6   r   s   *r   rq  *TestEdgeCases.test_reentrancy.<locals>.foo      r   c                      R # r   r6   r   s   *r   bar*TestEdgeCases.test_reentrancy.<locals>.bar  rd  r   c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )(TestEdgeCases.test_reentrancy.<locals>.Ai  c                    R # r   r6   )r   rD   s   &*r   __call__1TestEdgeCases.test_reentrancy.<locals>.A.__call__  r+  r   c                4   < \         P                  ! S4       R # r   r   )r   rf  s   &r   __del__0TestEdgeCases.test_reentrancy.<locals>.A.__del__  s    S!r   r6   N)r"   r#   r$   r%   rk  rn  r&   r'   )r)   rf  s   @r   r  ri    s     " "r   r  N)rl   rm   r  r   )r   rq  r  rf  s   &  @r   test_reentrancyTestEdgeCases.test_reentrancy  sI    			" 	" 	QSS-r   c                    R  p\         P                  ! V4       ?\         P                  ! \         P                  ! 4       4       R# )c                      R # r   r6   r   s   *r   rq  +TestEdgeCases.test_same_object.<locals>.foo  rd  r   N)rl   rm   r   )r   rq  s   & r   test_same_objectTestEdgeCases.test_same_object  s*    	 	SS\\^$r   r6   N)	r"   r#   r$   r%   r   rp  ru  r&   r'   r(   s   @r   r^  r^    s     .&% %r   r^  c                   &   a  ] tR tRt o R tRtV tR# )TestLinesAfterTraceStartedi  c                X   \        4       pVP                  \        P                  ! 4       n        \        P
                  ! VP                  4       ^p^p\        P
                  ! R4       V P                  \        P                  P                  P                  VP                  . RO4       R# )r6  N)r5  rN  rX  )r   r   rl   rn   rp   rm   r   rx  test_eventsr   r   r   )r   r   r   s   &  r   rz  &TestLinesAfterTraceStarted.test_events	  sp    "(,,V\\"T&22;;JJMM 	r   r6   N)r"   r#   r$   r%   rz  r&   r'   r(   s   @r   rx  rx    s      r   rx  c                   &   a  ] tR tRt o R tRtV tR# )TestSetLocalTracei  c                   aa VV3R  loRR lp. ROp. o\         P                  ! S4       S\         P                  ! 4       n        V! 4        V P	                  SV4       \         P                  ! R4       R# )c                    < V P                   P                  R 8X  dA   SV n        V P                  V P                   P                  ,
          pSP                  W134       S# r  )r   r  rp   r   r   r   )r   r   r   r   r   rr   s   &&& r   rr   7TestSetLocalTrace.test_with_branches.<locals>.tracefunc  sH    ||##v- )~~(C(CCtm,r   c                 D    ^pV ^8  d   ^pM^pV ^8  d   ^p^
pR# ^	p^
pR# rO   r6   )r   Nnot_reachedreachedthe_ends   &    r   r   2TestSetLocalTrace.test_with_branches.<locals>.func#  s7    Aaxax G Gr   NrK   )r!  r"  r3  rN  rX  rQ  r  r  )rl   rm   rn   rp   r  )r   r   r  r   rr   s   &  @@r   test_with_branches$TestSetLocalTrace.test_with_branches  sV    	
		
 Y"+1Tr   r6   N)r"   r#   r$   r%   r  r&   r'   r(   s   @r   r}  r}    s     % %r   r}  __main__r4  )r!  r"  r4  rN  r  )r!  r"  r3  r#  rN  r  )r!  r"  r3  r#  r5  rZ  r\  r  rX  )
r!  r"  r3  r#  rX  r3  r#  r5  r3  r  r  r  )r!  r"  r3  r  r  r  r  r  r#  r5  r  )r  r#  r5  r  r  )r!  r"  r3  r#  r5  rN  r5  rN  r5  rN  r5  rN  )r}   rM  rX  rZ  r\  )r!  r"  r3  r#  r5  r5  r5  r5  )r6  rM  rN  rX  )rY  r&  )
r!  r3  r  r  r  r  )r  rd   r  r  r  )rd   rM  r   r&  )@rF   r   unittestrl   r   r   	functoolsr   test.supportr   r   r   r  r>  r2  r0  r7  r  _testinternalcapiImportErrorr
   r,   r9   rI   rM   r   rQ   rS   rU   rW   r\   r`   rb   rd   rh   rj   rs   ru   rx   rz   r   r   r   r   r   r   r   TestCaser   r  r  r  r"  rG  r  r  r  r  rH  r^  rx  r}  r"   mainr6   r   r   <module>r     s     
  	  R R  	    
( 
(
( 
(
 
' 
' ' 

( 	% 
' 

$
 /$ ,_  ,  ) +  "+  	- )+6;
< )-89  ' 2N1H%% N1b,	/- 	/ 	.6= .6 .6bg3x00 g3\$ $N+HM8$$ M`*Rx(( *RZ%H%% %D "' 'T zMMO aa  s    H 	H'&H'