python (3.12.0)

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

Αe/r$ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZddlmZddlmZddlmZddlmZddlmZej*ZGdd	ej,Zed
k(rej2yy)N)support)
import_helper)	os_helper)
script_helper)
socket_helper)warnings_helperceZdZedZedZdZdZdZdZ	e
jddZd	Z
d
ZdZdZej$d
Zej$dZej$dZdZdZdZdZej4dZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&d Z'd!Z(d"Z)d#Z*d$Z+d%Z,d&Z-Gd'd(Z.Gd)d*Z/d+Z0d,Z1d-Z2e
jfe4e5d.xr	e4e5d/d0ej4d1Z6ejnd@d3Z8ejrd4d5Z:d6Z;d7Z<e
jzej|d8e
jzej~d9d:Z@d;ZAd<ZBd=ZCd>ZDd?ZEy2)ATestSupportcttj}tjdd|_tjtd|_ttj|dzk(sJy)Nztest.support.warnings_helperz.*used in test_support.*)likez!.*You should NOT be seeing this.*)lenwarningsfiltersrignore_deprecations_from_warnings_helper_token__name___test_support_tokenclsorig_filter_lens  E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_support.py
setUpClasszTestSupport.setUpClasssfh../%,%E%E*1K&
"#*"B"B>#
8##$!(;;;;cttj}tj|j
|jttj|dz
k(sJy)Nr
)rrrrclear_ignored_deprecationsrrrs  r
tearDownClasszTestSupport.tearDownClass%sRh../**&&##	
8##$!(;;;;rc<tjd5}tjtjdt
|Dcgc]}t
|j}}ddd|jtd|ycc}w#1swY+xYw)z9Test support.ignore_deprecations_from() silences warningsT)recordzYou should NOT be seeing this.Nr)
rcatch_warningsr_warn_about_deprecationwarnDeprecationWarningstrmessageassertEqualr)selfwarning_objswmessagess    r$test_ignored_deprecations_are_silentz0TestSupport.test_ignored_deprecations_are_silent.s{

$
$D
1	>\335MM:<NO0<=1AII=H=	>	
X84>	>	>s3B
B
&B
BBctjd|jtjtjdy)Nftplibfoo)r
import_moduleassertRaisesunittestSkipTestr's rtest_import_modulezTestSupport.test_import_module6s1##H-(++'55u	>rc.tjdy)Nr-)rimport_fresh_moduler3s rtest_import_fresh_modulez$TestSupport.test_import_fresh_module;s))(3rc|jtj|d|j|j	t
jtj|dy)Ntest_get_attributer.)r&r
get_attributer9r0r1r2r3s rr9zTestSupport.test_get_attribute>sI..t5IJ//	1(++W-B-BD%Przfailing buildbotsch|jtjtjyN)r&rget_original_stdoutsysstdoutr3s rtest_get_original_stdoutz$TestSupport.test_get_original_stdoutCs446

Crcddl}|jdtjt	j
d|j
dtjy)Nrsched)rBassertInr>modulesrunloadassertNotIn)r'rBs  rtest_unloadzTestSupport.test_unloadGs9

gs{{+W%#++.rcttdd5}	dddtjt|j	t
jjttjty#1swYnxYw)Nr)utf-8encoding)openTESTFNrunlinkassertFalseospathexists)r'fs  rtest_unlinkzTestSupport.test_unlinkMs_
&#
0	A	 /0 			sBBctjdz}tjj	|d}tj
|tj
|tj||jtjj|tjtdd5tj|dddtj
|tj
|tj|tjtjztjtdd5tj|ddd|jtjj|tj
|tj
|tj|dtjtdd5tj|ddd|jtjj|y#1swYxxYw#1swYxYw#1swYQxYw)Ndsubdirverboser)rrMrPrQjoinmkdirrmtreerOrRr	swap_attrchmodstatS_IRUSRS_IXUSR)r'dirpath
subdirpaths   rtest_rmtreezTestSupport.test_rmtreeTs""S(WW\\'84


!01


w	1
5	&W%	&	

$,,t||34


w	1
5	&W%	&01


!


w	1
5	&W%	&01	&	&	&	&	&	&s$<II;I!II!I*ctdz}t|dd5}td|dddtjjdtjtj	tt}|jttjtjt|jttjtjd=t!j"|t!j$dy#1swYxYw#tjd=t!j"|t!j$dwxYw)	Nz.pyr)rIrJzfoo = 1filer__pycache__)rMrLprintr>rQinsertrPcurdir	importlibinvalidate_caches
__import__rCrDrforgetrFrrNr[)r'mod_filenamerSmods    rtest_forgetzTestSupport.test_forgetls~
,g
6	%!)!$	%299%##%		,V$CMM&#++.  (VS[[1\*]+	%	%\*]+sD1A0D)D&)=E&cntjtjdf}|j	y)Nr)socket
create_serverrHOSTcloser'ss  r	test_HOSTzTestSupport.test_HOST}s&  -"4"4a!89		rctj}tjtj|f}|jyr<)rfind_unused_portrsrtrurv)r'portrxs   rtest_find_unused_portz!TestSupport.test_find_unused_ports4--/  -"4"4d!;<		rctj}tj||j|j	yr<)rsr	bind_portlistenrvrws  rtest_bind_portzTestSupport.test_bind_ports-MMO"	
		rctj}tjj	|}	tjj|d}|j
tjj|tj|5}|j|||jtjj|ddd|j
tjj|tj|y#1swYMxYw#tj|wxYw)z8Test that temp_dir() creates and destroys its directory.tempN)
tempfilemkdtemprPrQrealpathrYrOisdirrtemp_dirr&
assertTruer[)r'
parent_dirrQ	temp_paths    r
test_temp_dirzTestSupport.test_temp_dirs%%'
WW%%j1
	)77<<
F3DRWW]]401##D)
5Y  D1

d 34
5
RWW]]401Z(
5
5

Z(s%A#D1AD%6D1%D.*D11Ectj5}|jtjj|ddd|j
tjjy#1swY8xYw)zTest passing no path.N)rrrrPrQrrO)r'rs  rtest_temp_dir__path_nonez$TestSupport.test_temp_dir__path_nonesY



!	6YOOBGGMM)45	6y12	6	6s/A;;Bcd}tj}tjj	|}	|jtjj
||jt|||jtjj
|tj|y#tj|wxYw)z-Test passing a directory that already exists.c\tj|5}td#1swYyxYwNzshould not get here)rr	Exception)rQrs  r
call_temp_dirzMTestSupport.test_temp_dir__existing_dir__quiet_default.<locals>.call_temp_dirs.##D)
7Y 566
7
7"+N)rrrPrQrrrr0FileExistsErrorshutilr[)r'rrQs   r*test_temp_dir__existing_dir__quiet_defaultz6TestSupport.test_temp_dir__existing_dir__quiet_defaults	7!ww%	 OOBGGMM$/0o}dCOOBGGMM$/0MM$FMM$sA3CCctj}tjj	|}	tj5}tj|d5}|j||ddd|jDcgc]}t|j}}ddd|jtjj|tj ||jt#d||d}|j|j%d|d|y#1swYxYwcc}w#1swYxYw#tj |wxYw)z=Test passing a directory that already exists with quiet=True.TquietNrz5tests may fail, unable to create temporary directory : )rrrPrQrrcheck_warningsrrr&rr$r%rrrr[r
startswith)r'rQrecorderrr)rr"s       r'test_temp_dir__existing_dir__quiet_truez3TestSupport.test_temp_dir__existing_dir__quiet_trues,!ww%	  //1
GX''D96Y$$T9564<4E4EFqC		NFF
G

OOBGGMM$/0MM$X84{+??Chb)JK	66F
G
G
MM$sGE	E!D:4E
E&E(6E:E	?EEEE.cVtjdtjdy)z?Test that a forked child process does not remove the directory.-ca
            import os
            from test import support
            from test.support import os_helper
            with os_helper.temp_cwd() as temp_path:
                pid = os.fork()
                if pid != 0:
                    # parent process

                    # wait for the child to terminate
                    support.wait_process(pid, exitcode=0)

                    # Make sure that temp_path is still present. When the child
                    # process leaves the 'temp_cwd'-context, the __exit__()-
                    # method of the context must not remove the temporary
                    # directory.
                    if not os.path.isdir(temp_path):
                        raise AssertionError("Child removed temp_path.")
        N)rassert_python_oktextwrapdedentr3s rtest_temp_dir__forked_childz'TestSupport.test_temp_dir__forked_childs$
	&&tX__>.
	rctj}tj5}tj|5}|j|||jtj|dddddd|jtj|y#1swY6xYw#1swY:xYwr<)rPgetcwdrr
change_cwdr&)r'original_cwdrnew_cwds    rtest_change_cwdzTestSupport.test_change_cwdsyy{



!	7Y%%i0
7G  )4  g6
7	7
	
l3	
7
7	7	7s"B77B+6B7+B4	0B77Cc:tj}d}tj5}tjj|d}|j
t||ddd|jtj|y#1swY.xYw)z&Test passing a non-existent directory.c\tj|5}td#1swYyxYwr)rrr)rQrs  rcall_change_cwdzFTestSupport.test_change_cwd__non_existent_dir.<locals>.call_change_cwds.%%d+
7w 566
7
7rdoes_not_existN)	rPrrrrQrYr0FileNotFoundErrorr&)r'rrrnon_existent_dirs     r!test_change_cwd__non_existent_dirz-TestSupport.test_change_cwd__non_existent_dirs{yy{	7


!	0Z!ww||J8HI/.
0	0
	
l3	0	0s8BBctj}tj5}tjj|d}t
j5}tj|d5}|j|||jtj|ddd|jDcgc]}t|j}}dddddd|jtd||d}|j|jdd|y#1swYxYwcc}w#1swYixYw#1swYmxYw)	z6Test passing a non-existent directory with quiet=True.rTrNrrBtests may fail, unable to change the current working directory to r)rPrrrrQrYrrrr&rr$r%rrr)	r'rrbad_dirrrr)rr"s	         r-test_change_cwd__non_existent_dir__quiet_truez9TestSupport.test_change_cwd__non_existent_dir__quiet_trues3yy{



!	GZggll:/?@G //1
GX))'>;'$$Wl;$$RYY[':;5=4E4EFqC		NFF	
G	G	
X84{+..5[)<=	;;G	
G
G	G	GsG5EE	67D8-E	EE	!E8E=E		E	EEctdz}tj5}tj|d5	ddd|j
Dcgc]}t
|j}}ddd|jtd||d}|j|jd|d|y#1swYxYwcc}w#1swYaxYw)	z0Check the warning message when os.chdir() fails._does_not_existT)rQrNrrrr)rMrrrrrr$r%r&rrr)r'rQrr)r*msgs      rtest_change_cwd__chdir_warningz*TestSupport.test_change_cwd__chdir_warnings))

+
+
-	C%%4t<

080A0AB1AIIBHB	C
	
X84qk*--1HB(89	


B	C	Cs-CB;CC*C;C	CCctj}tjt5|jtjjtjtddd|jtjjt|jtj|y#1swY`xYw)Nname)
rPrrtemp_cwdrMr&rQbasenamerOrR)r'heres  r
test_temp_cwdzTestSupport.test_temp_cwd%syy{


V
,	DRWW--biik:FC	D/0d+	D	DsACCctj}tjd5}|j	|||jtjj||jtj|ddd|jtj|y#1swY.xYw)z Test passing None to temp_cwd().Nr)	rPrrrassertNotEqualrrQrr&)r'rrs   rtest_temp_cwd__name_nonez$TestSupport.test_temp_cwd__name_none-syy{


T
*	3g6OOBGGMM'23RYY['2	3	
l3		3	3sA%B==CcV|jtjdddddy)Nr
r)rr
rz{1: 1, 2: 2, 3: 3})r&rsortdictr3s r
test_sortdictzTestSupport.test_sortdict6s$))Q!q/:<PQrctj}|jt5}t	j
|dddd|j
jjtjy#1swY>xYw)Nsfoo)
rmake_bad_fdr0OSErrorrPwriter&	exceptionerrnoEBADF)r'fdcms   rtest_make_bad_fdzTestSupport.test_make_bad_fd9sa

"
"
$


w
'	!2HHR 	!++U[[9	!	!sA>>Bctj|ddd|jt5tj|ddddy#1swYyxYw)Nz	def classr)linenooffsetzx=1)rcheck_syntax_errorr0AssertionErrorr3s rtest_check_syntax_errorz#TestSupport.test_check_syntax_error?sI""4QqI


~
.	4&&tU3	4	4	4sAAcddl}tjd5|jddddy#1swYyxYw)Nrpprint)rkrCleanImportr/)r'rks  rtest_CleanImportzTestSupport.test_CleanImportDs8

&
&x
0	.#I##H-	.	.	.s6?cZtjdd5|jdtj|jdtjddd|jdtj|jdtjy#1swYJxYw)Nr.bar)r
DirsOnSysPathrCr>rQrFr3s rtest_DirsOnSysPathzTestSupport.test_DirsOnSysPathIsu

(
(
6	+MM%*MM%*	+	
))		+	+sAB!!B*ctj5}tdddd|jj	dy#1swY*xYw)Nhellohello
)rcaptured_stdoutrhr&getvalue)r'r?s  rtest_captured_stdoutz TestSupport.test_captured_stdoutPsC

$
$
&	&'N	*I6		sA

Actj5}tdtjddd|jj
dy#1swY*xYw)Nrrer)rcaptured_stderrrhr>stderrr&r)r'rs  rtest_captured_stderrz TestSupport.test_captured_stderrUsJ

$
$
&	,&'

+	,*I6	,	,sAA#ctj5}|jd|jdt	}ddd|jdy#1swYxYw)Nrrr)rcaptured_stdinrseekinputr&)r'stdincaptureds   rtest_captured_stdinzTestSupport.test_captured_stdinZsU

#
#
%	KK	"JJqMwH		
	
7+		s-AA&c,tjyr<)r
gc_collectr3s rtest_gc_collectzTestSupport.test_gc_collectbsrcT|jtjtyr<)assertIsInstancerpython_is_optimizedboolr3s rtest_python_is_optimizedz$TestSupport.test_python_is_optimizedesg99;TBrcGdd}|}d|_tj|dd5}|j|jd|j|dddd|j|jdtj|dd5}|j|jd|j|ddd|j
t|dtj|dd5|`ddd|j
t|dy#1swYxYw#1swYnxYw#1swY=xYw)NceZdZy)'TestSupport.test_swap_attr.<locals>.ObjN)r
__module____qualname__rrObjrisrrrxry)rrr\r&rassertIsNonerOhasattr)r'robjrrs     rtest_swap_attrzTestSupport.test_swap_attrhs 		e


sC
+	#qSUUA&Q"	#	
"


sC
+	!qSUUA&a 	!	
c*+


sC
+		c*+	#	#	!	!		s#/D).D5E)D25D>E
c&ddi}tj|dd5}|j|dd|j|dddd|j|ddtj|dd5}|j|dd|j|ddd|j	d|tj|dd5|d=ddd|j	d|y#1swYxYw#1swY]xYw#1swY4xYw)Nrrrr)r	swap_itemr&rrF)r'Drrs    rtest_swap_itemzTestSupport.test_swap_itemys	
G


q#q
)	#QQsVQ'Q"	#	
3#


q#q
)	!QQsVQ'a 	!	
a 


q#q
)	#	a 	#	#	!	!		s#(C/8'C;D/C8;DDceZdZdZdZdZdZy)TestSupport.RefClassN)rrr
attribute1
attribute2_hidden_attribute1__magic_1__rrrRefClassrs

!rrceZdZdZdZdZdZy)TestSupport.OtherClassN)rrrr
attribute3r__magic_2__rrr
OtherClassrs

rrctj|j|j}|j	dh|tj|j|j}|j	ddh|y)Nrrr)rdetect_api_mismatchrrr&)r'
missing_itemss  rtest_detect_api_mismatchz$TestSupport.test_detect_api_mismatchse33DMM48OOE
,733DOO48MMC
,
6
Frc$gd}tj|j|j|}|j	t|tj|j|j|}|j	t|y)N)rrr
not_in_either)ignore)rrrrr&set)r'rrs   r test_detect_api_mismatch__ignorez,TestSupport.test_detect_api_mismatch__ignoresiM33

tv?

.33v?

.rcdh}dh}tj|t||hd}hd}tj|td|||j	t
tj|ty)Ntempdirtemplate)extranot_exported>	makeSuite
findTestCasesTextTestResultinstallHandlergetTestCaseNames>
load_testsTestProgram
BaseTestSuite)zunittest.resultz
unittest.casezunittest.suitezunittest.loaderz
unittest.mainzunittest.runnerzunittest.signalszunittest.async_case)rcheck__all__rr1r0r)r'r%r&s   rtest_check__all__zTestSupport.test_check__all__su"|T%#(*6	8

FT%I$)*6	8	
.'*>*>hOrwaitpidWNOHANGz need os.waitpid() and os.WNOHANGctjtj}|dk(rtjdtj
}	dt_t
j}tjtjD]V}tjtjd|5tjdddtj
sVnd|z}|j||j|jtj
|t_tjy#1swYxYw#|t_wxYw)NrForig_stderrz2Warning -- reap_children() reaped child process %s)r
reap_childrenrPfork_exitenvironment_alteredioStringIOsleeping_retry
SHORT_TIMEOUTr\
print_warningrCrr)r'pidwas_alteredr_rs      rtest_reap_childrenzTestSupport.test_reap_childrens
	ggi!8HHQK11	6*/G'[[]F++G,A,AB
