python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_support.cpython-311.pyc

em ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZddlmZddlmZddlmZddlmZddlmZejZGdd	ejZed
krejdSdS)N)support)
import_helper)	os_helper)
script_helper)
socket_helper)warnings_helperceZdZedZedZdZdZdZdZ	e
jddZd	Z
d
ZdZdZejd
ZejdZejdZdZdZdZdZejdZdZdZdZdZdZ 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
j3e4e5d.oe4e5d/d0ejd1Z6ej7dBd3Z8ej9d4d5Z:d6Z;e
j<ej=d7e
j<ej>d8d9Z?d:Z@d;ZAd<ZBd=ZCd>ZDd?ZEd@ZFdAZGd2S)CTestSupportcttj}tjdd|_tjtd|_ttj|dzksJdS)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.11.7/bootstrap/lib/python3.11/test/test_support.py
setUpClasszTestSupport.setUpClasss}h.//%,%E*1K&
&
&
"#*"B>#
#
#
8#$$!(;;;;;;;cttj}tj|j|jttj|dz
ksJdS)Nr
)rrrrclear_ignored_deprecationsrrrs  r
tearDownClasszTestSupport.tearDownClass&s\h.//*&#	
	
	
8#$$!(;;;;;;;rctjd5}tjtjdt
d|D}dddn#1swxYwY|t|d|dS)z9Test support.ignore_deprecations_from() silences warningsT)recordzYou should NOT be seeing this.c6g|]}t|jSstrmessage.0ws  r
<listcomp>zDTestSupport.test_ignored_deprecations_are_silent.<locals>.<listcomp>4s ===1AI===rNr)rcatch_warningsr_warn_about_deprecationwarnDeprecationWarningassertEqualr)selfwarning_objsmessagess   r$test_ignored_deprecations_are_silentz0TestSupport.test_ignored_deprecations_are_silent/s

$D
1
1
1	>\3555M:<NOOO=====H	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>	
X844444s:AA #A ctjd|tjtjddS)Nftplibfoo)r
import_moduleassertRaisesunittestSkipTestr.s rtest_import_modulezTestSupport.test_import_module7sB#H---(+'5u	>	>	>	>	>rc.tjddS)Nr3)rimport_fresh_moduler9s rtest_import_fresh_modulez$TestSupport.test_import_fresh_module<s)(33333rc|tj|d|j|t
jtj|ddS)Ntest_get_attributer4)r-r
get_attributer?r6r7r8r9s rr?zTestSupport.test_get_attribute?sV.t5IJJ/	1	1	1(+W-BD%PPPPPrzfailing buildbotsch|tjtjdSN)r-rget_original_stdoutsysstdoutr9s rtest_get_original_stdoutz$TestSupport.test_get_original_stdoutDs)466
CCCCCrcddl}|dtjt	jd|dtjdS)Nrsched)rHassertInrDmodulesrunloadassertNotIn)r.rHs  rtest_unloadzTestSupport.test_unloadHsP

gs{+++W%%%#+.....rc8ttdd5}	dddn#1swxYwYtjt|t
jttjtdS)Nr'utf-8encoding)openTESTFNrunlinkassertFalseospathexists)r.fs  rtest_unlinkzTestSupport.test_unlinkNs
&#
0
0
0	A															   //000     s&**ctjdz}tj|d}tj|tj|tj||tj|tj
tdd5tj|dddn#1swxYwYtj|tj|tj|tj
tjztj
tdd5tj|dddn#1swxYwY|tj|tj|tj|tj|dtj
tdd5tj|dddn#1swxYwY|tj|dS)Ndsubdirverboser)rrSrVrWjoinmkdirrmtreerUrXr	swap_attrchmodstatS_IRUSRS_IXUSR)r.dirpath
subdirpaths   rtest_rmtreezTestSupport.test_rmtreeUs"S(W\\'844


!!!00111

w	1
5
5	&	&W%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	

$,t|3444

w	1
5
5	&	&W%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&00111


!

