python (3.11.7)

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

e:ddlmZddlmZmZmZddlZddlmZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZejsejdejdkZeedZdZdZd	Zd
ZdZd	ZdZ dZ!ej"#ej$ej%d
ej&j'dej&j(Z)ej"*ej"#e)dsdZ)dZ+dZ,GddZ-Gdde-ej.Z/Gdde-ej.Z0Gddej.Z1Gdde-ej.Z2Gdde-ej.Z3Gdde-ej.Z4e5d krej6dSdS)!)support)
import_helper	os_helper
MS_WINDOWSN)
namedtupleztest module requires subprocessdarwingettotalrefcountlpython.os.pyctj|}tj|d}|dS)Nr_d)ospathbasenamesplitextcasefoldendswith)programnames  C/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_embed.pydebug_buildr.sUgw''G
7G$$Q'D==??##DMMOO444cttj}t|D]}|dr||=|S)NPYTHON)dictrenvironlist
startswith)envkeys  rremove_python_envvarsr&4sG
rz

CCyy>>(##	CJrc4eZdZdZdZdddddddZdZdS)EmbeddingTestsMixincd}tjtj}t
r(t
tjrdnddz}||z
}|}n tj|d}tj||x|_}tj	|s|
d|ztj|_tj
|dS)N
_testembedr.exeProgramsz%r doesn't exist)rrdirnamesys
executablerrjointest_exeexistsskipTestgetcwdoldcwdchdir)selfexenamebuilddirextexepathexes      rsetUpzEmbeddingTestsMixin.setUp>s7??3>22	9&s~66>44B&HCsNGGGgll8Z88G gll7G<<<
w~~c""	4MM,s2333ikk
rc8tj|jdSN)rr7r6r8s rtearDownzEmbeddingTestsMixin.tearDownPs
rNr)r$timeout
returncodeinputcwdc|jg}|||0tr)|}tjd|d<t
j|tjtjd||}	|	||\}	}
n.#|
|xYw|j|krRtjrFtd|dtd|	td	|
td
||j|d|j|
fz|	|
fS)z'Runs a test in the embedded interpreterN
SYSTEMROOTT)stdoutstderruniversal_newlinesr$rF)rErCz--- z failed ---zstdout:
zstderr:
z------zbad returncode %d, stderr is %r)r2extendrcopyrr!
subprocessPopenPIPEcommunicate	terminatewaitrDrverboseprintassertEqual)r8r$rCrDrErFargscmdpouterrs           rrun_embedded_interpreterz,EmbeddingTestsMixin.run_embedded_interpreterSs_}o

4?z?((**C "
< 8CS$.O$.O04!$!$
&
&
&	UGDDJS##	
KKMMM
FFHHH<:%%'/%))))***#c##$$$#c##$$$)z:,,-	.	.	.Cxs?B+Cc#K|d\}}||dd}tdd}d}g}|D]}|d|krH|t|dtjdkrt||dz
}d|	t|d	tj||}||||||
}	tjdkrt|	||	j||	j||	j||	t|d	kr$|d}
||	|
|Vg}dS)
N&test_repeated_init_and_subinterpretersr+zS^interp (\d+) <(0x[\dA-F]+)>, thread state <(0x[\dA-F]+)>: id\(modules\) = ([\d]+)$Interpzid interp tstate modulesrz--- Pass {} ---r)r\rVr
splitlinesformatlenrrTrU
assertLessrematchassertRegexgroups
assertTrueinterptstatemodulesappend)r8rZr[
interp_patr_numloopscurrent_runlinerfrjmains           r%run_repeated_init_and_subinterpretersz9EmbeddingTestsMixin.run_repeated_init_and_subinterpretersvs001YZZSb!!!2
H&@AANN$$	!	!D(//9999  [!1!11555?Q&&$KKKA
OOC,,a000HZ..E}  z222VU\\^^,F""f


OOFM***OOFM***OOFN+++v&&&;1$$"1~  ...!!!! 9	!	!r)__name__
__module____qualname__r>rBr\rsrrr(r(=sj$37)-!4%)!!!!!F1!1!1!1!1!rr(creZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdS)EmbeddingTestsicz|D]%}|d}||jd&dS)Nr0)rsrVid)r8runrrs   rtest_subinterps_mainz#EmbeddingTests.test_subinterps_mainsK==??	+	+Cq6DTWc****	+	+rc	|D]_}|^}}}t|j}t|D]3\}}||jt||zdz4`dS)Nr)rsintr|	enumeraterVstr)r8r}rrsubs_mainidisubs        rtest_subinterps_different_idsz,EmbeddingTests.test_subinterps_different_idss==??	>	>C ND4\\F#D//
>
>3  VaZ!^)<)<====
>		>	>rc:|D]}|^}}}d|vrtjd|D]b}||j|j||j|j||j|jcdS)N0x0zplatform prints pointers as 0x0)rsunittestSkipTestassertNotEqualrjrkrl)r8r}rrrrrs      rtest_subinterps_distinct_statez-EmbeddingTests.test_subinterps_distinct_states==??	?	?C ND4}}
'(IJJJ
?
?##CJ<<<##CJ<<<##CK>>>>
?	?	?rc|d\}}||ddtdtdzD}d|dz}|||dS)Ntest_repeated_init_and_inittabr+cg|]}d|d	S)z	--- Pass z ---rw).0rs  r
<listcomp>zAEmbeddingTests.test_repeated_init_and_inittab.<locals>.<listcomp>s$EEE$Q$$$EEErr
)r\rVrange
INIT_LOOPSr1)r8rZr[liness    rrz-EmbeddingTests.test_repeated_init_and_inittabs001QRRSb!!!EEeAz!|.D.DEEE		%  4'e$$$$$rcttjd}|d|\}}tjdkr,t
t
|t
|d}d}dgd	}||||
}d|_	|
||dS)Nzutf-8:surrogateescape)PYTHONIOENCODINGtest_forced_io_encodingr$rutf-8surrogateescaper)z--- Use defaults ---Expected encoding: defaultExpected errors: defaultzstdin: {in_encoding}:{errors}zstdout: {out_encoding}:{errors}'stderr: {out_encoding}:backslashreplacez--- Set errors only ---rzExpected errors: ignorezstdin: {in_encoding}:ignorezstdout: {out_encoding}:ignorerz--- Set encoding only ---Expected encoding: iso8859-1rzstdin: iso8859-1:{errors}zstdout: iso8859-1:{errors}"stderr: iso8859-1:backslashreplacez--- Set encoding and errors ---rzExpected errors: replacezstdin: iso8859-1:replacezstdout: iso8859-1:replacer)in_encodingout_encodingerrors)r rr!r\rrTrUr1rbmaxDiffrVstrip)r8r$rZr[expected_stream_encodingexpected_errorsexpected_outputs       rrz&EmbeddingTests.test_forced_io_encodings2:0GHHH001JPS0TTS?QGGG#JJJ#JJJ#* +))%.%.%.//2*00,D-E'6188
o66666rcttjtjt
j}|d|\}}tr|j	}n1tjtj
d}d|d}|||||ddS)	z
        Checks some key parts of the C-API that need to work before the runtime
        is initialized (via Py_Initialize()).
        )
