python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_runpy.cpython-312.opt-1.pyc

ΑeчNddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZmZmZmZddlmZmZmZddlmZmZddlmZmZddlZddlm Z m!Z!m"Z"m#Z#dZ$dddddddZ%eed	d
gejLddde'e%dd
ddZ(e(jSe%GddZ*GddejVe*Z,GddejVe*Z-GddejVe*Z.GddejVZ/e0dk(rejbyy)N)
no_tracingverboserequires_subprocessrequires_resource)forgetmake_legacy_pycunload)create_empty_filetemp_dir)make_scriptmake_zip_script)	_run_code_run_module_code
run_modulerun_patha# Check basic code execution
result = ['Top level assignment']
def f():
    result.append('Lower level reference')
f()
del f
# Check the sys module
import sys
run_argv0 = sys.argv[0]
run_name_in_sys_modules = __name__ in sys.modules
module_in_sys_modules = (run_name_in_sys_modules and
                         globals() is sys.modules[__name__].__dict__)
# Check nested operation
import runpy
nested = runpy._run_module_code('x=1\n', mod_name='<run>')
)__name____file__
__cached____package____doc____spec__zTop level assignmentzLower level referenceFz<run>)xr
__loader__)sysrunpyresult	run_argv0run_name_in_sys_modulesmodule_in_sys_modulesnestedc eZdZgdZdZdZy)CodeExecutionMixin)nameparentorigincachedhas_locationsubmodule_search_locationsc |j}|j}t|D]W}|jds|jds'||vr|j	|||dvsD|dj	|Y|j	d}|j	d}||j|n|j8|jt|jt|j|jD]5}d|z}|t||f}|t||f}|j||7|jt|t||D]"}|||f}|||f}|j||$y)zbCheck two namespaces match.

           Ignores any unspecified interpreter created names
        __r!rNz	__spec__.)copylist
startswithendswithpopassertIsNoneloaderassertEqualtypeCHECKED_SPEC_ATTRIBUTESgetattrset)	self	result_nsexpected_nskresult_spec
expected_specattractualexpecteds	         C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_runpy.pyassertNamespaceMatchesz)CodeExecutionMixin.assertNamespaceMatchesPsNN$	!&&(i	/A||D!ajj&6K'MM!$K11h'++A.	/ mmJ/#
3
 k*##/  k&8&8!9!%m&:&:!;=44
3$&W[$78w}d;<  2	
3	
Y[)9:	/A1&F;q>*HVX.	/ct}|j}|d}tjd}tjj||}|d}|j
|||jtjd||jtjj|||d|i}	||d<||	}|j||	|j
|||jtjd||jtjj|||y)zCheck that an interface runs the example code correctly

           First argument is a callable accepting the initial globals and
           using them to create the actual namespace
           Second argument is the expected result
        rrNsentinel)	objectr,rargvmodulesgetrBassertIsassertIsNot)
r8create_namespaceexpected_namespacerEr:run_namesaved_argv0	saved_modr9
initial_nss
          rAcheck_code_executionz'CodeExecutionMixin.check_code_executionxs8(--/z*hhqkKKOOHh7	$T*	##I{;

chhqk;/

ckkooh99E (+
"*J$Z0	J/##I{;

chhqk;/

ckkooh99ErCN)r
__module____qualname__r5rBrRrCrAr#r#DsM&/PFrCr#ceZdZdZdZdZy)ExecutionLayerTestCasez9Unit tests for runpy._run_code and runpy._run_module_codec|tj}|jddid}|j||y)Nrc$tti|SN)rexample_source)init_globalss rA	create_nsz7ExecutionLayerTestCase.test_run_code.<locals>.create_nss^R>>rC)example_namespacer,updaterR)r8r:r]s   rA
test_run_codez$ExecutionLayerTestCase.test_run_codes=',,.$
		?!!)[9rCcdd}d}d}tjj||tj	}|j||||dddfd}|j
