python (3.12.0)

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

ΑeNddlmZddlZddlZddlZddlZddlmZddlZddl	m
Z
ddlZejdGddZ
Gd	d
ZdZdZd
Zgde_dZgde_dZgde_dZgde_dZgde_dZgde_dZgde_dZdZgde_dZdZgde_d Zd!Zd"ge_d#Zd$Z gd%e _d&Z!gd'e!_d(Z"gd)e"_d*Z#gd+e#_d,Z$d-Z%gd.d/d0gd1zzd/d2gze%_Gd3d4Z&Gd5d6ejNZ(gd7Z)Gd8d9e(Z*ejVGd:d;e(Z,Gd<d=ejNZ-Gd>d?Z.d@Z/dAZ0GdBdCejNZ1GdDdEejNZ2GdFdGejNZ3GdHdIe(Z4GdJdKe(Z5e6dLk(rejnyy)M)supportNwraps)
import_helperT)modulec"eZdZdZdZdZdZy)tracecontextz/Context manager that traces its enter and exit.c ||_||_yNoutputvalueselfr
rs   J/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_sys_settrace.py__init__ztracecontext.__init__
cN|jj|jyrr
appendrrs r	__enter__ztracecontext.__enter__s4::&rcP|jj|jyrrrexc_infos  r__exit__ztracecontext.__exit__sDJJ;'rN)__name__
__module____qualname____doc__rrrrrr	r	s9'(rr	c"eZdZdZdZdZdZy)asynctracecontextz>Asynchronous context manager that traces its aenter and aexit.c ||_||_yrrrs   rrzasynctracecontext.__init__rrcVK|jj|jywrrrs r
__aenter__zasynctracecontext.__aenter__!s4::&s')cXK|jj|jywrrrs  r	__aexit__zasynctracecontext.__aexit__$sDJJ;'s(*N)rrr r!rr'r)r"rrr$r$sH'(rr$c$K|D]}|	yw)z0Convert an iterable to an asynchronous iterator.Nr")iterablexs  r	asynciterr-'s
sc.tfd}|S)NcKgfd}	|i|d|id{r!jd{r SS7'7#r"jd{7r!wwxYww)NcTt|}j|j|Sr)r-raclose)r+itcleanupss  rwrapped_asynciterz;clean_asynciter.<locals>.wrapper.<locals>.wrapped_asynciter0s"8$BOOBII&Irr-pop)argskwargsr4r3tests   @rwrapperz clean_asynciter.<locals>.wrapper-ss		'tKvK9JKK$hlln&&&L'$hlln&&&sSA1AAAA1AA1A1AA1A.#A&$A.,A..A1r)r9r:s` rclean_asynciterr;,s 
4[
'
'NrcyNr"r"rrbasicr?<sr)rcallr>liner>returncd}~	d}yr=r"r,s rarigo_example0rHKs	A	
	Ar)r@rBrCrCrCrNrEcd}~	d}yr=r"rGs rarigo_example1rQYs	A		Arcd}~	d}yr=r"rGs rarigo_example2rSgs	A	
r)r@rBrIrKrCrCrWrEcd}~d}yr=r"rGs rone_instr_linerZzs	A		Arr@rBrIrKrLrEc6d}tdD]	}|rd}d}yNr>rJrange)r,as  rno_pop_topsrbs'	A
1XAA	r)
r@rBrIrKrCrIrKrTrIrJrEc"d}|s	t|s	d}yr=)bla)yr,s  r
no_pop_blocksris	A	Arr@rBrIrTrUrEcd}yr=r"rGs rcalledrms	Arctyr)rmr"rrrArAs
Hr)r@rBrArCrrrErDctr	Exceptionr"rrraisesrws
Orc8	ty#t$rYywxYwr)rwrvr"rr
test_raiserys


s

	)r@rBrIrorqrr	exceptionrsrJr{rKrTrkcttj||tjj_yr)syssettrace	_getframef_backf_trace	tracefuncs r_settrace_and_returnrs"LL%.CMMO"rct|yr)rrs rsettrace_and_returnrs
#rrDc~tj||tjj_t
r)r~rrrrRuntimeErrorrs r_settrace_and_raisers(LL%.CMMO"
rc:	t|y#t$rYywxYwr)rrrs rsettrace_and_raisers!
I&

s	)r|rKrTrkc"d}d}||k(r|dz}yy)NrNr>r")rabs  rireturn_examplers	A	AAv
aCrr@rBrIrKrTrkcVtdd}	d}	||}|dz
}#t$rYywxYw)NrrLr>r`
IndexError)itemsirs   rtightloop_examplersB!QKE

aA!Q$!

s	(()r@rBrIrKrTrMrTrMrTrMrTrM)rNr{rcrVrXcJtdd}	d}||}#t$rYywxYw)Nr>rUrr)rrs  rtighterloop_examplers4!QKE

1Xa

s	"")r@rBrIrKrTrTrTrT)rUr{rMrcrdrEc#"K	d	y#wxYwwNTr"r"rrgenerator_functionr$s
	s
cNtt}tdD]}|}y)N
)anyrr`)r,rhs  rgenerator_exampler*s* !A2Y
r)
r@rIrArCrCrrE)rrArr{rCrrErMrcrrOc&eZdZddZdZdZdZy)TracerNc.||_||_g|_yr)trace_line_eventstrace_opcode_eventsevents)rrrs   rrzTracer.__init__As!2#6 rcz|j|j|_|j|j|_yyr)r
f_trace_linesrf_trace_opcodes)rframes  r_reconfigure_framezTracer._reconfigure_frameFs;!!-"&"8"8E##/$($<$<E!0rc|j||jj|j|f|jSrrrrf_linenotracerreventargs    rrzTracer.traceLs5&ENNE23zzrc|j|ddD|jj|j|f|jS)Nc3 K|]}|ywrr").0os  r	<genexpr>z)Tracer.traceWithGenexp.<locals>.<genexpr>Ssqsr>rrs    rtraceWithGenexpzTracer.traceWithGenexpQs=&CENNE23zzr)NN)rrr rrrrr"rrrr@s
=
rrceZdZdZdZedZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d(Z+d)Z,d*Z-d+Z.d,Z/d-Z0d.Z1d/Z2d0Z3d1Z4d2Z5d3Z6d4Z7d5Z8d6Z9d7Z:d8Z;d9Z<d:Z=d;Z>d<Z?d=Z@d>ZAd?ZBd@ZCdAZDdBZEdCZFdDZGdEZHeIjdFZKdGZLeIjdHZMdIZNyJ)K
TraceTestCasectj|_tj|j	t
jtjyr)gc	isenabledusing_gcdisable
addCleanupr~rgettracers rsetUpzTraceTestCase.setUp\s0



clln5rcF|jrtjyyr)rrenablers rtearDownzTraceTestCase.tearDownas==IIKrctS)z@Helper to allow test subclasses to configure tracers differentlyrr"rrmake_tracerzTraceTestCase.make_traceresxrc4|Dcgc]\}}|||z
nd|f}}}||k7rf|jddjtj|Dcgc]
}t	|c}|Dcgc]
}t	|c}zyycc}}wcc}wcc}w)Nz"events did not match expectation:

)failjoindifflibndiffstr)rline_offsetrexpected_eventsler,s       rcompare_eventszTraceTestCase.compare_eventsjsPVWfq!am1{?qAWW_$II5		'--(IAQ(I9?(@AQ(@BCC
D%X)J(@sB

B%Bc|j}tj|j|tjd|j	|j
j|j|yr)rr~rrr__code__co_firstlinenor)rfuncrtracers    rrun_and_comparezTraceTestCase.run_and_comparersT!!#V\\"TDMM88"MM6	3rc<|j||jyr)rrrrs  rrun_testzTraceTestCase.run_testzsT4;;/rc|j}||jtjd|j	|j
j|j|jyr)rrr~rrrrr)rrrs   r	run_test2zTraceTestCase.run_test2}sO!!#V\\TDMM88"MM4;;	8rcZtjdtjJyrr~rrrs rtest_set_and_retrieve_nonez(TraceTestCase.test_set_and_retrieve_nones T||~%%%rcd}tj|	tj|usJ	tjdy#tjdwxYw)Ncyrr"r7s rfnz4TraceTestCase.test_set_and_retrieve_func.<locals>.fnrr)rrs  rtest_set_and_retrieve_funcz(TraceTestCase.test_set_and_retrieve_funcsG		R	<<>R'''LLCLLsA		A c.|jtyr)rr?rs r
test_01_basiczTraceTestCase.test_01_basics

erc.|jtyr)rrHrs rtest_02_arigo0zTraceTestCase.test_02_arigo0

n%rc.|jtyr)rrQrs rtest_02_arigo1zTraceTestCase.test_02_arigo1rrc.|jtyr)rrSrs rtest_02_arigo2zTraceTestCase.test_02_arigo2rrc.|jtyr)rrZrs rtest_03_one_instrzTraceTestCase.test_03_one_instrrrc.|jtyr)rrirs rtest_04_no_pop_blocksz#TraceTestCase.test_04_no_pop_blockss

m$rc.|jtyr)rrbrs rtest_05_no_pop_topsz!TraceTestCase.test_05_no_pop_topss

k"rc.|jtyr)rrArs rtest_06_callzTraceTestCase.test_06_calls

drc.|jtyr)rryrs r
test_07_raisezTraceTestCase.test_07_raises

j!rc.|jtyr)rrrs rtest_08_settrace_and_returnz)TraceTestCase.test_08_settrace_and_returns*+rc.|jtyr)rrrs rtest_09_settrace_and_raisez(TraceTestCase.test_09_settrace_and_raises)*rc.|jtyr)rrrs rtest_10_ireturnzTraceTestCase.test_10_ireturns

o&rc.|jtyr)rrrs rtest_11_tightloopzTraceTestCase.test_11_tightloops

'(rc.|jtyr)rrrs rtest_12_tighterloopz!TraceTestCase.test_12_tighterloops

)*rcP|jt|j}tj|j
ttjd|j
tjj|jtjyr)
rrrr~rrrrrr)rrs  rtest_13_genexpzTraceTestCase.test_13_genexpsq

'(
!!#V++,T-66EE"MM+<+C+C	Erc2d}|j|gdy)Ncd}y)NFrr"rGs ronlinersz2TraceTestCase.test_14_onliner_if.<locals>.onlinerss
Qr)r@rBrKr\r)rrs  rtest_14_onliner_ifz TraceTestCase.test_14_onliner_ifs		

	rc`d}|j|gdd}|j|gdy)Nc$tdD]}yNrJr_rGs rfor_examplez0TraceTestCase.test_15_loops.<locals>.for_examples1X