PYTHONPATHtest_pre_initialization_apirspamzsys.executable: rr+N)
r rr!pathsepr1r/rr\rr2r5assertInrV)r8r$rZr[
expected_pathrs      rrz*EmbeddingTests.test_pre_initialization_apis
2:"*//#(*C*CDDD001NTW0XXS	> MMMGLLf==M>]>>>

os+++b!!!!!rc
t}tjtj|d<|d|\}}d}|||||ddS)z
        Checks that sys.warnoptions and sys._xoptions can be set before the
        runtime is initialized (otherwise they won't be effective).
        r#test_pre_initialization_sys_optionsrzsys.warnoptions: ['once', 'module', 'default']
sys._xoptions: {'not_an_option': '1', 'also_not_an_option': '2'}
warnings.filters[:3]: ['default', 'module', 'once']
r+N)	r&rrr1r/rr\rrV)r8r$rZr[rs     rrz2EmbeddingTests.test_pre_initialization_sys_optionss
$%%JOOCH55L00=31HHS
D	
	


os+++b!!!!!rc|d\}}||d||ddS)ze
        bpo-20891: Calling PyGILState_Ensure in a non-Python thread must not
        crash.
        
test_bpo20891r+Nr\rVr8rZr[s   rrzEmbeddingTests.test_bpo20891#sM
00AASb!!!b!!!!!rc|d\}}||d||ddS)zf
        bpo-33932: Calling Py_Initialize() twice should do nothing (and not
        crash!).
        test_initialize_twicer+Nrrs   rrz$EmbeddingTests.test_initialize_twice,sN
001HIISb!!!b!!!!!rc|d\}}||d||ddS)zS
        bpo-34008: Calling Py_Main() after Py_Initialize() must not fail.
        test_initialize_pymainz6Py_Main() after Py_Initialize: sys.argv=['-c', 'arg2']r+Nr\rVrstriprs   rrz%EmbeddingTests.test_initialize_pymain5sW001IJJS'_```b!!!!!rc|d\}}||d||ddS)N
test_run_mainz%Py_RunMain(): sys.argv=['-c', 'arg2']r+rrs   rrzEmbeddingTests.test_run_main=sT00AAS'NOOOb!!!!!rcd}|d\}}||d|z||ddS)Nr`test_run_main_loopz&Py_RunMain(): sys.argv=['-c', 'arg2']
r+r)r8nlooprZr[s    rrz!EmbeddingTests.test_run_main_loopBsY001EFFSG%OPPPb!!!!!rctjd}t|d5}|}dddn#1swxYwY|d|\}}||dtzdS)Nz_test_embed_structseq.pyrencodingtest_repeated_init_exec
Tests passed
)rfindfileopenreadr\rVr)r8scriptfpcoderZr[s      rtest_finalize_structseqz&EmbeddingTests.test_finalize_structseqJs!"<==
&7
+
+
+	r7799D															001JDQQS.;<<<<<sAAAcr|d\}}||dtzdS)Ntest_repeated_simple_initz
Finalized
r\rVrrs   rtest_simple_initialization_apiz-EmbeddingTests.test_simple_initialization_apiVs=001LMMSmj899999rc	ddlm}|d}|d}ddlm}t	jd|d|d|d	}|j}|d
|\}}||dtzdS)Nr)
_all_opmapRESUMERESUME_QUICK)QUICKENING_WARMUP_DELAYa            import importlib._bootstrap
            func = importlib._bootstrap._handle_fromlist
            code = func.__code__

            # Assert initially unquickened.
            # Use sets to account for byte order.
            if set(code._co_code_adaptive[:2]) != set([zJ, 0]):
                raise AssertionError()

            for i in range(z):
                func(importlib._bootstrap, ["x"], lambda *args: None)

            # Assert quickening worked
            if set(code._co_code_adaptive[:2]) != set([zY, 0]):
                raise AssertionError()

            print("Tests passed")
        rr)	disr