||y)	Nz
<Nonsense>zSome other nonsensezNow you're just being silly)r&r2T)rrrrrrrr c(tt|SrZ)rr[)r\mod_namemod_specs rAr]z>ExecutionLayerTestCase.test_run_module_code.<locals>.create_nss#N$0$,$,.
.rC)	importlib	machinery
ModuleSpecr^r,r_rR)r8	mod_fname
mod_loadermod_packager:r]rdres      @@rAtest_run_module_codez+ExecutionLayerTestCase.test_run_module_codes)	2
&&11(9B9C2E(,,. !$& "'+%)	
			.
	
!!)[9rCN)rrSrTrr`rlrUrCrArWrWsC::rCrWceZdZdZdZdZdZddZd ddddZd	Z	d
Z
dddddZdddddZd
Z
d!dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZy)"RunModuleTestCasezUnit tests for runpy.run_modulecb	t||jd|zy#t$rYywxYw)NzExpected import error for )rfailImportError)r8rds  rAexpect_import_errorz%RunModuleTestCase.expect_import_errors7	?x 
II2X=>		s"	..c6|jd|jd|jd|jd|jd|jd|jd|jd|jd	y)
Nrzsys.imp.ericzos.path.halfza.beez.howardz..eatenz.test_runpyz	.unittestmultiprocessing)rrr8s rAtest_invalid_namesz$RunModuleTestCase.test_invalid_namess  '  0  0  )  +  +  /  -  !23rCc@|jtdddy)Nrr)r3rrus rAtest_library_modulez%RunModuleTestCase.test_library_modulesG,Z8'BrCFctj||rytjj|d}t	||S)N__init__.py)osmkdirpathjoinr
)r8pkg_dir	namespace	pkg_fnames    rA_add_pkg_dirzRunModuleTestCase._add_pkg_dirs6
GGLL-8	)$rCrparent_namespacesc|s|r
|stdd}|tjzdz}tjj	tjx}}	tdkDrtd|	tjjd|tdkDrtdtjd|ro|g|z}
||
d<|
D]_}tjj|	|}	|j|	|}tdkDrtd	|	tdkDsTtd
|atjj|	|}
t|
d5}|j|dddtdkDrtd
|
|dz|z|z}tj j#||
}||
||fS#1swYOxYw)
Nz2Can't mark top level module as a namespace package
__runpy_pkg__pyrz  Package tree in:rz  Updated sys.path:z  Next level in:z
  Created:w.)RuntimeErrorr{extsepr}realpathtempfilemkdtemprprintrinsertr~ropenwriterfutilspec_from_file_location)r8sourcedepthmod_baserrpkg_name
test_fnamersub_dirnamespace_flagsnamespace_flagrrimod_filerdres                 rA	_make_pkgzRunModuleTestCase._make_pkgs
*E 34
4"bii',
GG,,X-=-=-?@@'Q;2G<7#Q;3SXXa[A01E9O"+OB"1
?'',,w9 --g~F	Q;&8' BQ;lI >	
?
GGLL*5	
)S
!	#XNN6"	#Q;lI6SL%'(2>>99(:CE	8X55
	#	#sF55F>cttjD]%}|jdstj|='tdkDrtdtjd=tdkDrtdtj|dD]~\}}}|D]6}	tjtjj||8|D]8}tjj||}	tj|:	tj|tdkDrtdyy#t$r}tdkDrt|Yd}~d}~wwxYw#t$r}tdkDrt|Yd}~d}~wwxYw#t$r#}tdkDrt|Yd}~yYd}~yd}~wwxYw)	Nrrz  Removed sys.modules entriesrz  Removed sys.path entryF)topdownz  Removed package tree)
r-rrHr.rrr}r{walkremover~OSErrorrmdir)	r8topentryrootdirsfilesr$exfullnames	         rA_del_pkgzRunModuleTestCase._del_pkgsg#++&	'E0KK&	'Q;=>HHQKQ;89!#e!<	.D$
..IIbggll467
.

.77<<d3.HHX&
.
	.	&HHSM{E":;{.{E"I..{E"I.
	&{E"II{	&sH3D?:E))F?	E&E!!E&)	F2FF	F?F::F?cd}|dxx|z
cc<|d|d<|d}tjj|j|d}||d<|r|dxx|z
cc<yy)Ncrrrr)rfrrr$)r8ns	alter_syschar_to_addspecnew_specs      rA_fix_ns_for_legacy_pycz(RunModuleTestCase._fix_ns_for_legacy_pycsm
:+%j><*~>>99$)):<Z.J!:{O{*OrCc8
|jt|||\}}
}t
tj	}|j
||j
jdd|dr|j|ddd
fd}		tdkDrtd	
|j|	|tjt
tj|t j"sct%|t'
tjtdkDrtd

|j)||j|	||j+|tdkDrtdyy#|j+|wxYw)NrrrrrrrrTrrr c t|SNrr)r\rrds rAr]z2RunModuleTestCase._check_module.<locals>.create_ns6h	JJrCrRunning from source:Running from compiled:Module executed successfully)rr[rr^r,r_r'
rpartitionrrrRrfinvalidate_caches
__import__r{rrdont_write_bytecoderr	rr)r8rrrrrrirer:r]rds  `       @rA
_check_modulezRunModuleTestCase._check_module!sl~~ne(10AC	/Hh	x',,. !"//#..s3A6 
	&+/)- 

	K	#{E"8(C%%i='')x IIi **	*x ++-Q;&> I++KC)))[AMM'"Q;<=;
MM'"s
CFFcd|jt|d||\}}}}|jddt|tj}	|	j
||tjj||dr|	j
|dddfd}
	td	kDrtd