w	1
5
5	&	&W%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&0011111s69CC!CE55E9<E9
H++H/2H/ctdz}t|dd5}td|dddn#1swxYwYtjdtjtj		tt}|ttjtjt|ttjtjd=t!j|t!jddS#tjd=t!j|t!jdwxYw)	Nz.pyr'rOrPzfoo = 1filer__pycache__)rSrRprintrDrWinsertrVcurdir	importlibinvalidate_caches
__import__rIrJrforgetrLrrTra)r.mod_filenamerYmods    rtest_forgetzTestSupport.test_forgetmsb~
,g
6
6
6	%!)!$$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%29%%%#%%%		,V$$CMM&#+... (((VS[111\***]+++++\***]++++s;??A7D227E)cntjtjdf}|dS)Nr)socket
create_serverrHOSTcloser.ss  r	test_HOSTzTestSupport.test_HOST~s+ -"4a!899						rctj}tjtj|f}|dSrB)rfind_unused_portryrzr{r|)r.portr~s   rtest_find_unused_portz!TestSupport.test_find_unused_ports9-// -"4d!;<<						rctj}tj|||dSrB)ryr	bind_portlistenr|r}s  rtest_bind_portzTestSupport.test_bind_ports<MOO"""	


						rctj}tj|}	tj|d}|tj|tj	|5}|
|||tj|dddn#1swxYwY|tj|tj|dS#tj|wxYw)z8Test that temp_dir() creates and destroys its directory.tempN)
tempfilemkdtemprVrWrealpathr_rUisdirrtemp_dirr-
assertTruera)r.
parent_dirrW	temp_paths    r
test_temp_dirzTestSupport.test_temp_dirsL%''
W%%j11
	)7<<
F33DRW]]400111#D))
5Y  D111

d 3 3444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
RW]]400111Z(((((IZ((((s1A&EA	C/#E/C33E6C375EEc$tj5}|tj|dddn#1swxYwY|tj|dS)zTest passing no path.N)rrrrVrWrrU)r.rs  rtest_temp_dir__path_nonez$TestSupport.test_temp_dir__path_nones


!
!	6YOOBGMM)44555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6y1122222s3AAAcd}tj}tj|}	|tj||t|||tj|tj
|dS#tj
|wxYw)z-Test passing a directory that already exists.cdtj|5}td#1swxYwYdSNzshould not get here)rr	Exception)rWrs  r
call_temp_dirzMTestSupport.test_temp_dir__existing_dir__quiet_default.<locals>.call_temp_dirs[#D))
7Y 5666
7
7
7
7
7
7
7
7
7
7%))N)rrrVrWrrrr6FileExistsErrorshutilra)r.rrWs   r*test_temp_dir__existing_dir__quiet_defaultz6TestSupport.test_temp_dir__existing_dir__quiet_defaults	7	7	7!!w%%	 OOBGMM$//000o}dCCCOOBGMM$//000M$FM$sBC

C#ctj}tj|}	tj5}tj|d5}|	||dddn#1swxYwYd|j
D}dddn#1swxYwY|tj|tj|n#tj|wxYw|	t|d||d}||d|d|dS)	z=Test passing a directory that already exists with quiet=True.TquietNc6g|]}t|jSr!r"r%s  rr(zGTestSupport.test_temp_dir__existing_dir__quiet_true.<locals>.<listcomp> FFFqC	NNFFFrrz5tests may fail, unable to create temporary directory : )rrrVrWrrcheck_warningsrrr-rrrrrar
startswith)r.rWrecorderrrr+s      r'test_temp_dir__existing_dir__quiet_truez3TestSupport.test_temp_dir__existing_dir__quiet_trues!!w%%	  /11
GX'D9996Y$$T9555666666666666666FFH4EFFF
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G

OOBGMM$//000M$FM$X8444{)J?C)J)J)JKK					sSC;B)B5B)B	B)B		B)C;)B--C;0B-15C;;DcTtjdtjddS)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_oktextwrapdedentr9s rtest_temp_dir__forked_childz'TestSupport.test_temp_dir__forked_childs8
	&tX_>.
.
					rctj}tj5}tj|5}||||tj|dddn#1swxYwYdddn#1swxYwY|tj|dSrB)rVgetcwdrr
change_cwdr-)r.original_cwdrnew_cwds    rtest_change_cwdzTestSupport.test_change_cwds'y{{


!
!	7Y%i00
7G  )444  g666
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7
	
l33333s4B>B:BB
	
B
B
	BB!$B!cNtj}d}tj5}tj|d}|t||dddn#1swxYwY|tj|dS)z&Test passing a non-existent directory.cdtj|5}td#1swxYwYdSr)rrr)rWrs  rcall_change_cwdzFTestSupport.test_change_cwd__non_existent_dir.<locals>.call_change_cwds[%d++
7w 5666
7
7
7
7
7
7
7
7
7
7rdoes_not_existN)	rVrrrrWr_r6FileNotFoundErrorr-)r.rrrnon_existent_dirs     r!test_change_cwd__non_existent_dirz-TestSupport.test_change_cwd__non_existent_dirsy{{	7	7	7

!
!	0Z!w||J8HII/.
0
0
0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
	
l33333s=A33A7:A7ctj}tj5}tj|d}t
j5}tj|d5}|	|||	tj|dddn#1swxYwYd|j
D}dddn#1swxYwYdddn#1swxYwY|	t|d||d}||
d|d	|dS)
z6Test passing a non-existent directory with quiet=True.rTrNc6g|]}t|jSr!r"r%s  rr(zMTestSupport.test_change_cwd__non_existent_dir__quiet_true.<locals>.<listcomp>
rrrrBtests may fail, unable to change the current working directory to r)rVrrrrWr_rrrr-rrrr)r.rrbad_dirrrrr+s        r-test_change_cwd__non_existent_dir__quiet_truez9TestSupport.test_change_cwd__non_existent_dir__quiet_trues-y{{


!
!	GZgll:/?@@G /11
GX)'>>>;'$$Wl;;;$$RY[[':::;;;;;;;;;;;;;;;GFH4EFFF	
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	
X8444{)<.5)<)<)<==					sY4C;C$2>B<0C$<CC$CC$C;$C(	(C;+C(	,C;;C?C?ctdz}tj5}tj|d5	dddn#1swxYwYd|jD}dddn#1swxYwY|t|d||d}||	d|d	|dS)
z0Check the warning message when os.chdir() fails._does_not_existT)rWrNc6g|]}t|jSr!r"r%s  rr(z>TestSupport.test_change_cwd__chdir_warning.<locals>.<listcomp>s BBB1AIBBBrrrrr)
rSrrrrrr-rrr)r.rWrr0msgs     rtest_change_cwd__chdir_warningz*TestSupport.test_change_cwd__chdir_warningsw))

+
-
-	C%4t<<<
















BB0ABBBH	C	C	C	C	C	C	C	C	C	C	C	C	C	C	C
	
X8444qk(8-1(8(8(899					s3A+AA+A	A+
A	A++A/2A/ctj}tjt5|tjtjtdddn#1swxYwY|tj	t|tj|dS)Nname)
rVrrtemp_cwdrSr-rWbasenamerUrX)r.heres  r
test_temp_cwdzTestSupport.test_temp_cwd&sy{{

V
,
,
,	D	DRW--bikk::FCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D//000d+++++sA
BBBctj}tjd5}||||tj||tj|dddn#1swxYwY|tj|dS)z Test passing None to temp_cwd().Nr)	rVrrrassertNotEqualrrWrr-)r.rrs   rtest_temp_cwd__name_nonez$TestSupport.test_temp_cwd__name_none.sy{{

T
*
*
*	3g666OOBGMM'22333RY[['222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	
l33333sA0B%%B),B)c^|tjddddddS)Nr
r)rr
rz{1: 1, 2: 2, 3: 3})r-rsortdictr9s r
test_sortdictzTestSupport.test_sortdict7s2)Q!q//::<PQQQQQrctj}|t5}t	j|ddddn#1swxYwY||jjtj	dS)Nsfoo)
rmake_bad_fdr6OSErrorrVwriter-	exceptionerrnoEBADF)r.fdcms   rtest_make_bad_fdzTestSupport.test_make_bad_fd:s

"
$
$


w
'
'	!2HR   	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!+U[99999sAAActj|ddd|t5tj|dddddS#1swxYwYdS)Nz	def classr)linenooffsetzx=1)rcheck_syntax_errorr6AssertionErrorr9s rtest_check_syntax_errorz#TestSupport.test_check_syntax_error@s"4QqIIII


~
.
.	4	4&tU333	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4sAAAcddl}tjd5|jdddddS#1swxYwYdS)Nrpprint)rqrCleanImportr5)r.rqs  rtest_CleanImportzTestSupport.test_CleanImportEs

&x
0
0	.	.#I#H---	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.s7;;c`tjdd5|dtj|dtjdddn#1swxYwY|dtj|dtjdS)Nr4bar)r
DirsOnSysPathrIrDrWrLr9s rtest_DirsOnSysPathzTestSupport.test_DirsOnSysPathJs

(
6
6	+	+MM%***MM%***	+	+	+	+	+	+	+	+	+	+	+	+	+	+	+	
))))))))sAA##A'*A'ctj5}tddddn#1swxYwY||ddS)Nhellohello
)rcaptured_stdoutrnr-getvalue)r.rEs  rtest_captured_stdoutz TestSupport.test_captured_stdoutQs

$
&
&	&'NNN															**I66666s044ctj5}tdtjdddn#1swxYwY||ddS)Nrrkr)rcaptured_stderrrnrDstderrr-r)r.rs  rtest_captured_stderrz TestSupport.test_captured_stderrVs

$
&
&	,&'
++++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,**I66666s<AActj5}|d|dt	}dddn#1swxYwY||ddS)Nrrr)rcaptured_stdinrseekinputr-)r.stdincaptureds   rtest_captured_stdinzTestSupport.test_captured_stdin[s

#
%
%	KK	"""JJqMMMwwH																
	