test.test_disrtextwrapdedentr\rVr)	r8rresumeresume_quickrrr}rZr[s	         r:test_quickened_static_code_gets_unquickened_at_Py_FINALIZEzIEmbeddingTests.test_quickened_static_code_gets_unquickened_at_Py_FINALIZE\s	#"""""H%!.1999999 9?  4  9E   

&+30$77S.;<<<<<rcxd}|d|\}}||dtzdS)Nzprint('\N{digit nine}')rz9
r)r8rrZr[s    rtest_ucnhash_capi_resetz&EmbeddingTests.test_ucnhash_capi_reset~sB)001JDQQSej011111rN)rtrurvrr~rrrrrrrrrrrrrrrrwrrryrysG+++>>>???*%%%)7)7)7V
"
"
"""""""""""""""""
"""
=
=
=::: = = =D22222rryczeZdZdZerdndZeZeZe	e
ddddddZereddie
eedeeZe
eedddddd	Zgd
Zide	ddd
ddddddddddddddddddddddddededdidedddd gd!gd"gd#gd$dd%dd&ed'ed(ed)ed*ed+ed,ed-dd.ejid/ed0dd1dd2dd3dd4dd5dd6dd7dd8dd9dd:dd;dd<dd=ed>ed?dddddd@dddededAZeredBdie
eeddCDZe
eeddddddddddEZerdedB<ddddFZdGgZgdHZer*edIedJdZedKZdLZ dMZ!dNZ"	ddOZ#dPZ$dQZ%dRZ&				ddddSddTdUZ'dVZ(dWZ)dXZ*dYZ+dZZ,d[Z-d\Z.d]Z/d^Z0d_Z1d`Z2daZ3dbZ4dcZ5ddZ6deZ7dfZ8dgZ9dhZ:diZ;e<j=djdkZ>dlZ?dmZ@dnZAdoZBdpZCdqZDdrZEdsZFddtZGeHjIdduZJdvZKdwZLdxZMe<jNedydzZOe<jPed{d|ZQd}ZRe<jPed~dZSdZTdZUdZVdZWdZXdS)InitConfigTestsi
surrogatepassrrr)_config_init	allocator
parse_argvconfigure_localecoerce_c_localecoerce_c_locale_warn	utf8_modelegacy_windows_fs_encoding)rrrr)rrisolateduse_environmentrdev_moder)rrrrrrrinstall_signal_handlers
use_hash_seed	hash_seedfaulthandlertracemallocimport_timecode_debug_rangesshow_ref_count	dump_refsmalloc_statsfilesystem_encodingfilesystem_errorspycache_prefixNprogram_namerargvr+	orig_argvxoptionswarnoptionspythonpath_envhomer0base_executableprefixbase_prefixexec_prefixbase_exec_prefixmodule_search_pathsmodule_search_paths_set
platlibdir
stdlib_dirsite_import
bytes_warningwarn_default_encodinginspectinteractiveoptimization_levelparser_debugwrite_bytecoderTquietuser_site_directoryconfigure_c_stdiobuffered_stdiostdio_encodingstdio_errorsskip_source_first_linedefault)run_command
run_modulerun_filename_install_importlibcheck_hash_pycs_modepathconfig_warnings
_init_main_isolated_interpreteruse_frozen_modules	safe_path_is_python_buildlegacy_windows_stdior
)rrr)rrrrr%rrrrrr!)Py_HasFileSystemDefaultEncodingPy_HashRandomizationFlag$_Py_HasFileSystemDefaultEncodeErrors)Py_UTF8Moder))Py_BytesWarningFlagr
)Py_DebugFlagr)Py_DontWriteBytecodeFlagrT) Py_FileSystemDefaultEncodeErrorsr)Py_FileSystemDefaultEncodingr)
Py_FrozenFlagr!T)Py_IgnoreEnvironmentFlagrT)Py_InspectFlagr)Py_InteractiveFlagr)Py_IsolatedFlagr)
Py_NoSiteFlagrT)Py_NoUserSiteDirectoryrT)Py_OptimizeFlagr)Py_QuietFlagr)Py_UnbufferedStdioFlagrT)Py_VerboseFlagrT))Py_LegacyWindowsFSEncodingFlagr))Py_LegacyWindowsStdioFlagr'cd|_dSr@)EXPECTED_CONFIG)clss r
tearDownClasszInitConfigTests.tearDownClass<s#rcdi}|D]*}d|vr|dd\}}|||<%d||<+|S)N=rT)split)r8
xoptions_listroptr%values      r
main_xoptionszInitConfigTests.main_xoptionsAsQ 	%	%Cczz YYsA..
U %

 $

rct}tjd}tjdd|g}tj||t
jt
j}|jrtd|j
d|j|j
d}	tj|S#tj$r|d|YdSwxYw)	Na4
            import json
            import sys
            import _testinternalcapi

            configs = _testinternalcapi.get_configs()

            data = json.dumps(configs)
            data = data.encode('utf-8')
            sys.stdout.buffer.write(data)
            sys.stdout.buffer.flush()
        z-S-c)r$rIrJz)failed to get the default config: stdout=z stderr=rfail to decode stdout: )r&rrr/r0rNr}rPrD	ExceptionrIrJdecodejsonloadsJSONDecodeErrorfail)r8r$rrWprocrIs      r_get_expected_config_implz)InitConfigTests._get_expected_config_implKs#%% 

dD1~d%/_%/_666?	NM&*kMM=A[MMNN
N##G,,	<:f%%%#	<	<	<II:::;;;;;;	<s B44'CCc4t}|j||_i}|jD]T\}}i}|D]3\}}t	|t
r|}|||<4|||<U|Sr@)rr?rSitems
isinstancer"rM)r8r@configs
config_keyconfig_valueconfigr%rGs        r_get_expected_configz$InitConfigTests._get_expected_configjs&"&"@"@"B"BC(+(;(A(A(C(C	)	)$JF*0022
$
$
UeT**)!JJLLE#s"(GJrc|}|d}|D]\}}	|	|jur||||<|dr|tkrdD]}|j||<
|ds
|j|d<|ddkrU|d|jurd|d<|d|jur
|j|d<|d	|jurd|d	<|d
|jurd|d
<tr|j}
nf|d|jur&tj	
|d}
n1tj	tjd
}
|d|jur|
|d<|d|jur|
|d<|d|jurd|d<|d}|D]\}}	|	|jur||||<|d|jurm|d}|3|
tj	j}
g|
|d|d<|.|d|d<||d|jD]}||vr||||<dS)N
pre_configr)rrrrrrrrrrrrrr*r0rz./_testembedrZrr)r[rUGET_DEFAULT_CONFIG
API_COMPAT
IGNORE_CONFIGUTF8_MODE_ERRORSrr2rrabspathr1r5rDrrMCOPY_PRE_CONFIG)r8expected_preconfigexpectedr$apimodify_path_cbrWr]r%rGdefault_executablerZrpathss              rget_expected_configz#InitConfigTests.get_expected_configzs++--\*
,2244	:	:JC///*4S/"3'!"45	3
9J9J:
3
3 $ 2

!"45	A/3.@{+k*a//-.$2III29./+,0GGG040E,-()T-DDD-4)*'4+BBB+<(	I!%
n
%T-D
D
D!#.1I!J!J!#bikk<!H!HL!T%<<<%7H\"%&$*AAA*<H&'N#t'>>>'5H^$""..**	,	,JC/// &s
)*$2DDD%&67N)&,,RW_==2\E2\HEZ<[2\./)2:;P2Q2V2V2X2X./x(=>???'	8	8C,,,*23-"3'	8	8rct|d}t|D]'\}}||jur||d||=(|||dS)Nr])r r"rUr`poprV)r8rWrer]r%rGs      rcheck_pre_configz InitConfigTests.check_pre_configs',/00
x~~//00	"	"JC***sD)))SMX.....rct|d}tr|dx}}|rt|tr|dt|d}ttj
r<|dt|d}|||<t|D]'\}}||j
ur||d||=(|||dS)NrZrr,r)r rgetrVrrclowerremovesuffixrr/r0r"rUr`rlrV)r8rWrerZr%rGs      rcheck_configzInitConfigTests.check_configs.gh'((	$JJn4s55E
$E3//
$Fs5;;==#=#=f#E#EFFFGs~..J!"H3u{{}}'A'A$'G'G#H#H"HIE#sx~~//00	"	"JC***