|j|
|	tjt|tj |t"j$sct'|t)|td	kDrtdtj|j+|	|j|
|	|j-|td	kDrtdyy#|j-|wxYw)
N__main__rrrrTrc t|Srr)r\rrs rAr]z3RunModuleTestCase._check_package.<locals>.create_ns_rrCrrrzPackage executed successfully)rr[rrr^r,r_rfrcache_from_sourcerrrRrrr{rrrrr	rr)r8rrrrrrirdrer:r]rs  `        @rA_check_packagez RunModuleTestCase._check_packageIs~~~neZ(10AC	/Hh&&s+A.x',,. !#..::9E# 
	&+/)- 

	K	#{E"8(C%%i='')x IIi **	*x Q;&> I++-++KC)))[AMM'"Q;=>;
MM'"s
'CFF/c|dkrtdd}|}t|D]$}|}tjj	||}&tjj	|d}t|tdkDrtd|tjj	d}	|j|	tdkDrtd|	tjj	|	d}
|j|
tdkDrtd	|
tjj	|
d
}t|tdkDr
td|yy)Nrz$Relative module test needs depth > 1rz
sibling.pyz  Added sibling module:unclez  Added uncle package:cousinz  Added cousin package:z	nephew.pyz  Added nephew module:)	
ValueErrorranger{r}r~r
rrr)r8base_dirrrr
module_diri
parent_dir
sibling_fname	uncle_dir
cousin_dirnephew_fnames            rA_add_relative_modulesz'RunModuleTestCase._add_relative_modulesrsA:CDD"
u	<A#Jj(;J	<Z>
-(Q;7GGGLLW5	)$Q;6	BWW\\)X6
*%Q;7Dww||J<,'Q;6E;rCNcd}|j||\}}}}||}n|}	|j||||jdd}	tdkDrt	d|t||}
|j
|
d||j
|
d|	|jd	|
|jd
|
~
tjt|tj|tjst|t!|tdkDrt	d|tjt||}|j
|d||j
|d|	|jd	||jd
|~|j#|tdkDrt	dyy#|j#|wxYw)
Nza\
from __future__ import absolute_import
from . import sibling
from ..uncle.cousin import nephew
rrrr)rNrrsiblingnephewrr)rrrrrrr3assertInrfrrr{rrrrr	r)r8rrNcontentsrrirdre
expected_namerd1d2s            rA_check_relative_importsz)RunModuleTestCase._check_relative_importss~~h.	/Hh$M$M	#&&w%@**3/2H{E"8(CHx8BR
^];R
.9MM)R(MM(B''')x IIi **	*x Q;&> I++-8<  J?  M!2H=

i,

h+MM'"Q;<=;
MM'"sE7GGcptdD](}tdkDrtd||j|*y)NrTesting package depth:rrrrr8rs  rAtest_run_modulez!RunModuleTestCase.test_run_modules41X	&E{E":EBu%	&rCcxtddD]+}tdkDrtd||j|dd-yNrrrTrrrs  rA$test_run_module_in_namespace_packagez6RunModuleTestCase.test_run_module_in_namespace_packages?1a[	NE{E":EBuM	NrCcrtddD](}tdkDrtd||j|*y)Nrrrrrrrrs  rAtest_run_packagez"RunModuleTestCase.test_run_packages61a[	'E{E":EB&	'rCc	j|jddd}|\}}}}|jdd}|j|j|tj
j
|dd}ttttf}|D]}|j}|j|5dj|}	t|dd	
5}
|
j|	ddd	t!||j#dj|	t!|d
z|j#dj|dddy#1swYoxYw#|$r%}|j%dt|Yd}~kd}~wwxYw#|$r%}|j%dt|Yd}~id}~wwxYw#1swY0xYw)Nrbrr	.__main__rrzz raise {0}('{0} in __init__.py.')wtasciiencodingzNothing raised; expected {}zfinding specz
.submodule)rreplace
addCleanuprr{r}r~rqAttributeError	TypeErrorrrsubTestformatrrrrpassertNotIn)r8rr_rdinit
exceptions	exceptionr$rrerrs            rA test_run_package_init_exceptionsz2RunModuleTestCase.test_run_package_init_exceptionssAz2"(Ha##K4

w/ww||G_mD!>9jI
#	JI%%Dd#
J;BB4H$w7+8NN6*+Jx(II;BB4HIJx,67II;BB4HI
J
J	J++!B$$^VC[AAB!B$$^VC[AAB
J
Jsx" F(EF(E( F(	E; F(EF(E8E3.F(3E88F(;F%F F( F%%F((F2	c|jdd\}}}}	t||jtd5t	|ddd|j|y#1swYxYw#|j|wxYw)Nrbrfound in sys\.modules)rrassertWarnsRegexRuntimeWarningrr)r8rrrds    rAtest_submodule_imported_warningz1RunModuleTestCase.test_submodule_imported_warningsu"&..Q"7Ha	#x &&~,.
%8$
%
MM'"	
%
%
MM'"s"!A,A A, A)%A,,A?c|jddd\}}}}|j|j||jdd}t	||j|tjtj5tjdtt|dddt	||jtd5t|dddy#1swY?xYw#1swYyxYw)Nrbrrrerrorr)rrrrrrrrHwarningscatch_warningssimplefilterrrr)r8rrrdpackages     rA test_package_imported_no_warningz2RunModuleTestCase.test_package_imported_no_warnings"&..Q
"CHa

w/"";37

gs{{+

$
$
&	 !!'>:w	 	8

"
">3K
L	 w	 	 	 	 
	 	 s&C*C6*C36C?cvtddD]*}tdkDrtd||j|d,y)NrrrT)rrrs  rA%test_run_package_in_namespace_packagez7RunModuleTestCase.test_run_package_in_namespace_packages;1a[	?E{E":EB>	?rCcvtddD]*}tdkDrtd||j|d,y)NrrrT)rrrs  rAtest_run_namespace_packagez,RunModuleTestCase.test_run_namespace_package;1a[	7E{E":EB6	7rCcxtddD]+}tdkDrtd||j|dd-yrrrs  rA/test_run_namespace_package_in_namespace_packagezARunModuleTestCase.test_run_namespace_package_in_namespace_packages?1a[	OE{E":EBN	OrCcttdD]*}tdkDrtd||j|d,y)NrrrTrrrs  rAtest_run_module_alter_sysz+RunModuleTestCase.test_run_module_alter_syss91X	6E{E":EBu5	6rCcvtddD]*}tdkDrtd||j|d,y)NrrrTrrrs  rAtest_run_package_alter_sysz,RunModuleTestCase.test_run_package_alter_sys	rrCcrtddD](}tdkDrtd||j|*y)Nrz"Testing relative imports at depth:rrrrrs  rAtest_explicit_relative_importz/RunModuleTestCase.test_explicit_relative_imports61a[	0E{E"FN((/	0rCcttddD])}tdkDrtd||j|d+y)Nrrrz'Testing main relative imports at depth:rrrs  rAtest_main_relative_importz+RunModuleTestCase.test_main_relative_imports81a[	<E{E"KUS((
;	<rCcd}d|jt|\}}}ttj	}|j|tjj|jdd|dfd}	|j|||j|y#|j|wxYw)Nrz*And now for something completely differentrrrct|SrZr)r\rdrNs rAr]z2RunModuleTestCase.test_run_name.<locals>.create_ns&shh??rC)rr[rr^r,r_rfrrrrRr)	r8rrrirer:r]rdrNs	       @@rA
test_run_namezRunModuleTestCase.test_run_names?~~ne4	/Hhx',,. !#..::9E#..s3A6 
		@	#%%i=MM'"DMM'"sB22Cc$ddl}d}d}ddg}d|dzg}t}t}td|D]d}d	j|g|z}	|j	|	|D]}
|j	|	d	z|
z|D]}
|j	|	d	z|
zfd	j|g|z}	|j	|	|j	|	d
z|jd|\}}}
}|j
|j|td|dzD]}|j|d||j|gD]}|j||j|j|jtjj|j r|j#|j${|j#|j$|j't)|d||j't)|d|y)
Nrrrrzuncle.cousinzuncle.cousin.nephewz.siblingrrz.runpy_testrbr)pkgutilr7rr~addrrrr
walk_packagesassertIsInstance
ModuleInfo
module_finderrfrg
FileFinderispkgrr$r3len)r8r#	max_depth	base_namepackage_suffixesmodule_suffixesexpected_packagesexpected_modulesrrr$rrirdre
moduleinfos                rAtest_pkgutil_walk_packagesz,RunModuleTestCase.test_pkgutil_walk_packages-s
		#	#^40)j2HIE51i(	<Exxe 34H!!(+(
=!%%hnt&;<
='
< $$X^d%:;
<	<88YK)34h'X
56~~b),	/Hh

w/1ik*	;E&&wE:	;!//	:	9J!!*g.@.@A!!*":":"+"5"5"@"@
B!((9 ''
8	9	
./4EF-.3CDrC)F)
runpy_testrZ)rrSrTrrrrvrxrrrrrrrrrrrrrrrrrrrrrr!r3rUrCrArnrns)?
4C6"'56:&2	+&>&+u&>P'?','?RF.&>P&
N
'
J8#
 ?
7
O
6
7
0
<
#*"ErCrnceZdZdZ	ddZ		ddZdZdZdZdZ	d	Z
d
ZdZdZ
d
ZdZdZeeddZdZy)RunPathTestCasezUnit tests for runpy.run_pathNc.|t}t||||SrZ)r[r)r8
script_dirscript_basenameromit_suffixs     rA_make_test_scriptz!RunPathTestCase._make_test_scriptTs">#F:!;0	0rCc
fd}tj}	||}
n|}
|r6tjj	|
|}|j
}|sd|_ndx}}|	j|||d||ddd|j||	d

fd}|r0|.tjj	
|}|sd|_||	d<
|	d<
jd	d
|	d<|j||	y)Nct|SrZr)r\script_names rAr]z0RunPathTestCase._check_script.<locals>.create_ns_sK66rCrbT)rrrrrrrr zprove.issue15230.is.fixedct|SrZr>)r\rNr?s rAr]z0RunPathTestCase._check_script.<locals>.create_ns|sKx@@rCrrrrr)
r^r,rfrrr'r2r_rRr)r8r?r
expected_fileexpected_argv0rdexpect_speccheck_loaderr]r:	spec_namere
mod_cachedrNs `           @rA
_check_scriptzRunPathTestCase._check_script[s	7',,.%I I ~~==i>KMH!J"&$((Hz%%$ ''+%)	
			
!!)[9.	A8+ ~~==h>KMH"&&.K
#"*J%-%8%8%=a%@M"!!)[9rCcftj|}|jt|t|yrZ)reescapeassertRaisesRegexrqr)r8r?msgs   rA_check_import_errorz#RunPathTestCase._check_import_errors#iin{C;GrCct5}d}|j||}|j|d||ddddy#1swYyxYwNscript
<run_path>FrCrr;rGr8r8rdr?s    rAtest_basic_scriptz!RunPathTestCase.test_basic_scriptsS
Z	?:H00XFK{L+*

?	?	?	?	+?Act5}d}tj|j||}|j	|d||ddddy#1swYyxYwrO)rpathlibPathr;rGrTs    rA"test_basic_script_with_path_objectz2RunPathTestCase.test_basic_script_with_path_objectsc
Z	?:H!,,t'='=j>F(HIK{L+*

?		?	?	?s>AAct5}d}|j||d}|j|d||ddddy#1swYyxYw)NrPT)r:rQFrRrSrTs    rAtest_basic_script_no_suffixz+RunPathTestCase.test_basic_script_no_suffixs^
Z	?:H00X=A1CK{L+*

?		?	?	?s-AA
ct5}d}|j||}tj|d}t	j
||j
|d||ddddy#1swYyxYw)NrPTdoraiserQFrR)rr;
py_compilecompiler{rrG)r8r8rdr?
compiled_names     rAtest_script_compiledz$RunPathTestCase.test_script_compiledsv
Z	A:H00XFK&..{DIMIIk"}lM,%

A	A	A	AsAA++A4ct5}d}|j||}|j|d|||dddy#1swYyxYw)NrrQrdrSrTs    rAtest_directoryzRunPathTestCase.test_directorysS
Z	>:!H00XFKz<)H