&&w'<'<mVT,))+,
..
GLCMM#v01OOG778*5G'	!,,+6G's,A*E>EE,AEE	E
E,Ncd|d|d}tjg|d|}tjj	Dcic]\}}|jds||}}}t
j|tjtjd|}	||}|j|	jjt||j|	jdycc}}w)	Nzfrom test.support import z
; print(repr(z()))rPYTHONT)r?runiversal_newlinesenvr)r>
executablerPenvironitemsr
subprocessrunPIPEDEVNULLr&r?rstriprepr
returncode)
r'argsfuncexpectedcodecmdkeyvaluerEprocs
          r
check_optionszTestSupport.check_optionss*4&
dV4H~~11d1D1,.JJ,<,<,>0jc5nnX.Ez00~~c%/__%/%7%715"%	'
H++-tH~>!,0sC-cpucgdgdgdgdgdgdgdgdgd	gd
gdgdgd
dggdd
dgd
dgd
dgd
dgd
dgfD]/}|j|5|j|dddd1|jgddd	gy#1swYRxYw)Nz-B-sz-S-Ez-vz-b-Pz-q-Iz-bbz-vvv-Wignore-Xdev)r_r`rafaulthandler
importtimeshowrefcounttracemallocz
tracemalloc=3optsargs_from_interpreter_flags)r^r\r[r]subTestrXr'rgs  r test_args_from_interpreter_flagsz,TestSupport.test_args_from_interpreter_flagss