3%%%SM*****rc|d}|d}t|j}|jD];}t|dkr|\}}}||rdnd||<+|\}}||||<<|jD];}t|dkr|\}}}||rdnd||<+|\}}||||<<||d|dS)Nr]rZrrr
global_config)r DEFAULT_GLOBAL_CONFIGCOPY_GLOBAL_CONFIGrcCOPY_GLOBAL_PRE_CONFIGrV)	r8rWr]rZreitem
global_keycore_keyopposites	         rcheck_global_configz#InitConfigTests.check_global_configs\*
"233+	8	8D4yyA~~15.
Hh,28,<'Cqq!$$'+$
H'-h'7$$/	<	<D4yyA~~15.
Hh,6x,@'Gqqa$$'+$
H'1(';$$18<<<<<rF)
preconfig_apir$
ignore_stderrrFc4t}||||}||}|tkr|j}n|tkr|j}n|j}|i}t|fi|}|i}|tkr|j}
n|tkr|j	}
n|j
}
t|
fi|}||||||||||
\}}|
|dsd}|*|	s(|
||	tj|}n-#tj$r|d|YnwxYw|||||||||S)N)r$rFrTr+rK)r&updateAPI_ISOLATEDPRE_CONFIG_ISOLATED
API_PYTHONPRE_CONFIG_PYTHONPRE_CONFIG_COMPATr 
CONFIG_PYTHONCONFIG_ISOLATED
CONFIG_COMPATrjr\rVrrNrOrPrQrmrrr|)r8testnameexpected_configrdrgrJrfr}r$r~rFnew_envdefault_preconfigdefault_configrZr[rWs                 rcheck_all_configsz!InitConfigTests.check_all_configss	
())?NN3 ML(( $ 8
j
(
( $ 6 $ 6%!#!"3JJ7IJJ" O*!/NN
L
 
 !1NN!/N~AAAA  !3!0!$!$n	6	6	6
0058c1CCS>/)"<>FmSZZ\\6222	9jooGG#	9	9	9II77788888	9	
g'9:::'?333  )))sD**'EEc>|dtdS)Ntest_init_initialize_configrfrr_rAs rtest_init_default_configz(InitConfigTests.test_init_default_configs"<*MMMMMrc>|dtdS)Ntest_preinit_compat_configrrrAs rrz*InitConfigTests.test_preinit_compat_config";LLLLLrc>|dtdS)Ntest_init_compat_configrrrAs rrz'InitConfigTests.test_init_compat_config""8jIIIIIrclddi}ddddgdddddddddd
}|d||t	dS)
Nrrz./globalvarrdefault::BytesWarningr
)
rrr
rrrrrrTrrrr!test_init_global_configrrr8	preconfigrZs   rrz'InitConfigTests.test_init_global_config%sy
	*34"##$#$

 	
8&)#-		/	/	/	/	/rcNtdd}idddddddd	d
dddddd
ddddddddddddgdgddd	dgddgdid d!d"dd#dd$dd%dd&d	d'dd(dd)dd*dd+dd,dd-dd.d/d0|jd1dd2d3ddd4}|d5||t6dS)7Nrrrrrrr{rr
rrrrr	iso8859-1rreplacerconf_pycache_prefixrz./conf_program_namerrJarg2r)python3-Wcmdline_warnoption-Xcmdline_xoptionrJpassrrr)zconfig_xoption1=3zconfig_xoption2=config_xoption3rr)rrconfig_warnoptionrpass
rr
rrrrrTrrrrrr

my_platlibdirrr%r always)r!r#test_init_from_configrPYMEM_ALLOCATOR_MALLOCr`rr_rs   rrz%InitConfigTests.test_init_from_config<sX/

	7
%q7
Q7

7

1	7


17

 
7

a7

A7

k7

I7

37

17

T6N7
 