r)r@rBrIrBrIrBrDc*d}|dkDr|dz}|dkDryy)NrJrr>r"rGs r
while_examplez2TraceTestCase.test_15_loops.<locals>.while_examples Aa%Qa%r)r@rIrKrTrKrTrKr\r)rrrs   r
test_15_loopszTraceTestCase.test_15_loopss<		

		
	

		rcNi}td||j|dgdy)Nadef f():
































































































































































































































































    passf)r@)rC)r"rEexecr)r	namespaces  rtest_16_blank_linesz!TraceTestCase.test_16_blank_liness,	
3Y?cN
	rc2d}|j|ddgy)Nc:dtj_d}yr)r~rr)linenos rrz0TraceTestCase.test_17_none_f_trace.<locals>.funcs&*CMMO#Frr@rBrrs  rtest_17_none_f_tracez"TraceTestCase.test_17_none_f_traces$		
T


	rc2d}|j|gdy)NcT		t#t$r}d}~wwxYw#t$rYywxYwrru)rr,rhs   rrz4TraceTestCase.test_18_except_with_name.<locals>.funcs7
$#O $$

s			'')
r@rBrIrKrLr{rTrMrC	rC)r1rErrs  rtest_18_except_with_namez&TraceTestCase.test_18_except_with_names			
T	

	rc2d}|j|gdy)NcB		t#d}wxYw#t$rd}YywxYw)N	Somethingru)rhrs  rrz7TraceTestCase.test_19_except_with_finally.<locals>.funcs+
$#O#A

s	
)	r@rBrIrKr-rMrcrVrXrrs  rtest_19_except_with_finallyz)TraceTestCase.test_19_except_with_finallys		
T
		rcGddfdfd}|j}gd}	||j|jjj
|j|y#t$rY=wxYw)NceZdZdZdZdZy)BTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapperc$t||_yr)iter_it)robjs  rrzKTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__init__)s
9rc|Srr"rs r	__aiter__zLTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__aiter__,rc\K	t|jS#t$rtwxYwwr)nextr=
StopIterationStopAsyncIterationrs r	__anext__zLTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__anext__/s-->)$-,,-s,,),N)rrr rr@rFr"rrAsyncIteratorWrapperr:(s
%

-rrGc@Kd23d{}|}76d}yw)Nabc*r")letterr,rhrGs   r
doit_asyncz8TraceTestCase.test_20_async_for_loop.<locals>.doit_async5s. 4U ;

f
 ;As	c}	tj||jdtjdy#tjdwxYwr)r~rsend)rr,rLs  rrunz1TraceTestCase.test_20_async_for_loop.<locals>.run:s?A
#V$tT"T"s&AA)(r@rB)irA)rC)rPrEirArCrSrErrrrr>r{rIrBrrrrrUrIrBrrrrrUrIrBrrrrrprCrqrzrsrUrKr\)rrrvrrrr)rrOrrrGrLs    @@rtest_20_async_for_loopz$TraceTestCase.test_20_async_for_loop's{	-	-	
	#!!#(R		
J//>>"MM6	3		sA00	A<;A<cdfd}|j}|}	tj|j|j	dtjdgd}|j
|jj|j|y#t
$rYVwxYw#tjdwxYw)Nc6Kt|D]}|	ywrr_)nrs  rarangezGTraceTestCase.test_async_for_backwards_jump_has_no_line.<locals>.arangets1X

scFKd23d{}|dkDsy76yw)NrLdr")rr[s rr!zBTraceTestCase.test_async_for_backwards_jump_has_no_line.<locals>.fws,!!9

as7
9s 	!!!!)r@rBrorqrrrUrIrBrrArqrrrUrIrBr^rqrrrUrIrBr^rqrsrUrD)
rr~rrrNrvrrrr)rr!rcororr[s     @r)test_async_for_backwards_jump_has_no_linez7TraceTestCase.test_async_for_backwards_jump_has_no_liness		
!!#s	LL&IIdO
LL
<	
AJJ55"MM6	3G		
LLs#0B	B)&B,(B))B,,Cc2d}|j|gdy)Nc	yrr"r"rrrz1TraceTestCase.test_21_repeated_pass.<locals>.funcsrr@rBrIrerrs  rtest_21_repeated_passz#TraceTestCase.test_21_repeated_passs		
T
	rc2d}|j|gdy)Nc"	dD]}y#YyxYw)Nr"r>rJr"rs rrz3TraceTestCase.test_loop_in_try_except.<locals>.funcs
!A!
s
r[rrs  rtest_loop_in_try_exceptz%TraceTestCase.test_loop_in_try_excepts		
T
	rc8fd|jgdy)NcL					jdk(r	y	y#YyxYw#wxYwNFred)rrsrrz8TraceTestCase.test_try_except_no_exception.<locals>.funcsF

==F*+
s!!!#	r@rBrIrcrVrrCrCrCrsrErrs @rtest_try_except_no_exceptionz*TraceTestCase.test_try_except_no_exception	 	
T
		rc2d}|j|gdy)NcN				t#YnxYw	n#wxYw	y#YyxYw#wxYwrrur"rrrz6TraceTestCase.test_try_exception_in_else.<locals>.funcsE

#O	A
BB
s(""$)r@rBrIrKrVr.)r/r{rorprCrrrtrrs  rtest_try_exception_in_elsez(TraceTestCase.test_try_exception_in_elses	 	
T
	rc2d}|j|gdy)NcVtdD]}tdD]}||z}	dk(S)NrJr>r_)rjras   rrz-TraceTestCase.test_nested_loops.<locals>.funcs<1X
qAAA
6Mr)r@rBrIrKrIrKrIrBrIrKrIrKrIrBrTrkrrs  rtest_nested_loopszTraceTestCase.test_nested_loopss		
T
	rc2d}|j|gdy)NcFddg}|r|j}|r	|S|rd}|S)Nr>rcr5)seqrZs  rrz)TraceTestCase.test_if_break.<locals>.funcs7a&CGGIH

Hr)r@rBrIrKrTrIrKrTrMr.r/rErrs  r
test_if_breakzTraceTestCase.test_if_breaks		
T

	rc<d}|j|gdddgzy)Ncd\}}}}	tdD]}	d}|dkDr	d}nd}d}|dk(r
|dk(r|dk(sJy#d}wxYw#d}YxYw)	N)r>r>r>rrLrNrrr/rzr>r_)racdrs    rrz6TraceTestCase.test_break_through_finally.<locals>.func5s|$JAq!Q

qAq5!6a2g!q&0&
s(A<A<AAAA	)r@rBrIrKrTrMrcr.rorKrTrMrcrVro
rCrrErrs  rtest_break_through_finallyz(TraceTestCase.test_break_through_finally3s/
	1	
T
^,
Q	Rrc<d}|j|gdddgzy)Ncd\}}}}}	tdD]}	d}|dkDr	d}d}d}	||||fdk(sJy#d}wxYw#d}YxYw)	N)r>r>r>r>rrJrNrrr/rz)rNr/rr>r_)rarrrrs     rrz9TraceTestCase.test_continue_through_finally.<locals>.funcXs|*MAq!Q

qAq5$q!Q<=000
s!>7>7>;>A)r@rBrIrKrTrMrcr.rorKrTrMrcrVrorKrrrrs  rtest_continue_through_finallyz+TraceTestCase.test_continue_through_finallyVs/
	1	
T
 ^,!
P	Qrc2d}|j|gdy)Nc		y#wxYwrr"r"rrrz7TraceTestCase.test_return_through_finally.<locals>.func|s
srjrrs  rtest_return_through_finallyz)TraceTestCase.test_return_through_finallyzs		
T
	rc2d}|j|gdy)Nc<	ddzy#t$rYywxYw#YyxYw)NrJrrd)rr"rrrz;TraceTestCase.test_try_except_with_wrong_type.<locals>.funcs0
!

s	)r@rBrIr|rKrcrrrs  rtest_try_except_with_wrong_typez-TraceTestCase.test_try_except_with_wrong_types		
T
	rc<dfd}|j|gdy)NTc<		t#rd}wwxYw#d}Y|SxYwNr>rLru)result	conditions rrz9TraceTestCase.test_finally_with_conditional.<locals>.funcs1
##O !"!
Ms
)r@rBrIrKr-rMrcr.r0rorrEr)rrrs  @rtest_finally_with_conditionalz+TraceTestCase.test_finally_with_conditionals&	
		
T

	rc2d}|j|gdy)Nc:d}dg}|r|j|r	yr=r5TRUEr,s  rrz3TraceTestCase.test_break_to_continue1.<locals>.funcs(DA	r)
r@rBrIrKrTrMrcrVrKr\rrs  rtest_break_to_continue1z%TraceTestCase.test_break_to_continue1s		
T	

	rc2d}|j|gdy)NcBd}dg}|r|j|rn|ryyr=r5rs  rrz3TraceTestCase.test_break_to_continue2.<locals>.funcs(DAr)	r@rBrIrKrTrMrcrKr\rrs  rtest_break_to_continue2z%TraceTestCase.test_break_to_continue2s		