7+++++s9AA Ac,tjdSrB)r
gc_collectr9s rtest_gc_collectzTestSupport.test_gc_collectcsrc^|tjtdSrB)assertIsInstancerpython_is_optimizedboolr9s rtest_python_is_optimizedz$TestSupport.test_python_is_optimizedfs'g9;;TBBBBBrcGdd}|}d|_tj|dd5}||jd||ddddn#1swxYwY||jdtj|dd5}||jd||dddn#1swxYwY|t|dtj|dd5|`dddn#1swxYwY|t|ddS)NceZdZdS)'TestSupport.test_swap_attr.<locals>.ObjN)r
__module____qualname__r!rrObjrjsDrrrxry)rrrbr-r
assertIsNonerUhasattr)r.robjrr
s     rtest_swap_attrzTestSupport.test_swap_attris1								cee

sC
+
+	#qSUA&&&Q"""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	
"""

sC
+
+	!qSUA&&&a   	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!	
c**+++

sC
+
+																	c**+++++s52A33A7:A7/1C,,C03C00D??EEc~ddi}tj|dd5}||dd||ddddn#1swxYwY||ddtj|dd5}||dd||dddn#1swxYwY|d|tj|dd5|d=dddn#1swxYwY|d|dS)Nrrrr
)r	swap_itemr-rrL)r.Drr
s    rtest_swap_itemzTestSupport.test_swap_itemzs
G

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

q#q
)
)	!QQsVQ'''a   	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!	
a   

q#q
)
)		#															a     s53AA!A2CCCDD #D ceZdZdZdZdZdZdS)TestSupport.RefClassN)rr	r

attribute1
attribute2_hidden_attribute1__magic_1__r!rrRefClassrs#

!rrceZdZdZdZdZdZdS)TestSupport.OtherClassN)rr	r
r
attribute3r__magic_2__r!rr
OtherClassrs"

rr!ctj|j|j}|dh|tj|j|j}|ddh|dS)Nrrr )rdetect_api_mismatchrr!r-)r.
missing_itemss  rtest_detect_api_mismatchz$TestSupport.test_detect_api_mismatchsu3DM48OEE
,7773DO48MCC
,
6
FFFFFrcgd}tj|j|j|}|t|tj|j|j|}|t|dS)N)rrr 
not_in_either)ignore)rr#rr!r-set)r.r(r$s   r test_detect_api_mismatch__ignorez,TestSupport.test_detect_api_mismatch__ignoresMMM3
tv???

...3v???

.....rcdh}dh}tj|t||hd}hd}tj|td|||t
tj|tdS)Ntempdirtemplate)extranot_exported>	makeSuite
findTestCasesTextTestResultinstallHandlergetTestCaseNames>
load_testsTestProgram
BaseTestSuite)zunittest.resultz
unittest.casezunittest.suitezunittest.loaderz
unittest.mainzunittest.runnerzunittest.signalszunittest.async_case)rcheck__all__rr7r6r)r.r.r/s   rtest_check__all__zTestSupport.test_check__all__s"|T%#(*6	8	8	8	8



FEET%I$)*6	8	8	8	8	
.'*>hOOOOOrwaitpidWNOHANGz need os.waitpid() and os.WNOHANGctjtj}|dkrtjdtj}	dt_t
j}tjtj	D][}tj
tjd|5tjdddn#1swxYwYtjrn\d|z}|||
|tj|t_n#|t_wxYwtjdS)NrForig_stderrz2Warning -- reap_children() reaped child process %s)r
reap_childrenrVfork_exitenvironment_alteredioStringIOsleeping_retry
SHORT_TIMEOUTrb
print_warningrIrr)r.pidwas_alteredr_rs      rtest_reap_childrenzTestSupport.test_reap_childrens|
	gii!88HQKKK1	6*/G'[]]F+G,ABB

&w'<mVTT,,)+++,,,,,,,,,,,,,,,
.EGLCMM#v00111OOG7888*5G''+G'5555	s2AE-C
E
C	EC	AEENcd|d|d}tjg|d|}dtjD}tj|t
jt
jd|}||}|	|j
t||	|j
ddS)	Nzfrom test.support import z
; print(repr(z()))rcDi|]\}}|d||S)PYTHON)r)r&keyvalues   r
<dictcomp>z-TestSupport.check_options.<locals>.<dictcomp>s>000jc5nnX..0sE000rT)rEruniversal_newlinesenvr)rD
executablerVenvironitems
subprocessrunPIPEDEVNULLr-rErstriprepr
returncode)r.argsfuncexpectedcodecmdrRprocs        r
check_optionszTestSupport.check_optionssH4HHdHHH~11d1D100BJ,<,<,>,>000~c%/_%/%715"%	'''
H++--tH~~>>>!,,,,,rcpuc(gdgdgdgdgdgdgdgdgd	gd
gdgdgd
dggdd
dgd
dgd
dgd
dgd
dgfD]F}||5||ddddn#1swxYwYG|gddd	gdS)Nz-B-sz-S-Ez-vz-b-Pz-q-Iz-bbz-vvv-Wignore-Xdev)rjrkrlfaulthandler
importtimeshowrefcounttracemallocz
tracemalloc=3optsargs_from_interpreter_flags)rirgrfrhsubTestrcr.rrs  r test_args_from_interpreter_flagsz,TestSupport.test_args_from_interpreter_flagssW


F
F
F
F
F
F
F
F
F
G
H
L
5M%%%
>"
< 
>"
=!
?#3
	H	HD64((
H
H""4)FGGG
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H	
3338 6	#	#	#	#	#s	A,,A0	3A0	cgdgdgdgfD]F}||5||ddddn#1swxYwYGdS)Nz-Oz-OOz-OOOOrq!optim_args_from_interpreter_flagsrtrvs  r&test_optim_args_from_interpreter_flagsz2TestSupport.test_optim_args_from_interpreter_flagss

F
G
I
	N	ND4((
N
N""4)LMMM
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N	N	NsAA		A		zUnstable in EmscriptenzUnavailable on WASIc*tj}tjttj}	tj}tj|n#tj|wxYw|||z
ddSNr)rfd_countrVrR__file__O_RDONLYr|r-)r.startrmores    r
test_fd_countzTestSupport.test_fd_count)sy"$$
WXr{
+
+	%''DHRLLLLBHRLLLLq)))))sA!!A7ctj}tjtjd|5tj|dddn#1swxYwY|||dS)Nr=)rBrCrrbrFr-r)r.rr_rs    rcheck_print_warningzTestSupport.check_print_warning9s

w4mV
L
L	'	'!#&&&	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'**H55555sAAAc^|dd|dddS)NrzWarning -- msg
za
bzWarning -- a
Warning -- b
)rr9s rtest_print_warningzTestSupport.test_print_warning?sK  !3	5	5	5  !?	A	A	A	A	Arctjstjdkr!|tjdS|tjdS)Nwin32)r
is_emscriptenrDplatformrUhas_strftime_extensionsrr9s rtest_has_strftime_extensionsz(TestSupport.test_has_strftime_extensionsEsQ 	=CLG$;$;W<=====OOG;<<<<<rcXtjd}tjd|dS)Na
            from test import support
            import sys
            try:
                from _testcapi import USE_STACKCHECK
            except ImportError:
                USE_STACKCHECK = False

            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)

            if USE_STACKCHECK:
                # f-string consumes 2 frames and -1 for USE_STACKCHECK
                IGNORE = 3
            else:
                # f-string consumes 2 frames
                IGNORE = 2

            # 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 - IGNORE)

            # 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 - IGNORE)
        r)rrrr)r.r`s  rtest_get_recursion_depthz$TestSupport.test_get_recursion_depthKs41 1
1
d	&tT22222rcfddD]}tj|5tj}|	|dz|dn#t$rYnwxYwdddn#1swxYwYtjd5	d|dn#t$rYnwxYwddddS#1swxYwYdS)Nc,|r|dz
dSdSr|r!)depthrecursive_functions rrz6TestSupport.test_recursion.<locals>.recursive_functions0
.""519-----
.
.r)rrzRecursionError was not raised)rinfinite_recursionget_recursion_availablefailRecursionError)r.	max_depth	availablers   @rtest_recursionzTestSupport.test_recursions	.	.	.	.	.&	?	?I+I66
?
?#;==	#"9---
?&&y1}555II=>>>>&D
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?"
'
*
*	;	;
;""1%%%		9::::"



	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;sjA?A#
A?#
A0-A?/A00A??B	B	C!C,C
CCCCC#&C#ctj}d}|dz}|dz}|dz}||dd||dd|z||dtd|z||dtd	|z||d
|dD]m}||5|t5||dddn#1swxYwYdddn#1swxYwYndS)
Ni0kr3krz2.4mg333333@4gr1t)3z3.5.10k10x)limit)r_parse_memlimitr-intrur6
ValueError)r.parseKiBMiBGiBTiBrs       rtest_parse_memlimitzTestSupport.test_parse_memlimits'DjDjDjta(((ta#g...vC#I777tc!c'll333tc***0	!	!EE**
!
!&&z22!!E%LLL!!!!!!!!!!!!!!!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!	!	!s66ED)E)D--E0D-1EE	E	cd}d}tj}tj}	tjdkrtjd|tj||tj|ddz|z}tj|d|tjtj|tj||zn^tjd|tjtj|tj||t_|t_dS#|t_|t_wxYw)Nllrr
dt)r
max_memusereal_max_memuserDmaxsizeset_memlimitr-)r._4GiBrold_max_memuseold_real_max_memusebigs      rtest_set_memlimitzTestSupport.test_set_memlimitsK +%5	:{U""$T***  !3U;;;  !8%@@@fm$YYY///  !3S[AAA  !8#)DDDD$T***  !3S[AAA  !8%@@@!/G&9G###"0G&9G#9999sD/E''Fctjd}|stjd}tj|}tj|s|d|tj|d}tj|s|d|dddh}tj|}|	tj|||dhztj|d	}|	tj|tj||dd
hztj|d}|	tj|tj||dS)N
abs_srcdirsrcdirz,cannot access Python source code directory: Modulesz landmark is missingz.gitrmbuildDocvenvObjects)	sysconfigget_config_varrVrWabspathrXskipTestr_listdirr-rcopy_python_src_ignore)r.src_dirlandmarkignorednamesrWs      rtest_copy_python_src_ignorez'TestSupport.test_copy_python_src_ignores*<88	9.x88G'//'**w~~g&&	+MM*%**
+
+
+7<<33w~~h''	@MM?&???
@
@
@=)
7##7GG G9,	.	.	.w||GU++7bj>N>NOO GV#44	6	6	6w||GY//7bj>N>NOO 	"	"	"	"	"rrB)Hrr	r
classmethodrrr1r:r=r?r7skiprFrMrZrirwrrequires_working_socketrrrrrrr
requires_forkrrrrrrrrrrrrrrrrrrrrr!r%r*r9
skipUnlessrrVrJrequires_subprocessrcrequires_resourcerwrzskipIfris_wasirrrrrrrrrr!rrr
r
s<<[<<<[<555>>>
444QQQ
X]&''DD('D///!!!2220,,,"%W$&&'&%W$&&'&
%W$&&'&
)
)
)333    *W4444
4
4
4*


",,,444RRR:::444
...
***777
777
,,,CCC,,,"!!!GGG	/	/	/PPP6XY//JGGB	4J4J;==W    ==  D!W ""
-
-
-#"
-Wu%%"#"#&%"#H
N
N
NX_W*,DEEX_W_&;<<**=<FE*666AAA===434343l;;;@!!!":::.""""""""""rr
__main__)rrqrBrVrryrdrVrDrrrr7rtestrtest.supportrrrrrrSTestCaser
rmainr!rr<module>rs\								











&&&&&&""""""&&&&&&&&&&&&((((((		Q"Q"Q"Q"Q"(#Q"Q"Q"RzHMOOOOOr