F
F
F
F
F
F
F
F
F
G
H
L
5M%
>"
< 
>"
=!
?#3
	HD64(
H""4)FG
H
H7	H<	
38 6	#
H
HsA::B	cgdgdgdgfD]/}|j|5|j|dddd1y#1swY<xYw)Nz-Oz-OOz-OOOOrf!optim_args_from_interpreter_flagsrirks  r&test_optim_args_from_interpreter_flagsz2TestSupport.test_optim_args_from_interpreter_flagssi

F
G
I
	ND4(
N""4)LM
N
N	N
N
Ns	=A	cXGdd}|d}|d}tjtdd5tjg|jtj||jtj|tjdd|jtj||jtj|tj|jgd|jtj||j
tj|tjdgd|jtj||jtj|tjdgd|jtj||jtj|tjdgd|j
tj|tjd	gd|jtj|tjd
gd|jtj||jtj|tj|j|jgd|jtj||jtj|tjddgd|jtj||j
tj|dddtjtdd5tjg
|jtj||jtj|tjdd|jtj||jtj|tjd|jg|j
tj||jtj|tjddg|j
tj||j
tj|tjddg|j
tj||j
tj|tjddg|jtj|tjdd	g|j
tj|tjdd
g|j
tj||j
tj|tjd|j|jg|j
tj||j
tj|tjdddg|j
tj||jtj|dddy#1swYxYw#1swYyxYw)NceZdZdZdZy))TestSupport.test_match_test.<locals>.Testc||_yr<test_id)r'rus  r__init__z2TestSupport.test_match_test.<locals>.Test.__init__*s	&rc|jSr<rtr3s ridz,TestSupport.test_match_test.<locals>.Test.id-s||#rN)rrrrvrxrrrTestrr)s
'
$rryz"test.test_os.FileTests.test_accessz'test.test_os.Win32ErrorTests.test_chdir_match_test_functest_osztest_*	filetests	FileTestsz*test_os.*.test_*test_access	DONTMATCH)ignore_patterns)rr\set_match_testsr
match_testrxrO)r'ryr~
test_chdirs    rtest_match_testzTestSupport.test_match_test(s	$	$?@CD


w(:D
A,	=##B'OOG..{;<OOG..z:;
##D$/OOG..{;<OOG..z:;
##[^^%5$6=OOG..{;<W//
;<
##YK6OOG..{;<OOG..z:;
##XJ5OOG..{;<OOG..z:;
##[M48W//<=##[M48OOG..{;<
##%8$94@OOG..{;<OOG..z:;
##[^^%5z}}$GNOOG..{;<OOG..z:;##]K$@$GOOG..{;<W//
;<Y,	=^

w(:D
A,	<##B7OOG..{;<OOG..z:;
##D$/OOG..{;<OOG..z:;
##D;>>+;*<=W//<=OOG..z:;
##D9+6W//<=W//
;<
##D8*5W//<=W//
;<
##D;-8OOG..{;<##D;-8W//<=
##D+>*?@W//<=W//
;<
##D;>>+;Z]]_*MNW//<=W//
;<##D=+*FGW//<=OOG..z:;Y,	<,	<_,	=,	=^,	<,	<sN^1N^ ^ ^)zUnstable in EmscriptenzUnavailable on WASIc.tj}tjttj
}	tj}tj||j||z
dy#tj|wxYwNr)rfd_countrPrL__file__O_RDONLYrvr&)r'startrmores    r
test_fd_countzTestSupport.test_fd_countsg""$
WWXr{{
+	%%'DHHRLq)
HHRLsA==Bc
tj}tjtjd|5tj|ddd|j|j
|y#1swY*xYw)Nr4)r9r:rr\r=r&r)r'rrRrs    rcheck_print_warningzTestSupport.check_print_warnings_


w44mV
L	'!!#&	'*H5	'	'sA99BcL|jdd|jddy)NrzWarning -- msg
za
bzWarning -- a
Warning -- b
)rr3s rtest_print_warningzTestSupport.test_print_warnings)  !3	5  !?	Arctjstjdk(r |j	tj
y|j
tj
y)Nwin32)r
is_emscriptenr>platformrOhas_strftime_extensionsrr3s rtest_has_strftime_extensionsz(TestSupport.test_has_strftime_extensionss<  CLLG$;W<<=OOG;;<rcZtjd}tjd|y)Nap
            from test import support
            import sys

            def check(cond):
                if not cond:
                    raise AssertionError("test failed")

            # depth 1
            check(support.get_recursion_depth() == 1)

            # depth 2
            def test_func():
                check(support.get_recursion_depth() == 2)
            test_func()

            def test_recursive(depth, limit):
                if depth >= limit:
                    # cannot call get_recursion_depth() at this depth,
                    # it can raise RecursionError
                    return
                get_depth = support.get_recursion_depth()
                print(f"test_recursive: {depth}/{limit}: "
                      f"get_recursion_depth() says {get_depth}")
                check(get_depth == depth)
                test_recursive(depth + 1, limit)

            # depth up to 25
            with support.infinite_recursion(max_depth=25):
                limit = sys.getrecursionlimit()
                print(f"test with sys.getrecursionlimit()={limit}")
                test_recursive(2, limit)

            # depth up to 500
            with support.infinite_recursion(max_depth=500):
                limit = sys.getrecursionlimit()
                print(f"test with sys.getrecursionlimit()={limit}")
                test_recursive(2, limit)
        r)rrrr)r'rSs  rtest_get_recursion_depthz$TestSupport.test_get_recursion_depths(& &