T
		rc2d}|j|gdy)Ncd}|r|r	yyyr=r")rs rrz/TraceTestCase.test_break_to_break.<locals>.funcsDr)r@rBrIrKrTrMrOrrs  rtest_break_to_breakz!TraceTestCase.test_break_to_breaks		
T
	rc2d}|j|gdy)Nc0dx}}|dk(r|dk(rd}yd}yd}y)Nr>rUrdr/r")rarr,rhzs     rrz+TraceTestCase.test_nested_ifs.<locals>.funcs(IAAv6AArrrrs  rtest_nested_ifszTraceTestCase.test_nested_ifss		
T
	rcLfd}dxd|j|gdy)NcBrr	r	tryyyytrtryyy)NFT)DEF)ABCsrrz4TraceTestCase.test_nested_ifs_with_and.<locals>.funcs0#( 
qrTFr[r)rrrrrs  @@@rtest_nested_ifs_with_andz&TraceTestCase.test_nested_ifs_with_and
s-		AT
	rc2d}|j|gdy)NcXd}	ddzd}y#t$r|dk(r
tYd}ywxYw)NhellorLrraiserW)ZeroDivisionError
ValueError)r,r!s  rrz.TraceTestCase.test_nested_try_if.<locals>.func&sDA
'!A%
'<$,& A
's))	r@rBrIrKr-rTrMrVrXrrs  rtest_nested_try_ifz TraceTestCase.test_nested_try_if$		
T
		rcLGddfd}|j|gdy)NceZdZdZdZy).TraceTestCase.test_if_false_in_with.<locals>.Cc|Srr"rs rrz8TraceTestCase.test_if_false_in_with.<locals>.C.__enter__=rArcyrr"rs rrz7TraceTestCase.test_if_false_in_with.<locals>.C.__exit__?rNrrr rrr"rrrr<

rrc@5	dddy#1swYyxYwrr"rsrrz1TraceTestCase.test_if_false_in_with.<locals>.funcBs 



s)r@rBrrArrrIrBrorqrsrDr)rrrs  @rtest_if_false_in_withz#TraceTestCase.test_if_false_in_with:s)			
	
T

	rc2d}|j|gdy)Nc0	y#t$r	tYywxYwr)rvXr"rrrz7TraceTestCase.test_if_false_in_try_except.<locals>.funcVs


srcrrs  rtest_if_false_in_try_exceptz)TraceTestCase.test_if_false_in_try_exceptTs		
T
	rc2d}|j|gdy)NcGdd}y)Nc eZdZddkrdZydZy)DTraceTestCase.test_implicit_return_in_class.<locals>.func.<locals>.ArLr1r>rJN)rrr rar"rrrrfsq5AArrr")rs rrz9TraceTestCase.test_implicit_return_in_class.<locals>.funces

rr@rBr>rArBrIrKr\rDrrs  rtest_implicit_return_in_classz+TraceTestCase.test_implicit_return_in_classcs		
T
	rc2d}|j|gdy)NcR		y#t$r
}Yd}~yd}~wwxYw#t$rYywxYwrruexs rrz+TraceTestCase.test_try_in_try.<locals>.funcws3
 

s		&&r[rrs  rtest_try_in_tryzTraceTestCase.test_try_in_tryvs		
T
	rc`d}|j|gdd}|j|gdy)Nc\		t#t$r
}Yd}~yd}~wwxYw#t$rYywxYwr)	TypeErrorrrs rrz:TraceTestCase.test_try_in_try_with_exception.<locals>.funcs5
#O!

			++	r@rBrIrKr-rTrcrVrXc\		t#t$r
}Yd}~yd}~wwxYw#t$rYywxYwrrrrs rrz:TraceTestCase.test_try_in_try_with_exception.<locals>.funcs6
$$!

r)r@rBrIrKr-rTrMrOrrs  rtest_try_in_try_with_exceptionz,TraceTestCase.test_try_in_try_with_exceptions:		
T
				
T
	rc4dd}|j|gdy)Nc|r|r|ryyyyrr")raprs   rrz/TraceTestCase.test_if_in_if_in_if.<locals>.funcs	rrc)rr>r>rrs  rtest_if_in_if_in_ifz!TraceTestCase.test_if_in_if_in_ifs		
T
	rc~Gddfd}fd}|j|gd|j|gdy)NceZdZdZdZy)-TraceTestCase.test_early_exit_with.<locals>.Cc|Srr"rs rrz7TraceTestCase.test_early_exit_with.<locals>.C.__enter__rArcyrr"rs rrz6TraceTestCase.test_early_exit_with.<locals>.C.__exit__rrNrr"rrrrrrrcPdD]}5	dddyy#1swY!xYw)Nr>rJr")rrs r
func_breakz6TraceTestCase.test_early_exit_with.<locals>.func_breaks<
S

s%	c@5	dddy#1swYyxYwrr"rsrfunc_returnz7TraceTestCase.test_early_exit_with.<locals>.func_returns 



s)
r@rBrIrrrrKrIrorqrsrTrk)r@rB)rPrA)rC)rrErIrBrQrRrTrDr)rrrrs   @rtest_early_exit_withz"TraceTestCase.test_early_exit_withsE					
Z

		
[

	rc>dfd}|j|gdy)Nc@|r	d|dz
z|S|S#t$rY|SwxYwr=rrGs rfooz;TraceTestCase.test_flow_converges_on_same_line.<locals>.foos9q1uIH1H)Hs	c6tdD]
}|yrr_)rrs rrz<TraceTestCase.test_flow_converges_on_same_line.<locals>.funcs1X
A
r)r@rBrIrSrAirCrqrsrBrIrr)rrCr)rr{rrVrqrsrBrDr)rrrs  @r test_flow_converges_on_same_linez.TraceTestCase.test_flow_converges_on_same_lines$			
T
	rc2d}|j|gdy)NcFd}	d|zy#t$r
}|rYd}~yd}~wwxYw)Nrr>doner)r,errors  rrzCTraceTestCase.test_no_tracing_of_named_except_cleanup.<locals>.funcs8A
!%

s
	  rrrs  r'test_no_tracing_of_named_except_cleanupz5TraceTestCase.test_no_tracing_of_named_except_cleanups		
T			rcLGddfd}|j|gdy)NceZdZdZdZy)DTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtxc|Srr"rs rrzNTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtx.__enter__,rArcyrr")rexcinfos  rrzMTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtx.__exit__.rrNrr"rrNullCtxr+rrrch	5ddzdddy#1swYyxYw#t$rYywxYwNr>rr)rsrrzATraceTestCase.test_tracing_exception_raised_in_with.<locals>.func1s:
YaC$

s %%"%%	11)r@rBrIrrrrKr-rIrorqrsrTrMrOr)rrrs  @r%test_tracing_exception_raised_in_withz3TraceTestCase.test_tracing_exception_raised_in_with)s)				
T
	rc8fd|jgdy)Ncx					jdk(r	y#gxt%xnnnxYycYwxYw#wxYwrk)rvrrmsrrz=TraceTestCase.test_try_except_star_no_exception.<locals>.funcKsL

==F*
I

s74779rnrrs @r!test_try_except_star_no_exceptionz/TraceTestCase.test_try_except_star_no_exceptionIrvrc2d}|j|gdy)Nc^			y#gxt%x}d}~nd}~nnxYycYwxYw#wxYwrrurs rrzCTraceTestCase.test_try_except_star_named_no_exception.<locals>.funchs4

I


s*'**,)r@rBrIrcr.rrrs  r'test_try_except_star_named_no_exceptionz5TraceTestCase.test_try_except_star_named_no_exceptionfs		
T
	rc2d}|j|gdy)Ncb	td#gxt%xnnnxYycYwxYw#wxYwrrr"rrrzATraceTestCase.test_try_except_star_exception_caught.<locals>.func|s3
 m#
J


s
),,.r@rBrIr|rKrTr.rrrs  r%test_try_except_star_exception_caughtz3TraceTestCase.test_try_except_star_exception_caughtz		
T
	rc2d}|j|gdy)Ncn	td#gxt%x}d}~nd}~nnxYycYwxYw#wxYwrrrs rrzGTraceTestCase.test_try_except_star_named_exception_caught.<locals>.funcs3
 m#
J


s
/224rrrs  r+test_try_except_star_named_exception_caughtz9TraceTestCase.test_try_except_star_named_exception_caughtrrc2d}|j|gdy)Ncx		td#gxt%xnnnxYycYwxYw#t$rYywxYwNrLrr"rrrzETraceTestCase.test_try_except_star_exception_not_caught.<locals>.funcsA
$Q-'	A

s*--	99rrrs  r)test_try_except_star_exception_not_caughtz7TraceTestCase.test_try_except_star_exception_not_caughtrrc2d}|j|gdy)Nc		td#gxt%x}d}~nd}~nnxYycYwxYw#t$rYywxYwrrrs rrzKTraceTestCase.test_try_except_star_named_exception_not_caught.<locals>.funcsA
$Q-'	A

s033	??rrrs  r/test_try_except_star_named_exception_not_caughtz=TraceTestCase.test_try_except_star_named_exception_not_caughtrrc2d}|j|gdy)Nc		tdtdtdg#gxt%x}d}~nd}~nnt%xnnnt%xnxYycYwxYw#gxt%xF	td#gxt%xnnnt%x}d}~nd}~nnxYncYwxYwnnnxYycYwxYw)NegrNzbad typersr)ExceptionGrouprrOSErrorrs rrz7TraceTestCase.test_try_except_star_nested.<locals>.funcs
	(#A	*(=>@@	AA"
J
#B-'B!B
s? #0A"A		A"A%A%%C2A==,B.)B2	1C)r@rBrIrKrTrMrKr-rcrVr.rorpryrrr)rsr{)rC)rC)rC)rC)r)rErrs  rtest_try_except_star_nestedz)TraceTestCase.test_try_except_star_nesteds	*	
T
	rc2d}|j|gdy)Nc	dy)Ncyrr"rGs r<lambda>zATraceTestCase.test_notrace_lambda.<locals>.func.<locals>.<lambda>srr"r"rrrz/TraceTestCase.test_notrace_lambda.<locals>.funcs

rr[rrs  rtest_notrace_lambdaz!TraceTestCase.test_notrace_lambdas	
	
T
	rc2d}|j|gdy)NcGdd}y)NceZdZdZdZy)PTraceTestCase.test_class_creation_with_docstrings.<locals>.func.<locals>.Class_1z the docstring. 2cd|_y)z Another docstring. 4rNN)rars rrzYTraceTestCase.test_class_creation_with_docstrings.<locals>.func.<locals>.Class_1.__init__s	DFrN)rrr r!rr"rrClass_1r3s
'rr5r")r5s rrz?TraceTestCase.test_class_creation_with_docstrings.<locals>.funcs

rrrrs  r#test_class_creation_with_docstringsz1TraceTestCase.test_class_creation_with_docstringss		
T
	rc2d}|j|gdy)Nc^d}|d|tdgGdd}y)Ncd}|S)Nc|Srr")rs r_decz_TraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.decorator.<locals>._dec&sHrr")rr;s  r	decoratorzQTraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.decorator%srrdr/ceZdZy)PTraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.MyObjectN)rrr r"rrMyObjectr>*s
rr?)len)r<r?s  rrz>TraceTestCase.test_class_creation_with_decorator.<locals>.func$s:

q\
QC


r)r@rBrcrrIrTrkrVr.rVrrIrTrkro)rdrArcrp)rqrErVrJrArKr\rcrArKr\rorrrs  r"test_class_creation_with_decoratorz0TraceTestCase.test_class_creation_with_decorator#s		
T$
	rcn	tjd}d		fd}gd}g}|j||tjd|j
j}|Dcgc]\}}}||z
t|f}}}}|j|||j||ycc}}}w)N	_testcapic3Kdywr=r"r"rrgenzFTraceTestCase.test_no_line_event_after_creating_generator.<locals>.genXsGscD]}yrr")_rFs rrzGTraceTestCase.test_no_line_event_after_creating_generator.<locals>.func[s

r)r@rIrBrorqrsrTrB)rrrArsrD)
r
import_modulesettrace_to_recordr~rrrEVENT_NAMESassertEqualr)
rrDrEXPECTED_EVENTSr
start_linewhatrCrrFs
         @r+test_no_line_event_after_creating_generatorz9TraceTestCase.test_no_line_event_after_creating_generatorQs
"//<			
 $$V,dfcll46H]]11
&,

!tS*_k$/0

	
1T?3

s.B0cdfd}	|tj_tj|t	g|jdtjdy#t$r~}d}|j}|r7|jjjdk(r|dz
}|j}|r7|dk(r|jdn|dkDr|jdYd}~d}~wwxYw#tjdwxYw)	NFc$sdttSr)rvr)rrrraiseds   r
error_oncez5TraceTestCase.test_settrace_error.<locals>.error_oncesLrNo exception raisedrtest_settrace_errorr>Traceback is missing frame"Traceback has frame more than once)r~rrrr@rrv
__traceback__tb_framef_codeco_nametb_next)rrTrcounttbrSs     @rrVz!TraceTestCase.test_settrace_error}s		&0CMMO#LL$G
II+,LL
	@E!!B;;%%--1FFQJEZZz		67		>?
	@
LLs69A*C4*	C13AC,:-C,'C4,C11C44Dctjd}	|jgtg|j	dtjdy#t
$r~}d}|j}|r7|jjjdk(r|dz
}|j}|r7|dk(r|j	dn|dkDr|j	dYd}~d}~wwxYw#tjdwxYw)NrDrUrtest_testcapi_settrace_errorr>rWrX)
rrIsettrace_to_errorr@rrvrYrZr[r\r]r~r)rrDrr^r_s     rraz*TraceTestCase.test_testcapi_settrace_errors"//<		''+G
II+,LL
	@E!!B;;%%--1OOQJEZZz		67		>?
	@
LLs5AC$	C!#AC*-CC$C!!C$$C;cdi}tdddzd||d}gd}|j||y)Nzdef f():              # line 0
            x = 0                     # line 1
            y = 1                     # line 2
            rizn                        # lines 3 through (1 << 16)
            x += 1                    #
            returnr!)r@rBrI)irC)rC)rdrEr#)rrr!rMs    rtest_very_large_functionz&TraceTestCase.test_very_large_functionsG
),
./	0
cF
	
Q0rN)Orrr rrstaticmethodrrrrrrrrrrrrrrrrr	rr
rrrrrr&r*r2r7rWr`rdrhrur{rrrrrrrrrrrrrrrrrrrrrrr	rrrrrr r*r/r6rBrcpython_onlyrPrVrarer"rrrrXs6
D308&&&&&%#",+')+E
>0*J3X23h	":@42!RF"QH
&:..$(.,4
&"'R",\"H,@:(,,,,-^
&,\
)4)4V<
01rr)rAr{rCrEc2eZdZdZfdZedZxZS)SkipLineEventsTraceTestCasez8Repeat the trace tests, but with per-line events skippedcb|Dcgc]
}|ddk7s|}}t||||ycc}w)Nr>rC)superr)rrrrrskip_line_events	__class__s      rrz*SkipLineEventsTraceTestCase.compare_eventss9'6I!!A$&.AII
{F4DEJs
,,ctdS)NF)rrr"rrrz'SkipLineEventsTraceTestCase.make_tracers
..rrrr r!rrfr
__classcell__rms@rriris BF//rric2eZdZdZfdZedZxZS)TraceOpcodesTestCasez;Repeat the trace tests, but with per-opcodes events enabledc|Dcgc]
}|ddk7s|}}t|dkDr&|jt|t|dt|
|||ycc}w)Nr>opcodez)No 'opcode' events received by the tracer)msg)r@
assertLessrkr)rrrrrskip_opcode_eventsrms      rrz#TraceOpcodesTestCase.compare_eventssh)/DA1Q483CaDDv;?OOC 23S[ K