>	>	>	>rVc$t5}d}|j||}tj|d}t	j
|tjs!t|}|j|d|||dddy#1swYyxYw)NrTr^rQre)
rr;r`rar{rrrrrG)r8r8rdr?rb
legacy_pycs      rAtest_directory_compiledz'RunPathTestCase.test_directory_compileds
Z	B:!H00XFK&..{DIMIIk"**,[9
"":|Z#-#B	B	B	BsA2BBct5}d}|j||}d|z}|j||dddy#1swYyxYw)Nnot_main"can't find '__main__' module in %r)rr;rM)r8r8rdr?rLs     rAtest_directory_errorz$RunPathTestCase.test_directory_errorsO
Z	6:!H00XFK6CC$$Z5		6	6	6s,AA	c	t5}d}|j||}t|d|\}}|j|d|||ddddy#1swYyxYw)Nrtest_ziprQFrdrD)rr;r
rG)r8r8rdr?zip_namefnames      rAtest_zipfilezRunPathTestCase.test_zipfilesl
Z	F:!H00XFK-j*kROHexuh(0u

F		F	F	F<AAc	t5}d}|j||}tj|d}t	|d|\}}|j|d|||ddddy#1swYyxYw)NrTr^rorQFrp)rr;r`rar
rG)r8r8rdr?rbrqrrs       rAtest_zipfile_compiledz%RunPathTestCase.test_zipfile_compileds
Z	F:!H00XFK&..{DIM-j*.;=OHexuh(0u

F
	F	F	FsAA''A0ct5}d}|j||}t|d|\}}d|z}|j||dddy#1swYyxYw)Nrkrorl)rr;r