N	&&tT2rcfddD]Y}tj|5tj}|	|dz|jdddd[tjd5	d|jddddy#t$rYNwxYw#1swYxYw#t$rY/wxYw#1swYyxYw)Nc"|r|dz
yyrr)depthrecursive_functions rrz6TestSupport.test_recursion.<locals>.recursive_functions"519-r)rrzRecursionError was not raisedr)rinfinite_recursionget_recursion_availablefailRecursionError)r'	max_depth	availablers   @rtest_recursionzTestSupport.test_recursions	.&	?I++I6
?#;;=	#9-
?&y1}5II=>
?
?	?$
'
'
*	;
;"1%		9:
	;	;
&
?
?("

	;	;s^B-B
B-:C<B9C	B*'B-)B**B--B6	9	CCCCCr<)Frrrclassmethodrrr+r4r7r9r1skipr@rGrTrcrqrrequires_working_socketryr}rrrrr
requires_forkrrrrrrrrrrrrrrrrrrrrrrr!r0
skipUnlessrrPrArequires_subprocessrXrequires_resourcerlrorskipIfris_wasirrrrrrrrrr
r
s}<<<<5>
4Q
X]]&'D(D/!20,"%W$$&'%W$$&'
%W$$&'
)3  *W44
4*
",4R:4
.
*7
7
,C,"!G	/P6XY/JGB	4J;=W  =  D!W  "
-#
-Wu%"#&"#H
Ng<RX__W**,DEX__W__&;<*=F*6A=)3V;rr
__main__)rrkr9rPrrsr^rIr>rrr1rtestrtest.supportrrrrrrMTestCaser
rmainrrr<module>rsx		


&"&&(			c;(##c;~zHMMOr