M
{,>P	Es

A A ctdS)NT)rrr"rrrz TraceOpcodesTestCase.make_tracers
$//rrorqs@rrsrss EQ00rrscNeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
y)
RaisingTraceFuncTestCasech|jtjtjyrrr~rrrs rrzRaisingTraceFuncTestCase.setUpsclln5rcD||jk(rt|jS)zXA trace function that raises an exception in response to a
        specific trace event.)raiseOnEventrrrs    rrzRaisingTraceFuncTestCase.traces"D%%%::rc2|jdk(rd}d|z}yy)zThe function to trace; raises an exception if that's the case
        we're testing, so that the 'exception' trace event fires.r{rr>N)r)rr,rhs   rr!zRaisingTraceFuncTestCase.fs#+A!Arc>||_	ttjdzD]C}tj|j
	|j
|jdEy#t$rYRwxYw#t$r|jdYywxYw)zTTests that an exception raised in response to the given event is
        handled OK.r>zexception not raised!zrecursion counter not resetN)
rr`r~getrecursionlimitrrr!rrr)rrrs   rrun_test_for_eventz+RaisingTraceFuncTestCase.run_test_for_events"
	53002Q67
7TZZ(7FFHII56
7"	5II34	5s6AA?A0A?0	A<9A?;A<<A??BBc&|jdy)NrArrs r	test_callz"RaisingTraceFuncTestCase.test_call'rc&|jdy)NrCrrs r	test_linez"RaisingTraceFuncTestCase.test_linerrc&|jdy)NrErrs rtest_returnz$RaisingTraceFuncTestCase.test_returns)rc&|jdyNr{rrs rtest_exceptionz'RaisingTraceFuncTestCase.test_exceptions,rcdfdtj	|jdy#t$rddl}|j
YywxYw)Nc:tdD]
}t|y)NrN)r`printrgs rr!z4RaisingTraceFuncTestCase.test_trash_stack.<locals>.fs1X
a
rct|dk(r1|jjjdzk(rtdS)NrCrJz
i am crashing)rrrr)rwhyextrar!gs   rrz4RaisingTraceFuncTestCase.test_trash_stack.<locals>.g#s5v
!**";";a"??"?33Hrzexception not propagatedr)r~rrrrcollect)rrr!rs  @@rtest_trash_stackz)RaisingTraceFuncTestCase.test_trash_stacksR			Q	2
C
II01	BJJL	s;AAcd}fdtj}	tj	|tj|y#t$rY!wxYw#tj|wxYw)Nc d}|jy)Nr)no_such_attrrGs rr!z<RaisingTraceFuncTestCase.test_exception_arguments.<locals>.f5sA
NNrcJ|dk(r|\}}}j|tSr)assertIsInstancerv)rrrtyper{rrrs      rrz<RaisingTraceFuncTestCase.test_exception_arguments.<locals>.g9s,$),&i%%i;Hr)r~rrAttributeError)rr!existingrs`  @rtest_exception_argumentsz1RaisingTraceFuncTestCase.test_exception_arguments4se		<<>	#LLO


LL"	"


LL"s(A#A	A A#A  A##A:ctdfdd}|jt5}tj|ddd|j	j
y#1swY&xYw)NzBOOM!c$|dk(rd|_S)NrCT)r)rrrr{rs   rrzRRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_event.<locals>.traceLs$(E!Lrcyrr"r"rrr!zNRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_event.<locals>.fQrr)rassertRaisesr~rassertIsr{)rr!caughtr{rs   @@r*test_line_event_raises_before_opcode_eventzCRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_eventJscw'		
	


z
*	fLL
C		


f&&	2		sA..A7N)rrr rrr!rrrrrrrrr"rrr{r{s965"((*-2,#,3rr{c"eZdZdZ		ddZdZy)
JumpTracerz>Defines a trace function that jumps from one place to another.c|j|_||_||_||_|rdn|jj
|_d|_y)NF)rcodejumpFromjumpTorr	firstLiner)rfunctionrrr	decorateds      rrzJumpTracer.__init__`s@%%	 