rM)r8r8rdr?rqrrrLs       rAtest_zipfile_errorz"RunPathTestCase.test_zipfile_errorsa
Z	4:!H00XFK-j*kROHe6AC$$Xs3	4	4	4rtcpuc
t5}t5}d}d|z}|j|||}t|d|\}}|jtt
|ddddddy#1swYxYw#1swYyxYw)Nrz import runpy
runpy.run_path(%r)
ro)rr;r
assertRaisesRecursionErrorr)r8r8	dummy_dirrdrr?rqrrs        rAtest_main_recursion_errorz)RunPathTestCase.test_main_recursion_errorsZ	B:xz	BY!H-09:F00XvNK-j*kROHenhA
	B	B	B	B	B	Bs#A9AA-A9-A6	2A99Bc*t5}tjj|d}t	|dd5}|jddddt
|}|j|dddddy#1swY2xYw#1swYyxYw)Nz	script.pyrlatin1ru%
#coding:latin1
s = "non-ASCII: hé"
sunon-ASCII: hé)rr{r}r~rrrr3)r8r8filenamefrs     rA
test_encodingzRunPathTestCase.test_encodings
Z	>:ww||J<Hhh7
1

h'FVC[*<=	>	>

	>	>s"/B	A=(B	=B	B		B)NF)NTT)rrSrTrr;rGrMrUrZr\rcrfrirmrsrvrxrrr~rrUrCrAr6r6Qs'4906:;?+:ZH???A>	B6FF4uBB	>rCr6ceZdZdZej