"""!7
*
!+7
,
-7
8
97
7
B
8C7
F
1G7
H
QI7
J
qK7
L
1M7
N
!!O7
P
aQ7
R
qS7
T
QU7
V
 W7
X
aY7
Z
"1[7
\
A]7
^
/_7
`
"4#5a7
b
c7
f
#Hg7
7
h$%%&m7
7
7
p	
6	#-		/	/	/	/	/rcdti}iddddddddd	d
ddddd
ddddddd
dddd
dddddd
dddgd|jdd}|d||tdS) Nrrrr*rr
rrrrrrr/my/pathrenv_pycache_prefixrrTrrrrrrrEnvVarenv_platlibdirrr
rr%test_init_compat_envrrrs   rrz$InitConfigTests.test_init_compat_env|s4/
	
Q


1

1	


 

A


q

!!

j

2

a

q

a

k

I
 
"1!
"
A#
$%:*#'#5+


.	
5vy#-		/	/	/	/	/rctdd}iddddddddd	d
ddddd
ddddddd
dddd
dddddd
dddgd|jdd}|d||tdS) Nrrrrrrr
rrrrrrrrrrrrTrrrrrrrrrrtest_init_python_envr)rr`rrrs   rrz$InitConfigTests.test_init_python_envs9/

	
Q


1

1	


 

A


q

!!

j

2

a

q

a

k

I
 
"1!
"
A#
$%:*#'#5+


.	
5vy#-		/	/	/	/	/rctt}tdddg}|d||tdS)Nrrrrrrtest_init_env_dev_moder)r PYMEM_ALLOCATOR_DEBUGrr_rs   rrz&InitConfigTests.test_init_env_dev_modesd#8999	q#$#,+///	
7#-		/	/	/	/	/rctt}tdddg}|d||tdS)Nrrrrtest_init_env_dev_mode_allocr)r rrr_rs   rrz,InitConfigTests.test_init_env_dev_mode_allocsd#9:::	q#$#,+///	
=vy#-		/	/	/	/	/rcbdti}dddgd}|d||tdS)Nrrr)rrrtest_init_dev_moder)rrrrs   rrz"InitConfigTests.test_init_dev_modes[.
	%;


	
3VY#-		/	/	/	/	/rc	dti}dggdtjddddgdgdd}|d||t
	dS)
Nr	script.py)rrdev-Prrrr)rrrrrrrr%test_preinit_parse_argvr)rrrrbrrrs   rrz'InitConfigTests.test_preinit_parse_argvs
.
	!MDDDGOOK88%;	
	
	
8&)#-		/	/	/	/	/rc^ddi}gd}||dd}|d||tdS)Nrr)	r-E-Irrrrutf8r)rrrtest_preinit_dont_parse_argvrrr)r8rrrZs    rrz,InitConfigTests.test_preinit_dont_parse_argvsk

	


	
=vy#/		1	1	1	1	1rcNddddd}|d|tdS)Nrrrr%rrtest_init_isolated_flagrrrr8rZs  rrz'InitConfigTests.test_init_isolated_flags> #$	

	
8&jQQQQQrcNddddd}|d|tdS)Nrrrtest_preinit_isolated1rrrs  rrz&InitConfigTests.test_preinit_isolated1@ #$	

	
7ZPPPPPrcNddddd}|d|tdS)Nrrrtest_preinit_isolated2rrrs  rrz&InitConfigTests.test_preinit_isolated2
rrc>|dtdS)Ntest_preinit_isolated_configrrrAs rrz,InitConfigTests.test_preinit_isolated_configs"=<PPPPPrc>|dtdS)Ntest_init_isolated_configrrrAs rrz)InitConfigTests.test_init_isolated_configs":MMMMMrc>|dtdS)Ntest_preinit_python_configrrrAs rrz*InitConfigTests.test_preinit_python_configrrc>|dtdS)Ntest_init_python_configrrrAs rrz'InitConfigTests.test_init_python_config rrcLddd}|di|tdS)Nr)rrtest_init_dont_configure_localerr)r8rs  rrz/InitConfigTests.test_init_dont_configure_locale#sI!" 

		
@"i#-		/	/	/	/	/rzSas of 3.11 this test no longer works because path calculations do not occur on readcTdddd}d}|d|t|dS)Nz./init_read_set
my_executable)rr0rc\|dd|ddS)Nrtest_path_insert1test_path_append)insertrm)rs rmodify_pathz7InitConfigTests.test_init_read_set.<locals>.modify_path4s0KK.///KK*+++++rtest_init_read_set)rfrgr)r8rZrs   rrz"InitConfigTests.test_init_read_set,s\.).


	,	,	,	
3V#-.9		;	;	;	;	;rcZdgdgdgdd}|d|tdS)Nr)config_xoptionrsysadd_xoptionr)ignore:::cmdline_warnoptionzignore:::sysadd_warnoptionzignore:::config_warnoption)rrrrr)rrrrtest_init_sys_addrrrs  rrz!InitConfigTests.test_init_sys_add;sb
333

"	
2F
KKKKKrcfd}ddgdd|dgd|dzdd}|d	|t
dS)NRimport _testinternalcapi, json; print(json.dumps(_testinternalcapi.get_configs()))rJrr	./python3rr
)rrrrrtest_init_run_mainrrr8rrZs   rrz"InitConfigTests.test_init_run_mainOs\E6N#T48'$;

	
3VLLLLLrcjd}ddgdd|dgd|dzddd	}|d
|tddS)
NrrJrrrrr
r)rrrrrr"test_init_mainz)Run Python code before _Py_InitializeMain)rfrJrrs   rrzInitConfigTests.test_init_main[szE6N# "($;	
	
	
/#-&Q		S	S	S	S	SrcZdgdgddddd}|d|t	dS)
Nr
)rJarg1-varg3./argv0rrJrrrrrrr)rrrrrrtest_init_parse_argvrrrs  rrz$InitConfigTests.test_init_parse_argvlsP000NNN%# 


	
5v:NNNNNrc`ddi}dgdgddd}|d||tdS)Nrrrr)rrrrtest_init_dont_parse_argvrr)r8r]rZs   rrz)InitConfigTests.test_init_dont_parse_argvwsg!

IIINNN%	

	
:FJ#-		/	/	/	/	/rctr
d}|j}n'd}tr|j}ntj|pd}||||ddS)Nrrr+)rrr0)rr2MACOSshutilwhichr)r8rZrr0s    rdefault_program_namez$InitConfigTests.default_program_namesu	>#LJJ$L
>!]

#\,77=2


()$

					rc|}|dd}|dddddd}||dtjj|i}|d|t|ddS)	NrZrr+)rrrrrrTESTPATHtest_init_setpathTrfr$r~)r[rrrrr1rr_r8rZrir$s    rr
z!InitConfigTests.test_init_setpaths**,,x !67$) "	
	
	
!!&)))27?//6672F#-3-1		3	3	3	3	3rc|}|dd}|dddddtdddd
}dtjj|i}|d|t|d	
dS)NrZrr+conf_program_nameconf_executable)
rrrrrrr$rrr0r	test_init_setpath_configTr)r[Py_DEBUGrrrr1rrrs    rrz(InitConfigTests.test_init_setpath_configs**,,x !67$) "&.,/0+

 27?//66796#-3d		L	L	L	L	Lrc
|}||dd}||dd}tr|ddStj}tj|tjd|j|j	dtj|tjd|jd|j	tj|tjd|jd|j	dgS)NrZrrrz.ziprlib-dynload)
r[rr/version_inforrr1r
majorminor)r8rrrZvers     rrz#InitConfigTests.module_search_pathss**,,>H%h/F *84K	(#$9::"CVS^@ci@@@@BBVS^=ci==#)==??[#.=ci==#)==}NN
rc	#Ktj5}tj|}|rQtjtj||}tj|trddl	}tj
|j}tj|D]i}|	|drQtjtj||tj||jtj|tj|j}tj|j|tj|j|||_|VddddS#1swxYwYdS)Nrz*.dll)tempfileTemporaryDirectoryrrrealpathnormpathr1makedirsrfnmatchr.r2listdirrcopyfilercopystat)r8subdirtmpdirrexedirf	exec_copys       rtmpdir_with_pythonz"InitConfigTests.tmpdir_with_pythons
(
*
*	fW%%f--F
$))"',,vv*F*FGGF###
Z77F++ZZAq'22ZVQ(?(?fVWAXAXYYYVRW-=-=dm-L-LMMIODM9555ODM9555%DMLLL/																		sF!GGGc	|}|dd}tjj|}|D]}tj|s"tjtj|dr!tj|}n|d||x}}trJtj|d}|dtj|d|g}	njtjjdtjj
}
tj|tjd	|
}|||
}	||	||||||d}||||d}|d
|t$|dS)NrZrrUnable to find home in LibrDLLsrrrrrrrrrrrrTESTHOMErtest_init_setpythonhomerfr$)r[rrrr1isdirr3r.rQrr/rrrr
rrrr_)r8rZri	paths_strrrrrstdlibexpected_pathsversionr$s            rr0z'InitConfigTests.test_init_setpythonhomes**,,x !67GO((//		;	;D7==&&
w~~bgll499::
wt,,

II999:::##	UW\\$..F$AhT6(B(BFKNN)/JJ#2B2HJJGW\\$8J8J8JKKF!55Tt5TTN#1!& +' 	
	
	
!!&)))y998&#-3		8	8	8	8	8rc	l|}|dd}tjj|}|D]}tj|s"tjtj|dr!tj|}n|d||x}}trJtj|d}|dtj|d|g}	njtjjdtjj
}
tj|tjd	|
}|||
}	||	||||||d}||d}d
|d<d|d<|d|t"|d|d<d|d<tjtj}t'tj|dd5}
tjtj||
dd|	trdnd<dddn#1swxYwYtsFtjx}}||d|	d<||||||d|t"|dS)NrZrrr)r*rr+rrr,r-r.1NEGATIVE_ISPYTHONBUILDr&test_init_is_python_buildr1r{rpybuilddir.txtrrz
$r
)r)rrrr)r[rrrr1r2r3r.rQrr/rrrr
rrr_r0rrrrarr)r8rZrir3rrrrr4r5r6r$r$r%s              r#test_init_is_python_build_with_homez3InitConfigTests.test_init_is_python_build_with_homesw**,,x !67GO((//		;	;D7==&&
w~~bgll499::
wt,,

II999:::##	UW\\$..F$AhT6(B(BFKNN)/JJ#2B2HJJGW\\$8J8J8JKKF!55Tt5TTN#1!& +' 	
	
 y99(+$%%&!":F#-3		8	8	8),$%%&!"00
"',,v'7886
J
J
J	Ha57W5E5EV%5%5%5%@%@%B%B1%EFF6H6HN
1112	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H	Q#&:-F[ $ 8 8 8 G G JN1MMV&1K

Q
Q
Q:F#-3		8	8	8	8	8s;A7J>>KKc|}|dd}tjj|}||d<d|i}|S)NrZrrr)r[rrrr1)r8rZall_configsrir3r$s      rcopy_paths_by_envz!InitConfigTests.copy_paths_by_envWsT//11H%&;<GO((//	#, Y'
rzSee test_init_pybuilddir_win32c	@|5}tjdpd}d}tj||}tjtj||d}tj|tj|d}t|dd5}|	|dddn#1swxYwY|
}||d	<||d
<|j}	tjdtjd|	|	||d
}
||
}|
d|
t|d|ddddS#1swxYwYdS)NVPATHr+libdirr*r;wrrrr)rrrr0rrrTrfr$r~rF)r'	sysconfigget_config_varrrr1rmkdirrwriterr2r?rr_)r8r#vpathr"rB	stdlibdirfilenamerrr0rZr$s            rtest_init_pybuilddirz$InitConfigTests.test_init_pybuilddir_s*
$
$
&
&	C&,W55;EFW\\&&11F((feU)K)KLLIHVw||F,<==Hhf555
!   
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!#'":":"<"<&/#&,#J$-$<]$K$K(7AA#-(':'
F((00C""#<f'1s156
#
C
C
C9	C	C	C	C	C	C	C	C	C	C	C	C	C	C	C	C	C	Cs7B=FC4(F4C8	8F;C8	<B
FFFzSee test_init_pybuilddirc
Xtjd}d}tj|tjdkr tj|d}||5}tjtj||}tjtj||d}tj|d}t|dd	5}|
|dddn#1swxYwY|}tj|tj|d
|d
<||d<||d<|j
}	|||	|	||||d
}
||
}|d|
t |d|ddddS#1swxYwYdS)NrAzPCbuild\archr
instrumentedr*r;rCrrrDrE)rrrr0rrrrrFrF)rGrHrrrcountsepr1r'rrJrrr2r?rr_)r8rKr"r#rrLrMrrr0rZr$s            rtest_init_pybuilddir_win32z*InitConfigTests.test_init_pybuilddir_win32s(11 
7E""((00A55W\\&.99F

$
$V
,
,	DW%%bgll65&A&ABBF((feU)K)KLLIw||F,<==Hhf555
!   
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!#'":":"<"<&(gll627;K;KL_`bLc;d;d&e&e#&,#&/#J$*%#-( %':'		F((00C""#<f'1s16F
#
D
D
D7	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	Ds8B.H:EHE 	 H#E 	$B.HH#&H#c
|5}tj5}tj}t
sQtj|tj	d|j
d|jd}t
j|ntj|d}t
j|tjtjtjdtj|dtj|d}t#|dd	5}t%d
|z|t%d|dddn#1swxYwY|}t
s||d
<ndtj|tj|d|tj|dg}|j}	tj|tj|	}
|}t-jd|||
|	|d}t
rF||d<||d<tj|d|d<t1t2|d<n"|j|d<t1t2|d<||}
|d|t:|
d|dddn#1swxYwYddddS#1swxYwYdS)Nrrrr*rz
pyvenv.cfgrCrrz	home = %sfilez$include-system-site-packages = falserErr)rrrrr0rrrr$rTrF)r'rrr/rrrrr1r
rrrrr r
STDLIB_DIRrrUrrr2rGrHrrr`r?rr_)r8r#pyvenv_homerlib_dynload
lib_folderrMrrir0rrrZr$s              rtest_init_pyvenv_cfgz$InitConfigTests.test_init_pyvenv_cfgs
$
$
&
&;	C&

(
*
*;	C.9"C

 gll;+.>+KCI+K+K	+K+K+8::K((((W\\+u==
J'''GLL!3W==GLLW55
w||FL99Hhf555
GkK/b9999<2FFFF
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G,,..E
'b		GLL)9)9%()C)CDDGLLe44J gll;8H8H8T8TUUO%K(7AA$/*#2(',
F	
A(3}%#.x ')w||K'G'G|$/2x</@/@+,,(,'9|$/2x</@/@+,((00C""#<f'1s156
#
C
C
Cs;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	C;	CsZL:D&L"&F5L"FL"F	F
L"L:"L&	&L:)L&	*L::L>L>zspecific to Windowsc	ddddddtjdfg}|ditd	tjjd
|Di\}}||d	tj	|}n-#tj
$r|d
|YnwxYw|dd}t||D]\\}}}|||dS)N)z	C:/a. . .	C:\a. . .)r^r^)z\\?\C:////a////b. . .z\\?\C:\a\b. . .)z//a/b/c. . .\\a\b\c. . .)r_r_za. . .z\arrc3&K|]}|dV
dS)rNrw)rcs  r	<genexpr>z=InitConfigTests.test_getpath_abspath_win32.<locals>.<genexpr>s&3H3HQAaD3H3H3H3H3H3Hrrr+rKrZr)
rr5r\r&rrr1rVrNrOrPrQzip)r8CASESrZr[resultsrreresults        rtest_getpath_abspath_win32z*InitConfigTests.test_getpath_abspath_win32s\
)(@04
")++***+

00)J(**Jrw333H3H%3H3H3HHHJJ1

S
	
b!!!	9*S//CC#	9	9	9II77788888	9h- 56%(%8%8	/	/!MQ6VX....	/	/sB##'C
C
c
tjd
tjd}
fd}|d}|d}|d}|d}|d}|d	}|d
}	||t
jj|	d|||	d|||	d
|||	d|||	d|||	ddS)Nctypes_testinternalcapicXtj|}d|_j|_|S)Nrw)getattr	pythonapiargtypes	c_wchar_prestype)rfuncris  rget_funcz8InitConfigTests.test_global_pathconfig.<locals>.get_funcs+6+T22DDM!+DLKr
Py_GetPathPy_GetPrefixPy_GetExecPrefixPy_GetProgramNamePy_GetProgramFullPathPy_GetPythonHomerZrrrrr0r)r
import_moduleget_configsrVrDrrr)r8rjrrrsrtrurvrwrxrZris          @rtest_global_pathconfigz&InitConfigTests.test_global_pathconfigs,X66)78KLL					Xl++
x//#8$677$H%899 ()@ A A#8$677"..00:++BGO<< 56	8	8	8)9:::))++VM-BCCC**,,f^.DEEE..00&2FGGG))++VF^<<<<<rcgd}tt}ddd|gdd}|d||tdS)N)zignore:::PyConfig_Insert0rz
ignore:::env1z
ignore:::env2zignore:::cmdline1zignore:::cmdline2rzignore:::PySys_AddWarnOption1zignore:::PySys_AddWarnOption2zignore:::PyConfig_BeforeReadzignore:::PyConfig_AfterReadrr)rz-Wignore:::cmdline1z-Wignore:::cmdline2)rrr
rrtest_init_warnoptionsr)r rrr)r8rrrZs    rr}z%InitConfigTests.test_init_warnoptions-s+++#8999	&111

	
6	#-		/	/	/	/	/rcNdddgd}|d|tdS)Nrr
zerror::BytesWarning)r"r
rtest_init_set_configrrrs  rrz$InitConfigTests.test_init_set_configHsK12


	
5v#/		1	1	1	1	1rc0|ddS)Ntest_get_argc_argvr\rAs rrz"InitConfigTests.test_get_argc_argvQs%%&:;;;;;rc
hd}|D]\}}d|}ddgdd|ddgddd	|g|d
}|rd|d	dind}|t|5|d|t|
dddn#1swxYwYdS)N>z=onrz=offrr+rrCrfrozen_modulesr
rJrrrrr)rrrrrrrr$
TESTFROZENtest_init_use_frozen_modulesr1)subTestreprrr)r8testsrawreoptvalrZr$s       rrz,InitConfigTests.test_init_use_frozen_modulesUs=


#	@	@MC+c++F'vtVD )'#$#H&.		F.1:<QRR))dCd3ii((
@
@&&'Ev+53'@@@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@	@	@sBB	B	r@)NNNN)NN)Yrtrurvrrraobjectr^r`r_PYMEM_ALLOCATOR_NOT_SETrrr rrrrrcr/r
rrrrrurwrvrLr?classmethodrArHrSr[rjrmrrr|rrrrrrrrrrrrrrrrrrrrrrskiprrrrrrrr
rr
contextlibcontextmanagerr'r0r<r?skipIfrN
skipUnlessrTr\rgr{r}rrrrwrrrrss	G+5L;L FHHM#, !  (!"
			.*$	$0!OI
IAI	1I	A	I	"1
I	I	QI	I	qI	qI	QI	!I	QI	I"	1#I$	/%I(	$)II*	*+I,	a-I.	/I0	R1I4	B5I6	r7I:	$;I<	=I>	(?I@	-AID	$EIF	)GIH	)IIJ	.KIL	1MIN	"1OIP	cnQIIIR	(SIV	qWIX	YIZ	 [I\	1]I^	q_I`	aaIb	cId	!eIf	1gIh	iIj	qkIl	QmIn	!oIr	,sIt	*uIx	!!yIIz ) !""*l)QIIIMT"A
			DM
d=! !O423./,-$%01	%(%%'
				!!#
			O##[#<<<>"6:=8=8=8=8~///
+
+
+===,;?-1)-!%4>B"%T	44444lNNNMMMJJJ///.>/>/>/@///<///>//////
/
/
////&111$RRRQQQQQQQQQNNNMMMJJJ///X]<==;;==;LLL(
M
M
MSSS"	O	O	O/// 333,LLL2&6'8'8'8R:8:8:8xX_Z!ABB!C!CCB!CFX%?@@%D%DA@%DN>C>C>C@X%:;;//<;/6$=$=$=L///6111<<<@@@@@rrceZdZdZdS)SetConfigTestsc~tjdtjdddddg}t	j|tjtjdd	}|jr4tj	r(t|jt|j|
|jd
|j|j|jfdS)N	_testcapirrrz-mztest._test_embed_set_configrbackslashreplace)rIrJrrr)rryr/r0rNr}rPrDrrTrUrIrJrV)r8rXrRs   rtest_set_configzSetConfigTests.test_set_configos#K000~tVT49VW~c%/_%/_'.7IKKK?	w	$+$+!/4;D	F	F	F	F	FrN)rtrurvrrwrrrrns(FFFFFrrcDeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
S)
AuditingTestsc0|ddS)Ntest_open_code_hookrrAs rrz!AuditingTests.test_open_code_hooks%%&;<<<<<rc0|ddS)N
test_auditrrAs rrzAuditingTests.test_audits%%l33333rc0|ddS)Ntest_audit_subinterpreterrrAs rrz'AuditingTests.test_audit_subinterpreter%%&ABBBBBrcJ|dtjddS)Ntest_audit_run_commandrrCrDr\r
SHORT_TIMEOUTrAs rrz$AuditingTests.test_audit_run_commands5%%&>.5.C12	&	4	4	4	4	4rcJ|dtjddS)Ntest_audit_run_filerrrrAs rrz!AuditingTests.test_audit_run_files5%%&;.5.C12	&	4	4	4	4	4rctj|jtjdz}t
|dd5}td|td|dddn#1swxYwY	itd|i}|	d	tjd
|tj|dS#tj|wxYw)N.pyrCrrz
import sysrVz&sys.__interactivehook__ = lambda: None
PYTHONSTARTUPtest_audit_run_interactivehook
rCrDr$
rrr1r6rTESTFNrrUr&r\rrunlinkr8startupr%r$s    rrz,AuditingTests.test_audit_run_interactivehooks;',,t{I,<==E
'3
1
1
1	DQ,Q'''':CCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D	G*,,GowGGC))*J292G57S
*
B
B
B
IgBIgs#A44A8;A87C

C#ctj|jtjdz}t
|dd5}td|dddn#1swxYwY	itd|i}|	dtjd	|
tj|dS#tj|wxYw)NrrCrrrrVrtest_audit_run_startuprrrrs    rrz$AuditingTests.test_audit_run_startups',,t{I,<==E
'3
1
1
1	"Q&q!!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"	G*,,GowGGC))*B292G57S
*
B
B
B
IgBIgsA##A'*A'/7B<<CcJ|dtjddS)Ntest_audit_run_stdinrrrrAs rrz"AuditingTests.test_audit_run_stdins5%%&<.5.C12	&	4	4	4	4	4rc0|ddS)Ntest_get_incomplete_framerrAs rrz'AuditingTests.test_get_incomplete_framerrN)rtrurvrrrrrrrrrrwrrrr~s===444CCC444
444



444
CCCCCrrceZdZdZejejdkddZej	e
edddZdS)		MiscTestsc0|ddS)Ntest_unicode_id_initrrAs rrzMiscTests.test_unicode_id_inits	
%%&<=====rntz(Py_FrozenMain is not exported on Windowsc4ttj}d|d<|d|\}}tjd}t
jd|d}|	||dS)Nr8PYTHONUNBUFFEREDtest_frozenmainrrz
            Frozen Hello World
            sys.argv ['./argv0', '-E', 'arg1', 'arg2']
            config program_name: ./argv0
            config executable: z|
            config use_environment: 1
            config configure_c_stdio: 1
            config buffered_stdio: 0
        )
r rr!r\rrrrlstriprV)r8r$rZr[r0res      rrzMiscTests.test_frozenmains2:"%001B0LLSW%%i00
?$!+	$$$

VXX		
h'''''rr	z--X showrefcount requires a Python debug buildc	d}|D]O\}}d|}tjdddd|d|g}tj|tjtjd}||jd	|j	}tjd
|}|s|d|t|d}	t|d
}
|||5||	d	|||
d	|dddn#1swxYwYQdS)N))offr)onr)rimport __hello__)rrzfrozen_modules=rrshowrefcountrJT)rIrJtextrz!^\[(-?\d+) refs, (-?\d+) blocks\]zunexpected output: rr
)rstmt)r/r0rNr}rPSTDOUTrVrDrIrrerfrQrgroupr)r8rflagrxoptrXrRrZrfrefsblockss           rtest_no_memleakzMiscTests.test_no_memleaks
 	1	1JD$+T++D>4~tT4QUVC>#)3)3):'+---D
T_a000+$$&&CHA3GGE
9		777888u{{1~~&&DQ((FT==
1
1  q#...  C000
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1	1	1s/E		E
	E
	N)
rtrurvrrrrrrrhasattrr/rrwrrrrs>>>X_RW_?AA((AA( X&899HJJ11JJ111rrc*eZdZdZdZdZdZdZdS)StdPrinterTestsrctjd}|jj}|jf|_|j|_||S)Nri)rryrmPyFile_NewStdPrinterc_intrn	py_objectrp)r8fdrirs    rcreate_printerzStdPrinterTests.create_printersH,X66%/D)/%'-'7$##B'''rcd}|j}tj|}|tj|tj\}}|tj||tj|	tj||||}||tj||n#tj||wxYwtj	|d}|
||dddS)Nuunicode:é-€-!
drr)	STDOUT_FDrdup
addCleanupclosepipedup2rrJrrVencode)r8message	stdout_fdstdout_fd_copyrfdwfdprinterdatas        r
test_writezStdPrinterTests.test_writes1N		**.111799S#&&&#&&&	/
GC###)))44GMM'"""GNI....BGNI....wsC  w~~f6HIIJJJJJs?C**DcR|j}||}|||||tj|||dSr@)rrrVfilenoisattyrflushrr8rrs   rtest_methodszStdPrinterTests.test_methodss
^%%b))))2...))29R==999



rc|j}||}tj|t	|dSr@)rrrcheck_disallow_instantiationtypers   rtest_disallow_instantiationz+StdPrinterTests.test_disallow_instantiations;
^%%b)),T4==AAAAArN)rtrurvrrrrrrwrrrrs_
I(((KKK.BBBBBrr__main__)7testrtest.supportrrrrcollectionsrrrNros.pathrerrNr/rGrrhas_subprocess_supportrplatformrrrrrrr_rrr
MAX_HASH_SEEDrr1rr
rrrSTDLIB_INSTALLisfilerr&r(TestCaseryrrrrrrtrrrwrr<module>rsX==========""""""								







%?
(
=
>
>>		!73*++





cj#.>S

#>>c&6&<>>@@	w~~bgll>7;;<<N555j!j!j!j!j!j!j!j!ZX2X2X2X2X2((*;X2X2X2tg@g@g@g@g@)8+<g@g@g@T'
F
F
F
F
FX&
F
F
F 3C3C3C3C3C'):3C3C3Cl3131313131#X%6313131l0B0B0B0B0B)8+<0B0B0BfzHMOOOOOr