!*		0H0H	rcL|jry|j2|j|jk(r|dk(r|jdz
|_||j
k(r|j|j|j|jzk(rm|}|A|j|jk7r(|j}||j|jk7r(|&	|j|jz|_d|_|jS#t$r|j|_Y/wxYw)NrCr>T)rrr[rrrrrrrr)rrrrr!s     rrzJumpTracer.traceis99

NN"u||tyy'@"^^a/DNTZZDNN$>$..4=="@@A-AHH		$9HH-AHH		$9}1%)^^dkk%AEN!	zz!1%)[[EN1sDD#"D#N)rCF)rrr r!rrr"rrrr]sH9? rrc	|jdy#t$r&}|jdt|vYd}~yd}~wwxYw)NrJinteger)rrrr
rs  rno_jump_to_non_integersrs;+

a+

i3q6)**+s	A>Ac	tjj}|j|_t	d#t
$r}dt
|vrYd}~yd}~wwxYw)Nz'Trace-function-less jump failed to failr)r~rrrAssertionErrorrr)previous_framers  rno_jump_without_trace_functionrs]
H//"0"9"9FGG#a& !s/<	AAAcneZdZdZdZdZ		ddZ		ddZddZddZ	ed	d
d
gdZ
edd	gd
dZed
dddgeefdZ
edd	gddZe	ddd
dgedZe	ddgdedZed	dd
gdZeddgddZeddddgdZeddddgedfd Zedd!dd!gedfd"Zedd!ddged#fd$Zed
dd	ged%fd&Zeddddgd'Zedd
gd(d)Zedd
d	d
gd*Ze	dd
d	d
gd+Zed
d	gd,d-Ze	d
d	gd,d.Z edddgd/Z!ed
d	gd0d1Z"edddgd2Z#ed
d	gd3d4Z$eddgd5d6Z%eddgd5d7Z&eddgd8d9Z'edd	gd:eefd;Z(eddgd<d=Z)e	ddgd<d>Z*eddgd?d@Z+e	ddgd?dAZ,eddgdBdCZ-e	ddgdBdDZ.eddgdEdFZ/e	ddgdEdGZ0edHd!gdIdJZ1ed
dgdKeefdLZ2e	d
dgdKeefdMZ3ed
dgdNdOZ4eddHgdPdQZ5ed	dddHgeefdRZ6e	d	dddHgeefdSZ7edd
d	ged%fdTZ8eddUd	gedVfdWZ9edd
dgedXfdYZ:edd
dgedXfdZZ;edd
dgedXfd[Z<edd
dgedXfd\Z=ed	d
ged]fd^Z>e	d	d
ged]fd_Z?ed
dddged]fd`Z@e	d
dddgedafdbZAed	d
gedcfddZBe	d	d
gedcfdeZCed
dgdfedcfdgZDe	d
dgdfedcfdhZEed	d
d
dgdiZFeddgdjdkZGed	d
d
gdlZHeddgdmdnZIeddgd5eefdoZJed	ddgdpZKed
dgdqdrZLedd	gdsdtZMed	dgedufdvZNed	dgedufdwZOed
dgdxedufdyZPed
ddgedufdzZQedd	gd{d|ZRedd	gd{d}ZSed
dgd~dZTe	d
dgd~dZUeddddged%fdZVeddd	dged]fdZWe	ddd	dged]fdZXdZYdZZdZ[dZ\edd
d	gdedfdZ]edd	d	gdedfdZ^edd	d	gdedfdZ_ed
dddgddZ`edd
d	d
geefdZaed
d	geefdZbedHdgdeefdZce	dd
d	d
geefdZde	d
d	geefdZee	dHdgdeefdZfed
dgedcfdZgeddHgedcfdZhed
dgedcfdZiedd
d	d
geefdZjed
dgdeefdZkeljddZnedd
d	d
geefdZoy)JumpTestCasez&assigning None to [0-9]+ unbound localc|jtjtjtjdyrr}rs rrzJumpTestCase.setUp&clln5Trcn||k7r0|jdt|zdzdzt|zyy)NzOutputs don't match:
Expected: rz
Received: )rrepr)rexpectedreceiveds   rcompare_jump_outputz JumpTestCase.compare_jump_outputsHxII$&*8n57;<#$&*8n5
6 rNc	|}	t|	dr|	j}	t|	drt|	||||}
tj|
j
g}t
j5}||j|j|||j|j|||dddtjd|j||y#1swY1xYwN__wrapped__)hasattrrrr~rr
contextlib	ExitStack
enter_contextassertRaisesRegexassertWarnsRegexr
rrrrrrrrwarningwrappedrr
stacks
             rrzJumpTestCase.run_testsg}-))Gg}-GXvuiHV\\"

!
!
#	u ##$:D$:$:E$BC"##$9D$9$97$CDL		T  62		s
,A	C%%C.c	2|}	t|	dr|	j}	t|	drt|	||||}
tj|
j
g}t
j5}||j|j|||j|j|tj||dddtjdtjd|j||y#1swYFxYwr)rrrr~rrrrrrrasynciorOset_event_loop_policyrrs
             rrun_async_testzJumpTestCase.run_async_testsg}-))Gg}-GXvuiHV\\"

!
!
#	&u ##$:D$:$:E$BC"##$9D$9$97$CDKKV%	&	T%%d+  62	&	&s
,AD

Dc&fd}|S)zqDecorator that creates a test that makes a jump
        from one place to another in the following code.
        c<tfd}|S)Nc
8|jdyNT)rrrr)rrrrrrrrrs rr9z7JumpTestCase.jump_test.<locals>.decorator.<locals>.tests'

dHfh$)$PWYrrrr9rrrrrrs` rr<z)JumpTestCase.jump_test.<locals>.decorator(
4[
Y
Y
YKrr"rrrrrrr<s`````` r	jump_testzJumpTestCase.jump_test		rc&fd}|S)z~Decorator that creates a test that makes a jump
        from one place to another in the following asynchronous code.
        c<tfd}|S)Nc
8|jdyr)rrs rr9z=JumpTestCase.async_jump_test.<locals>.decorator.<locals>.tests)##D(FH$)$PW$Yrrrs` rr<z/JumpTestCase.async_jump_test.<locals>.decoratorrrr"rs`````` rasync_jump_testzJumpTestCase.async_jump_testrrr>rLcj|jd|jd|jdyNr>rJrLrr
s rtest_jump_simple_forwardsz&JumpTestCase.test_jump_simple_forwards&

a

a

arrJ)r>r>rJcH|jd|jdyr^rrs rtest_jump_simple_backwardsz'JumpTestCase.test_jump_simple_backwards

a

arrNrcdD]+}|jddD]}|jd-|jdy)NrrJrLrUrNrr
rr~s   rtest_jump_out_of_block_forwardsz,JumpTestCase.test_jump_out_of_block_forwardssF	!AMM!
!

a 
!	!	

arrd)r>rLrNr>rLrNrdrWc|jddD]<}|jddD]}|jd|jd>|jdy)Nr>rrL)rJrNrdrWrrs   r test_jump_out_of_block_backwardsz-JumpTestCase.test_jump_out_of_block_backwardss^

a	AMM!
!

a 
!MM!		
	

arrUcKdD]7}|ddg23d{}|jd|jd,y7)6|jdPw)Nrr>rJrLrUrNrr
r-rs   r)test_jump_out_of_async_for_block_forwardsz6JumpTestCase.test_jump_out_of_async_for_block_forwardss^	A$aV,
!
!a

a 