dk(renejZe	e
jdZfdZ
edZdZdZdZd	Zd
ZdZdZxZS)
TestExitl:win32c/xKt5}tj|dddy#1swYyxYwwrZ)rrXrY)argskwargstmp_fns   rAtmp_pathzTestExit.tmp_paths2Z	'6,,v&&	'	'	's:.	:7:c|j5}|dzx|_}|jtjdt||i|dddy#1swYyxYw)Nzham.pyz@                    raise KeyboardInterrupt
                    )rham
write_texttextwrapdedentsuperrun)r8rrtmpr	__class__s     rArzTestExit.runsc
]]_		) 8^+DHsNN

GK((		)		)		)sAAA$c:tjdg|}tj|g|i|dtjd}|j|jjd|j|j|j|jy)Nz-ET)textstderrz
KeyboardInterrupt
)r
executable
subprocessrPIPE
assertTruerr/r3
returncode
EXPECTED_CODE)r8cmdrrprocs     rAassertSigIntzTestExit.assertSigIntsv~~t*c*~~cVDVFVjooV,,-DEt{{S$*<*<=rCc<|j|jgyrZ)rrrus rAtest_pymain_run_filezTestExit.test_pymain_run_files488*%rCc|jj}|dz}|jtjd|j|g|y)Nz
run_module.pyzU                import runpy
                runpy.run_module("ham")
                cwdrr%rrrr)r8rrs   rA%test_pymain_run_file_runpy_run_modulez.TestExit.test_pymain_run_file_runpy_run_modulesQhhoo?*