a 	
!,
MM!s%AAAA&AAA)rJrUrJrUrNrdcKdD]G}|jd|dg23d{}|jd|jd,y7)6|jd`w)NrrJr>rUrNrdrrs   r*test_jump_out_of_async_for_block_backwardsz7JumpTestCase.test_jump_out_of_async_for_block_backwardssf	AMM!$aS>
!
!a

a 

a 		
!>
MM!s% A%AAA&A%AA%cH|jd|jdyrrrs rtest_jump_to_codeless_linez'JumpTestCase.test_jump_to_codeless_lines

a

ar)r>rJrLcj|jd|jd|jdyrrrs rtest_jump_to_same_linez#JumpTestCase.test_jump_to_same_linerrr1c	|jd|jd	|jd|jd|jdy#|jdwxYw#|jd	|jd|jdn#|jdwxYw|jdwxYw)NrJrUrdr/r1rrs rtest_jump_in_nested_finallyz(JumpTestCase.test_jump_in_nested_finally&s	MM!MM!
!

a 

a MM!

a 	
MM!
!

a 

a 

a MM!s.A/AA,/C
B%C
%B88C
rWc	|jdddz	|jd|jdy#|jd|jdwxYw)NrJr>rrdrWrrs rtest_jump_in_nested_finally_2z*JumpTestCase.test_jump_in_nested_finally_22sQ	MM!
aCMM!MM!
MM!MM!s	<$A rqc	|jdddz	|jd	|jd|jd|jdy#|jdwxYw#|jd	|jd|jdn#|jdwxYw|jdwxYw)NrJr>rrdr/rrqrrs rtest_jump_in_nested_finally_3z*JumpTestCase.test_jump_in_nested_finally_3=s
	MM!
aCMM!
"

a 

b!MM"

b!	
MM!
"

a 

b!

b!MM"s.A5AA25CB+C+B>>Cz"comes after the current code blockc	|jd|jd|jdy#|jd|jdYyxYwNrJrUrNrrs r5test_no_jump_over_return_try_finally_in_finally_blockzBJumpTestCase.test_no_jump_over_return_try_finally_in_finally_blockLsM
	MM!MM!MM!
MM!MM!	6$AaftercJ|jd	|jdrrrs r test_no_jump_infinite_while_loopz-JumpTestCase.test_no_jump_infinite_while_loop[s"

aMM!rcnd}|jd|dkr|jd|dz
}|dkryy)Nr>rJrUrr
rs  r#test_jump_forwards_into_while_blockz0JumpTestCase.test_jump_forwards_into_while_blockbs8


a1fMM!
FA1fr)rLrLrLrNcld}|dkr|jd|dz
}|dkr|jdy)Nr>rJrLrNrr
s  r$test_jump_backwards_into_while_blockz1JumpTestCase.test_jump_backwards_into_while_blockjs:
1fMM!
FA1f	

arct|d5|jdddd|jdy#1swYxYwrr	rrs r$test_jump_forwards_out_of_with_blockz1JumpTestCase.test_jump_forwards_out_of_with_blockr9
&!
$	MM!	

a			9AcKt|d4d{|jddddd{|jdy777#1d{7swY(xYwwrr$rrs r*test_jump_forwards_out_of_async_with_blockz7JumpTestCase.test_jump_forwards_out_of_async_with_blockxW$VQ/		MM!		

a					AA$AA$AA$A
A$
A$A!AA!A$)r>rJr>rJrLrrc|jdt|d5|jddddy#1swYyxYwrrr	rs r%test_jump_backwards_out_of_with_blockz2JumpTestCase.test_jump_backwards_out_of_with_block~9

a
&!
$	MM!				9AcK|jdt|d4d{|jddddd{y7&7#1d{7swYyxYwwrrr$rs r+test_jump_backwards_out_of_async_with_blockz8JumpTestCase.test_jump_backwards_out_of_async_with_blockW

a$VQ/		MM!							C"A$AA$AA$A
A$
A$A!AA!A$c	|jd|jd|jdy#|jdwxYwrrrs r+test_jump_forwards_out_of_try_finally_blockz8JumpTestCase.test_jump_forwards_out_of_try_finally_block;	MM!MM!

a
MM!	6A	)r>r>rLrNc|jd	|jd|jdy#|jdwxYwNr>rLrNrrs r,test_jump_backwards_out_of_try_finally_blockz9JumpTestCase.test_jump_backwards_out_of_try_finally_block8

a	MM!MM!FMM!	6A	cx	|jd|jdy#|jdxYwNrJrUrdrrs r*test_jump_forwards_out_of_try_except_blockz7JumpTestCase.test_jump_forwards_out_of_try_except_block7	MM!	

a	MM!%9)r>r>rLcx|jd	|jdy#|jdxYwr'rrs r+test_jump_backwards_out_of_try_except_blockz8JumpTestCase.test_jump_backwards_out_of_try_except_block5

a	MM!	MM!%9)rUrWr/c	ddz|jdy#t$r%|jd|jdY?t$r|jdYZwxYwNr>rrUrNrWr/rrFloatingPointErrorrs rtest_jump_between_except_blocksz,JumpTestCase.test_jump_between_except_blockssY	
aC	

a!	MM!MM!!	MM!	s+A"A"!A"c	ddz|jd|jdy#t$r%|jd|jdYPwxYw#|jdwxYwr5)rrrs r test_jump_from_except_to_finallyz-JumpTestCase.test_jump_from_except_to_finallys`	
aC

MM!

a!	MM!MM!	
MM!s!*+AAAAA.)rUrdrWc	ddz|jdy#|jd|jd|jdYIxYw)Nr>rrUrNrdrWrrs rtest_jump_within_except_blockz*JumpTestCase.test_jump_within_except_blocksG	
aC
	

a		MM!MM!MM!s	5A)r>rNr>rNc|jd	ddzd}y#t$r}|jdYd}~d}yd}~wwxYw)Nr>rrNrJrr)r
rr,s   rtest_jump_over_try_exceptz&JumpTestCase.test_jump_over_try_exceptsG

a	
E
!	MM!	s	A<A)r>rUrNrc|jdt|d5|jddddt|d5|jddddy#1swY0xYw#1swYyxYwNr>rJrLrUrNrrs rtest_jump_across_withz"JumpTestCase.test_jump_across_withi

a
&!
$	MM!	
&!
$	MM!						AA+A(+A4cjK|jdt|d4d{|jddddd{t|d4d{|jddddd{y7\7=#1d{7swYMxYw7?7 #1d{7swYyxYwwrArrs rtest_jump_across_async_withz(JumpTestCase.test_jump_across_async_with

a$VQ/		MM!		$VQ/		MM!													"B3BB3BB3BB3BB3B0B3;B<B3B3BBBB3B3B0$B'%B0,B3)r>rLrNrdc|jddD]9}t|d5|jdddd|jd;|jdy#1swY.xYwNr>rrLrUrNrdrr
s  r,test_jump_out_of_with_block_within_for_blockz9JumpTestCase.test_jump_out_of_with_block_within_for_blocksb

a	Afa(
!

a 
!MM!		

a
!
!sA""A+	cK|jddD]I}t|d4d{|jddddd{|jdK|jdy7J7+#1d{7swY;xYwwrJrr
s  r2test_jump_out_of_async_with_block_within_for_blockz?JumpTestCase.test_jump_out_of_async_with_block_within_for_blocks

a	A(3
!
!

a 
!
!MM!		

a
!
!
!
!
!sC'B
A4B
A8B

A6*B
6B
8B
	>B?B
	B
)r>rJrLrNrrrdc|jdt|d5t|d5|jdddd|jdddd|jdy#1swY4xYw#1swY'xYwNr>rJrLrUrNrdrrs r-test_jump_out_of_with_block_within_with_blockz:JumpTestCase.test_jump_out_of_with_block_within_with_blocksr

a
&!
$	fa(
!

a 
!MM!		

a
!
!		s!
A<A0A<0A9	5A<<BcRK|jdt|d5t|d4d{|jddddd{|jdddd|jdy7P71#1d{7swYAxYw#1swY4xYwwrO)rr	r$rs r3test_jump_out_of_async_with_block_within_with_blockz@JumpTestCase.test_jump_out_of_async_with_block_within_with_block	s

a
&!
$	(3
!
!

a 
!
!MM!		

a
!
!
!
!
!		saB'BBBBBBB(B'BBB	B
B	BB$ B')rJrUrdrWcb	|jdt|d5|jdddd|jd|jdy#1swY,xYw#t|d5|jddddn#1swYnxYw|jdwxYwNrJrUrNrdrWrrs r0test_jump_out_of_with_block_within_finally_blockz=JumpTestCase.test_jump_out_of_with_block_within_finally_block		s	MM!fa(
!

a 
!MM!

a
!
!fa(
!

a 
!
!
!MM!s.A(AA%(
B.5B	B.BB.c	K	|jdt|d4d{|jddddd{|jd|jdy7H7)#1d{7swY9xYw#t|d4d{7|jddddd{7n#1d{7swYnxYw|jdwxYwwrTrrs r6test_jump_out_of_async_with_block_within_finally_blockzCJumpTestCase.test_jump_out_of_async_with_block_within_finally_block	s	MM!(3
!
!

a 
!
!MM!

a
!
!
!
!
!(3
!
!

a 
!
!
!
!
!MM!sC+BC+A.C+A2C+A0(C+0C+2B8A;9BC+C(B
C(C/C(:B=;C(CC
CC((C+r/)r>rLrNrqrzcL|jddD]g}|jddD]>}|jd	dD]}|jd	|jd@|jdi|jd	y#|jdwxYw)
Nr>rrLrrNr/rrqrzr)r
rr~ks    r&test_jump_out_of_complex_nested_blocksz3JumpTestCase.test_jump_out_of_complex_nested_blocks	s

a		AMM!
&

a &#)

a()MM"%

&
MM"			

bMM"%sBB#)r>rJrNc|jdt|d5}|jdddd|jdy#1swYxYwNr>rJrUrNrr
r,s  r test_jump_out_of_with_assignmentz-JumpTestCase.test_jump_out_of_with_assignment,	sJ

a
&!
$	MM!		

a		sA

AcK|jdt|d4d{}|jddddd{|jdy777#1d{7swY(xYwwr\rr]s  r&test_jump_out_of_async_with_assignmentz3JumpTestCase.test_jump_out_of_async_with_assignment4	sh

a$VQ/		MM!			

a					sC"A5AA5A A5AA5A5 A2&A)'A2.A5)r>rdr/r1c|jd	|jd|s	|jdy|jd|jd|jdy#|jdwxYw)Nr>rLr/rdr1rrs r*test_jump_over_return_in_try_finally_blockz7JumpTestCase.test_jump_over_return_in_try_finally_block<	si

a	MM!
MM!
MM!MM!

a
MM!sA-A--B)r>rLr/rrqrcN|jd	|jd	|jd|s	|jdn4|jd|jd|jd	|jdy#|jdwxYw)Nr>rLrNrr/rqrrrs r)test_jump_over_break_in_try_finally_blockz6JumpTestCase.test_jump_over_break_in_try_finally_blockH	s

aMM!
"

a 

b!

a 

b!MM"

b

b!sBBB$c|jd|sdD]}|jdn"|jd|jd|jdyNr>rrUrdrWr/rr
s  r$test_jump_over_for_block_before_elsez1JumpTestCase.test_jump_over_for_block_before_elseX	R

a
!

a 
!
MM!MM!

arcK|jd|s'tdg23d{}|jd|jd|jd|jdy7J6wNr>rLrUrdrWr/rr-r
s  r*test_jump_over_async_for_block_before_elsez7JumpTestCase.test_jump_over_async_for_block_before_elsec	b

a$aS>
!
!a

a MM!MM!

a
!>& A5A3A1A3AA51A33A5cH|jd|jdyr^rrs rtest_no_jump_too_far_forwardsz*JumpTestCase.test_no_jump_too_far_forwardsp	rrrrbeforecH|jd|jdyr^rrs rtest_no_jump_too_far_backwardsz+JumpTestCase.test_no_jump_too_far_backwardsu	rrexceptcV	|jdy#|jdxYwNrJrUrrs rtest_no_jump_to_except_1z%JumpTestCase.test_no_jump_to_except_1{	s)	MM!	MM!s(cf	|jdy#t$r|jdwxYwrvrrrs rtest_no_jump_to_except_2z%JumpTestCase.test_no_jump_to_except_2	s1	MM!	MM!	s0cp	|jdy#t$r}|jd|d}~wwxYwrvryrs  rtest_no_jump_to_except_3z%JumpTestCase.test_no_jump_to_except_3	s4	MM!	MM!G	s	505c|	|jdy#ttf$r}|jd|d}~wwxYwrv)rrrrs  rtest_no_jump_to_except_4z%JumpTestCase.test_no_jump_to_except_4	s9	MM!L)	MM!G	s;6;intocV|jddD]}|jdy)Nr>rrLrr
s  r$test_no_jump_forwards_into_for_blockz1JumpTestCase.test_no_jump_forwards_into_for_block	s)

a	AMM!	rcK|jdtddg23d{}|jd76ywrrkr
s  r*test_no_jump_forwards_into_async_for_blockz7JumpTestCase.test_no_jump_forwards_into_async_for_block	sB

a !Q(		!MM!	(sA><>A>AcVdD]}|jd|jdy)NrrJrLrr
s  r%test_no_jump_backwards_into_for_blockz2JumpTestCase.test_no_jump_backwards_into_for_block	s)	AMM!	

arz&can't jump into the body of a for loopcKtddg23d{}|jd76|jdywr)r-rr
s  r+test_no_jump_backwards_into_async_for_blockz8JumpTestCase.test_no_jump_backwards_into_async_for_block	s? !Q(		!MM!	(

asA-+-A-Arc|jdt|d5|jddddy#1swYyxYwrrrs r%test_no_jump_forwards_into_with_blockz2JumpTestCase.test_no_jump_forwards_into_with_block	rrcK|jdt|d4d{|jddddd{y7&7#1d{7swYyxYwwrrrs r+test_no_jump_forwards_into_async_with_blockz8JumpTestCase.test_no_jump_forwards_into_async_with_block	r r!)r>rJrct|d5|jdddd|jdy#1swYxYwrrrs r&test_no_jump_backwards_into_with_blockz3JumpTestCase.test_no_jump_backwards_into_with_block	rrcKt|d4d{|jddddd{|jdy777#1d{7swY(xYwwrrrs r,test_no_jump_backwards_into_async_with_blockz9JumpTestCase.test_no_jump_backwards_into_async_with_block	rrc|jd	|jd|jdy#|jdwxYwr'rrs r)test_jump_forwards_into_try_finally_blockz6JumpTestCase.test_jump_forwards_into_try_finally_block	r)r*)rJrUrJrUrNc	|jd|jd|jdy#|jdwxYwrrrs r*test_jump_backwards_into_try_finally_blockz7JumpTestCase.test_jump_backwards_into_try_finally_block	r$r%cx|jd	|jdy#|jdxYwr'rrs r(test_jump_forwards_into_try_except_blockz5JumpTestCase.test_jump_forwards_into_try_except_block	r2r3)rJrJrdcx	|jd|jdy#|jdxYwr,rrs r)test_jump_backwards_into_try_except_blockz6JumpTestCase.test_jump_backwards_into_try_except_block	r.r/c	ddz|jdy#t$r%|jd|jdY?t$r}|jdYd}~]d}~wwxYwr5r6rs  r!test_jump_between_except_blocks_2z.JumpTestCase.test_jump_between_except_blocks_2	s]	
aC	

a!	MM!MM!!	MM!	s+A)A)A$$A)c|jd	|jd|jdy#|jdwxYwr'rrs rtest_jump_into_finally_blockz)JumpTestCase.test_jump_into_finally_block	r)r*)rJrdrWc	|jd|jd|jd|jd|jdy#|jd|jdwxYw)NrJrLrNrdrWrrs r+test_jump_into_finally_block_from_try_blockz8JumpTestCase.test_jump_into_finally_block_from_try_block
s_	MM!MM!MM!MM!

a
MM!MM!s"A$A<)r>rLr>rLrNc|jd	|jd|jdy#|jdwxYwr'rrs rtest_jump_out_of_finally_blockz+JumpTestCase.test_jump_out_of_finally_block
r)r*z9can't jump into an 'except' block as there's no exceptioncz|jd	|jdy#|jdYyxYwr'rrs r#test_no_jump_into_bare_except_blockz0JumpTestCase.test_no_jump_into_bare_except_block
s2

a	MM!	MM!s%:c|jd	|jdy#t$r|jdYywxYwr'rrvrs r(test_no_jump_into_qualified_except_blockz5JumpTestCase.test_no_jump_into_qualified_except_block
s:

a	MM!	MM!	s%AA)rJrNrdc	|jd|jd|jdy#|jd|jdxYwNrJrLrNrdr/rrs r2test_no_jump_into_bare_except_block_from_try_blockz?JumpTestCase.test_no_jump_into_bare_except_block_from_try_block%
sO	MM!MM!
	

a		MM!MM!s	"6%Ac	|jd|jd|jdy#t$r$|jd|jdwxYwrr>rs r7test_no_jump_into_qualified_except_block_from_try_blockzDJumpTestCase.test_no_jump_into_qualified_except_block_from_try_block0
sY	MM!MM!
	

a	!	MM!MM!	s	"6-A#)r>rLrdr>rLrdrWc|jd	|jdddzy#|jd|jdYyxYwNr>rLrrdrWrrs r"test_jump_out_of_bare_except_blockz/JumpTestCase.test_jump_out_of_bare_except_block;
sE

a	MM!
aC	MM!MM!s	*$Ac|jd	|jdddzy#t$r%|jd|jdYywxYwrrrs r'test_jump_out_of_qualified_except_blockz4JumpTestCase.test_jump_out_of_qualified_except_blockE
sM

a	MM!
aC	MM!MM!	s*+AA)r>rJrNrrc|jdt|d5|jddddt|d5|jddddy#1swY0xYw#1swYyxYwrArrs rtest_jump_between_with_blocksz*JumpTestCase.test_jump_between_with_blocksO
rCrDcjK|jdt|d4d{|jddddd{t|d4d{|jddddd{y7\7=#1d{7swYMxYw7?7 #1d{7swYyxYwwrArrs r#test_jump_between_async_with_blocksz0JumpTestCase.test_jump_between_async_with_blocksW
rGrHc	|jd|jd|jdy#|jd|jdYyxYwrrrs r-test_no_jump_over_return_out_of_finally_blockz:JumpTestCase.test_no_jump_over_return_out_of_finally_block_
sM	MM!MM!MM!
MM!MM!rc|jd|sdD]}|jdn"|jd|jd|jdyrfrr
s  r'test_no_jump_into_for_block_before_elsez4JumpTestCase.test_no_jump_into_for_block_before_elsei
rhrcK|jd|s'tdg23d{}|jd|jd|jd|jdy7J6wrjrkr
s  r-test_no_jump_into_async_for_block_before_elsez:JumpTestCase.test_no_jump_into_async_for_block_before_elset
rmrnc6|jtdddgy)NrJSpamT)rrrs rtest_no_jump_to_non_integersz)JumpTestCase.test_no_jump_to_non_integers
s

-q&4&Arctyr)rrs r#test_no_jump_without_trace_functionz0JumpTestCase.test_no_jump_without_trace_function
s
	'(rc~i}tddz||d}|j|dddgt|jfy)Nadef f(output):        # line 0
            x = 0                     # line 1
            y = 1                     # line 2
            '''                       # line 3
            %s                        # lines 4-1004
            '''                       # line 1005
            x += 1                    # line 1006
            output.append(x)          # line 1007
            return)a







































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































r!rJirr)r$rRuntimeWarningunbound_locals)rrr!s   rtest_large_functionz JumpTestCase.test_large_function
sQ'')*	+
cF

aD1#@S@S/T
UrctdddGfdd}t|dd}tj|jdgi}t|tjd|j
gd	|dy)
Nzd
# Comments don't count.
output.append(2)  # firstlineno is here.
output.append(3)
output.append(4)
z
<fake module>r$ceZdZWZy)<JumpTestCase.test_jump_to_firstlineno.<locals>.fake_functionN)rrr r)rsr
fake_functionr
sHrrrUr>r
)rJrLrJrLrU)compilerr~rrr$r)rrrr%rs    @rtest_jump_to_firstlinenoz%JumpTestCase.test_jump_to_firstlineno
sw
f		M1a0V\\"rN	T9T  )H2EFrrAz5can't jump from the 'call' trace event of a new frame)rrcbjdfd}|jdy)Nr>c(jdyrrrsrnestedz3JumpTestCase.test_no_jump_from_call.<locals>.nested
sMM!rrNr)r
rs` rtest_no_jump_from_callz#JumpTestCase.test_no_jump_from_call
s'	

a	

arrEz'can only jump from a 'line' trace eventc&|jdyr=rrs rtest_no_jump_from_return_eventz+JumpTestCase.test_no_jump_from_return_event
s	

arr{c0|jdddzyrrrs r!test_no_jump_from_exception_eventz.JumpTestCase.test_no_jump_from_exception_event
s	

a	Ar)rcRfd}t|jdy)Nc38Kjddyw)NrJrLrrsrrFz.JumpTestCase.test_jump_from_yield.<locals>.gen
sMM!GsrN)rCr)r
rFs` rtest_jump_from_yieldz!JumpTestCase.test_jump_from_yield
s		
SU