OO
	
	
:,C0rCc|jj}|dz}|jtjd|j|g|y)Nzrun_module_as_main.pyz^                import runpy
                runpy._run_module_as_main("ham")
                rr)r8rrun_module_as_mains   rA-test_pymain_run_file_runpy_run_module_as_mainz6TestExit.test_pymain_run_file_runpy_run_module_as_main(sShhoo #::%%OO
	
	
-.C8rCcV|jddg|jjy)N-cz%import runpy; runpy.run_module('ham')rrrr%rus rA"test_pymain_run_command_run_modulez+TestExit.test_pymain_run_command_run_module5s)
:;		
rCcV|jddg|jjy)Nr
import hamrrrus rAtest_pymain_run_commandz TestExit.test_pymain_run_command;s"4.DHHOODrCcT|jgd|jjy)Nr)inputrrrus rAtest_pymain_run_stdinzTestExit.test_pymain_run_stdin>s"LdhhooFrCcn|j}|jd|jg|jy)Nz-mr)rrstemr%)r8rs  rAtest_pymain_run_modulezTestExit.test_pymain_run_moduleAs+hh4*

;rC)rrSrTSTATUS_CONTROL_C_EXITrplatformsignalSIGINTrstaticmethod
contextlibcontextmanagerrrrrrrrrrrr
__classcell__)rs@rArrs&<<7"	mm^
''

)>>&19
EG<rCrr)2rimportlib.machineryrfimportlib.utilos.pathr{rXr`rIrrrrrunittestrtest.supportrrrrtest.support.import_helperrrr	test.support.os_helperr
rtest.support.script_helperrr
rrrrrr[implicit_namespacerGdictr^r_r#TestCaserWrnr6rrmainrUrCrA<module>rs?*	

TTFF>C
CC&

%'>?!$"%T;	+,LFLF^$:X..0B$:NUE))+=UEnb>h'');b>JM<x  M<`zHMMOrC