arc|jdtdDcgc]}|}}|jdycc}wNr>rrLrr`r
rr,s   rtest_jump_forward_over_listcompz,JumpTestCase.test_jump_forward_over_listcomp
s6

ab	"1Q""

a
#s	<cFd}tdDcgc]}|}}d}ycc}wrr_r
rarr,rs     r test_jump_backward_over_listcompz-JumpTestCase.test_jump_backward_over_listcomp
s(
b	"1Q""

#s	)rJrWrJcd}|jd|rytdDcgc]}|}}d}|jd|jdycc}wNFrJrNrdrWr/rr
flagrr,s    r#test_jump_backward_over_listcomp_v2z0JumpTestCase.test_jump_backward_over_listcomp_v2
sR

aa!1Q!!

a

a
"s	AcK|jdttd2cgc3d{}|76ncc}w}}|jdywrrr-r`rs   r%test_jump_forward_over_async_listcompz2JumpTestCase.test_jump_forward_over_async_listcomp
sD

a'b	233Q3333

as&(A<:8
:<:<AcrKd}ttd2cgc3d{}|76ncc}w}}d}ywr)r-r`rs     r&test_jump_backward_over_async_listcompz3JumpTestCase.test_jump_backward_over_async_listcomp
s6
'b	233Q3333
s$7-+)
+-+-7cKd}|jd|ryttd2cgc3d{}|76ncc}w}}d}|jd|jdywrrrs    r)test_jump_backward_over_async_listcomp_v2z6JumpTestCase.test_jump_backward_over_async_listcomp_v2
s`

a'a122Q2222

a

as*-A-A?=
?A?A-A-)rcd}t|jd|jd|dzdz|jdyNr>rLrNrrr&rrr
ras  r(test_jump_with_null_on_stack_load_globalz5JumpTestCase.test_jump_with_null_on_stack_load_global
sN

MM!	
	

a



	

brcd}t}||jd|jd|dzdz|jdy)Nr>rUrdrqrsr)r
rar!s   r&test_jump_with_null_on_stack_push_nullz3JumpTestCase.test_jump_with_null_on_stack_push_null	sS
	MM!	
	

a



	

brcd}tj|d|jd|dzdz|jdyr)listrrs  r&test_jump_with_null_on_stack_load_attrz3JumpTestCase.test_jump_with_null_on_stack_load_attrsK
A	
	

a



	

brcz|jd|jdxsd^}}}|jdyNr>rJrrLrr
rHs  r(test_jump_extended_args_unpack_ex_simplez5JumpTestCase.test_jump_extended_args_unpack_ex_simple/s3

a==#-vAq

ar)r>rUrUrNcz|jd|jdxsd^}}}|jdy)Nr>rUrrNrrs  r(test_jump_extended_args_unpack_ex_trickyz5JumpTestCase.test_jump_extended_args_unpack_ex_tricky5s9

a
MM!&	

1

arcpucdddgdtddDd}i}tdj|||d	}|j|d
dddgt|j
fy)
Nzdef f(output):z    output.append(1)z    for _ in spam:c3(K|]
}d|dyw)z        output.append()Nr"rrs  rrz@JumpTestCase.test_jump_extended_args_for_iter.<locals>.<genexpr>Es
G&qc+
GrLiz    output.append(100_000)rr!rJr>r)r`r$rrrr)rsourcer%r!s    r test_jump_extended_args_for_iterz-JumpTestCase.test_jump_extended_args_for_iter=s}

" 
HU1g5F
G	

)
	TYYv
	*cN

a!Wq'l^TM`M`<a
brcr|jd|jdxrd}|jdyrrrs  rtest_jump_or_popzJumpTestCase.test_jump_or_popMs-

aMM!'

ar)NrCFN)NrCN)prrr rrrrrrrrrrrrr;rrrrrrrrrrrrr
rrrrr#r(r-r1r8r:r<r?rBrFrKrMrPrRrUrWrZr^r`rbrdrgrlrprsrwrzr|r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrequires_resourcerrr"rrrrs>N6@D8<3(FJ8<3*

q!aS
q!Y q!aVnn%EFGq!-./QAq6"#Q-./q!aS
q!Y q!aV		q!aV/456q"q"g 12678q"q!fz+OPQRq!aS:w/01q!aVq!\"#q!aV
QAq6"#
q!()*
Q./0
q!aSq!\"#q!aSq!Y q!Y q!Y q!Y q!\NN+KLMq!]#$Q=)*q!\"#Q<()q!()*Q./0q!\"#Q<()q"'()q!Y(HIJQ9~~.NOPq!\"	#	q!*+
,
q!aVnn%EFGQAq6NN+KLMq!aS:w/01q"qcJ123
q!aS:x012q!aS:x012q!aS:x012q!aS:x012q!R*f-./
Q2
F34
5
q!aVj&123QAq6J0X#YZ[
q!R*g./0
Q2
G456
q!Z*g!678
Q:
G'<=>
q!aVq!_%&q!aSq!Y q!Y(HIJq!aSq!Y q!_%&q!R*&abcdq!R*&abcdq!Y-h ijkq!aS:'bcdeq!*+,q!*+,q!]#$Q=)*q!aVj'234q!aVj&123QAq6J#789B)
VG&q!aSz<8/9::q!aS81:;;q!aSJ84:;;q!aV8,-q!aVnn%EFGq!R..!ABC
q!Y(HIJQAq6NN+KLM
Q2'GHI
Q9~~.NOPq!R
G456$q!R
G456&q!R
G456"q!aVnn%EFG
q!\NN+KLMWu%
c&
cq!aVnn%EFGrrc$eZdZdZdZdZdZy)TestExtendedArgsc|jtjtjtjdyrr}rs rrzTestExtendedArgs.setUpVrrctdD]	}|ddddfdtj|tjdS)NrrArCrEc"|xxdz
cc<Sr=r")rrrcountsrs   rrz,TestExtendedArgs.count_traces.<locals>.trace`s5MQMLr)r`r~r)rrrHr
rs   @@rcount_traceszTestExtendedArgs.count_tracesZsRr	AF	Q!4		UT
rcxi}d}t|||j|d}|j|ddddy)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!r>i-r)r$rrL)rnsrr
s    rtest_trace_unpack_long_sequencez0TestExtendedArgs.test_trace_unpack_long_sequencejs@
AT2""2c7+!SA!FGrcdjdjdtdD}tdDcic]}d||
}}t|||j	|d}|j|dddd	ycc}w)
Nzeif 1:
            def f():
                return (
                    {}
                )
        z
+
c3(K|]
}d|dyw)varrNr"rs  rrz>TestExtendedArgs.test_trace_lots_of_globals.<locals>.<genexpr>wsA#aSArirr!r>ir)formatrr`r$rrL)rrrr
r
s     rtest_trace_lots_of_globalsz+TestExtendedArgs.test_trace_lots_of_globalsqs

F7<<AU4[AAB	
%*$K
0qA3il
0
0T2""2c7+!TQ!GH1s
BN)rrr rrrrr"rrrrTs H
IrrceZdZdZdZdZy)
TestEdgeCasesc|jtjtjtjdyrr}rs rrzTestEdgeCases.setUprrcd}dGfdd}tj|tj||jtjy)Ncyrr"rs rrz*TestEdgeCases.test_reentrancy.<locals>.foorcyrr"rs rbarz*TestEdgeCases.test_reentrancy.<locals>.barrrceZdZdZfdZy)(TestEdgeCases.test_reentrancy.<locals>.Acyrr")rr7s  r__call__z1TestEdgeCases.test_reentrancy.<locals>.A.__call__rrc0tjyr)r~r)rrs r__del__z0TestEdgeCases.test_reentrancy.<locals>.A.__del__sS!rN)rrr rr!)rsrrrs


"rr)r~rrLr)rrrrs   @rtest_reentrancyzTestEdgeCases.test_reentrancysI			"	"	QSS-rcd}tj|~tjtjy)Ncyrr"rs rrz+TestEdgeCases.test_same_object.<locals>.foorrr)rrs  rtest_same_objectzTestEdgeCases.test_same_objects*		SS\\^$rN)rrr rr"r%r"rrrr~s.&%rrceZdZdZy)TestLinesAfterTraceStartedcPt}|jtj_tj
|jd}d}tj
d|j
tjjj|jgdy)NrUrN)rTrMrc)rrr~rrrrr'test_eventsrrr)rrrCs   rr)z&TestLinesAfterTraceStarted.test_eventssp"(,,

V\\"T&22;;JJMM	rN)rrr r)r"rrr'r'srr'ceZdZdZy)TestSetLocalTracecfddd}gd}gtjtj_||j	|tjdy)Nc|jjdk(r=|_|j|jjz
}j||fS)Nr)r[r\rrrr)rrrrCrrs    rrz7TestSetLocalTrace.test_with_branches.<locals>.tracefuncsJ||##v- )
~~(C(CC

tUm,rc8d}|dk\rd}nd}|dk\rd}d}yd}d}y)Nr>rJrLrNrWr1rr")rNnot_reachedreachedthe_ends     rrz2TestSetLocalTrace.test_with_branches.<locals>.funcs7AaxaxGGr)r@rBrIrMrcr0rorr)r~rrrrL)rrrMrrs   @@rtest_with_branchesz$TestSetLocalTrace.test_with_branchessV	
		
Y"+

1TrN)rrr r3r"rrr+r+s%rr+__main__)8r9runittestr~rr	functoolsrrtest.supportrrrequires_working_socketr	r$r-r;r?rrHrQrSrZrbrirmrArwryrrrrrrrrrrTestCaserrKrirgrsr{rrrrrrr'r+rmainr"rr<module>r;s`
	&t,
(
(
(
(

 

'
''

(	%
'




$
/$,_
,
)
+"
+	-)+6;
<)-890p1H%%p1f+	/-	/	0=00g3x00g3\##L+Hx8$$xv'Ix(('IT%H%%%D"'
'TzHMMOr