python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test__xxsubinterpreters.cpython-312.opt-2.pyc

͑emJddlZddlZddlZddlZddlZddlmZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZe
jdZdZd%dZd%d	Zej(d
ZdZGdd
ej.ZGddej.ZGddej.ZGddeZGddeZGddeZGddeZGddeZGddeZ GddeZ!Gd d!eZ"Gd"d#eZ#e$d$k(rejJyy)&N)dedent)support)
import_helper)
script_helper_xxsubinterpretersctj\}}|jdd}td|d|d}|t	|dfS)N
z
                z-
        import contextlib
        with open(zg, 'w', encoding="utf-8") as spipe:
            with contextlib.redirect_stdout(spipe):
                z	
        utf-8encoding)ospipereplaceropen)scriptrwindentedwrappeds     P/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test__xxsubinterpreters.py_captured_scriptrs^
779DAq~~d$89H#
		
GDW---ct|\}}|5tj||||jcdddS#1swYyxYwN)rinterpreters
run_stringread)interprequestsharedrrpipes     r_run_outputr""sC$W-MFE	7zz|s'AAc|tj}tj|dD]}tj	|sytd)NF)errorzinterp is not running)r
SHORT_TIMEOUTsleeping_retryr
is_runningRuntimeError)rtimeout_s   r_wait_for_interp_to_runr+)sO''

#
#G5
94""6*4233rc#<Ktj\}fd}tj|}|j	tdt
|dd5}|jdddd|jy#1swYxYww)NcLtjtddy)Nz7
            # wait for "signal"
            with open(zG, encoding="utf-8") as rpipe:
                rpipe.read()
            )rrr)rrsrrunz_running.<locals>.run9s.4c
0)	rtargetrr
rdone)	r
r	threadingThreadstartr+rwritejoin)rrr.tspipers`    @r_runningr96sx
779DAq	$AGGIF#		
aw	'5
FFFHsA!B%B7BBBctjD]}|dk(r		tj| y#t$rY-wxYw)Nr)rlist_alldestroyr(ids rclean_up_interpretersr?KsK##%
7	  $	
		s7	AAceZdZdZy)TestBasectyr)r?selfs rtearDownzTestBase.tearDownWsrN)__name__
__module____qualname__rErrrArAUs rrAceZdZdZdZy)IsShareableTestscgd}|D]@}|j|5|jtj|dddBy#1swYMxYw)N)Nspamspam
i)subTest
assertTrueris_shareable)rD
shareablesobjs   rtest_default_shareablesz(IsShareableTests.test_default_shareables`sZ
	4Cc"
4 --c24
4
4	4
4
4s%AA	cVGdd}Gddt}ddtdtttt	d||d	|d
g}|D]I}|jt
|5|jtj|dddKy#1swYVxYw)NceZdZdZdZy)3IsShareableTests.test_not_shareable.<locals>.Cheesec||_yrname)rDr[s  r__init__z<IsShareableTests.test_not_shareable.<locals>.Cheese.__init__qs	 	rc|jSrrZrCs r__str__z;IsShareableTests.test_not_shareable.<locals>.Cheese.__str__ssyy rN)rFrGrHr\r^rIrrCheeserXps
!
!rr_ceZdZy)5IsShareableTests.test_not_shareable.<locals>.SubBytesN)rFrGrHrIrrSubBytesravs1rrbTF.gY@WensleydalerM)
bytesNotImplementedtypeobject	ExceptionrPreprassertFalserrR)rDr_rbnot_shareablesrTs     rtest_not_shareablez#IsShareableTests.test_not_shareableos	!	!	2u	2
}%!""	4Cd3i(
4   --c24
4
4	4
4
4s/%BB(	N)rFrGrHrUrlrIrrrKrK^s
44rrKc6eZdZdZdZdZdZdZdZdZ	y)	ShareableTypeTestsc|D]|}|j|5tj|}tj|}|j	|||jt
|t
|ddd~y#1swYxYwr)rP	_testcapiget_crossinterp_datarestore_crossinterp_dataassertEqualassertIsrf)rDvaluesrTxidgots     r_assert_valuesz!ShareableTypeTests._assert_valuess}	4Cc"
444S988=  c*

d3ic3
4
4	4
4
4sA!BB	cdD]X}|j|5tj|}tj|}|j	||dddZy#1swYexYw)Nr)rPrprqrrrt)rDrTrvrws    rtest_singletonsz"ShareableTypeTests.test_singletonssg	(Cc"
(44S988=

c3'
(
(	(
(
(s=AA(	c*|jddgy)NrMi'rxrCs r
test_typeszShareableTypeTests.test_typess	rcH|jdtddDy)Nc3DK|]}|jdddyw)littleT)signedN)to_bytes).0is  r	<genexpr>z0ShareableTypeTests.test_bytes.<locals>.<genexpr>s'5 !JJq(4J@5s )rxrangerCs r
test_byteszShareableTypeTests.test_bytess#5%*2s^5	5rc*|jgdy)N)zhello worldu你好世界r|rCs r	test_strszShareableTypeTests.test_strss?@rc|jtjtddtj
tj
dz
gy)Nrr)rx	itertoolschainrsysmaxsizerCs rtest_intzShareableTypeTests.test_ints<IOOE"cN-0[[3;;,:J,KM	Nrc2tjdztjdz
ddzg}|D]O}|j|5|jt5tj|ddddddQy#1swYxYw#1swYhxYw)Nrr)rrrPassertRaises
OverflowErrorrprq)rDintsrs   rtest_non_shareable_intz)ShareableTypeTests.test_non_shareable_intsKK!O
[[L1
tG

	6Aa
6&&}5622156
6
6	666
6
6s$B
B.B
B
B

B	N)
rFrGrHrxrzr}rrrrrIrrrnrns'4(5AN	6rrnceZdZdZy)ModuleTestsc@ttjdy)Nz*import _xxsubinterpreters as _interpreters)r"rcreaterCs rtest_import_in_interpreterz&ModuleTests.test_import_in_interpreters!8	
rN)rFrGrHrrIrrrrs
rrceZdZdZdZdZy)ListAllTestscztj}tj}|j||gyr)rget_mainr;rs)rDmainidss   rtest_initialzListAllTests.test_initials0$$&##%tf%rctj}tj}tj}tj}|j	||||gyr)rrrr;rsrDrfirstsecondrs     rtest_after_creatingz ListAllTests.test_after_creatingsQ$$&##%$$&##%tUF34rctj}tj}tj}tj|tj	}|j|||gyr)rrrr<r;rsrs     rtest_after_destroyingz"ListAllTests.test_after_destroyings\$$&##%$$&U###%tVn-rN)rFrGrHrrrrIrrrrs&
5.rrceZdZdZdZy)GetCurrentTestsctj}tj}|j|||j	|tj
yr)rrget_currentrsassertIsInstance
InterpreterID)rDrcurs   r	test_mainzGetCurrentTests.test_mainsD$$&&&(d#c<#=#=>rc&tj}tj}t|t	d}t|j
}tj\}}|j|||j||y)Nz
            import _xxsubinterpreters as _interpreters
            cur = _interpreters.get_current()
            print(cur)
            assert isinstance(cur, _interpreters.InterpreterID)
            )
rrrr"rintstripr;rsassertNotEqual)rDrroutrr*expecteds       rtest_subinterpreterz#GetCurrentTests.test_subinterpretersz$$&$$&&&*##))+"++-8h'C&rN)rFrGrHrrrIrrrrs?'rrceZdZdZdZy)GetMainTestsctj\}tj}|j|||j	|tj
yr)rr;rrsrr)rDrrs   rtest_from_mainzGetMainTests.test_from_mainsF!**,
$$&x(dL$>$>?rctj\}tj}t|t	d}t|j
}|j||y)Nz
            import _xxsubinterpreters as _interpreters
            main = _interpreters.get_main()
            print(main)
            assert isinstance(main, _interpreters.InterpreterID)
            )rr;rr"rrrrs)rDrrrrs     rtest_from_subinterpreterz%GetMainTests.test_from_subinterpretersZ!**,
$$&&&*#399;x(rN)rFrGrHrrrIrrrrs
@
)rrcZeZdZdZej
ddZdZdZdZ	dZ
y)	IsRunningTestscttj}|jtj|yr)rrrQr')rDrs  rrzIsRunningTests.test_mains'$$&//56rzFails on FreeBSDcDtj}|jtj|t	|5|jtj|ddd|jtj|y#1swY.xYwr)rrrjr'r9rQrDrs  rrz"IsRunningTests.test_subinterpretersv$$&0089
f
	=OOL33F;<	=0089	=	=s%BBctj}t|td|d}|j	|jdy)Nz`
            import _xxsubinterpreters as _interpreters
            if _interpreters.is_running(zZ):
                print(True)
            else:
                print(False)
            True)rrr"rrsr)rDrrs   rrz'IsRunningTests.test_from_subinterpretersO$$&&&.))/1
*#	
f-rctj}tj||jt5tj|dddy#1swYyxYwr)rrr<rr(r'rs  rtest_already_destroyedz%IsRunningTests.test_already_destroyed*sO$$&V$


|
,	,##F+	,	,	,AA'c|jt5tjddddy#1swYyxYwNi@B)rr(rr'rCs rtest_does_not_existz"IsRunningTests.test_does_not_exist0s3


|
,	/##I.	/	/	/5>c|jt5tjddddy#1swYyxYwNr)r
ValueErrorrr'rCs rtest_bad_idzIsRunningTests.test_bad_id4s3


z
*	(##B'	(	(	(rN)rFrGrHrunittestskiprrrrrrIrrrrs;7X]]%&:':	.,/(rrc6eZdZdZdZdZdZdZdZdZ	y)	InterpreterIDTestschtjdd}|jt|dy)NrOTforce)rrrsrrDr>s  r
test_with_intz InterpreterIDTests.test_with_int;s+

'
'$
'
7R"%rcGddt}tj|d}|jt	|dy)NceZdZdZy).InterpreterIDTests.test_coerce_id.<locals>.IntcyNrOrIrCs r	__index__z8InterpreterIDTests.test_coerce_id.<locals>.Int.__index__BsrN)rFrGrHrrIrrIntrAs
rrTrrO)strrrrsr)rDrr>s   rtest_coerce_idz!InterpreterIDTests.test_coerce_id@s;	#	
'
'T
'
:R"%rc|jttjt	|jttjd|jttjd|jttjd|jt
tjd|jttjdy)Ng$@10s10rl)r	TypeErrorrrrgrrrCs rrzInterpreterIDTests.test_bad_idHs)\%?%?J)\%?%?F)\%?%?F)\%?%?G*l&@&@"E-)C)CUKrctj}|jt5tj	t|dzdddy#1swYyxYw)Nr)rrrr(rrrs  rrz&InterpreterIDTests.test_does_not_existPsI

 
 
"


|
,	4&&s2w{3	4	4	4s"AAchtjdd}|jt|dy)NrOTrr)rrrsrrs  rtest_strzInterpreterIDTests.test_strUs+

'
'$
'
7R$'rchtjdd}|jt|dy)NrOTrzInterpreterID(10))rrrsrirs  r	test_reprzInterpreterIDTests.test_reprYs,

'
'$
'
7b#67rctj}tjt|}tj}|j	||k(|j	||k(|j	|t|k(|j	t||k(|j	|tt|k(|j	tt||k(|j
|tt|dzk(|j
|tt|k(|j
|ddzk(|j
|tdk(|j
|dk(|j
||k(|j
||k7|j
||k7|j	||k7y)Ng?rrinfrN)rrrrrQfloatrjrrDid1id2id3s    r
test_equalityz InterpreterIDTests.test_equality]sl!!#((S2!!#s
#s
#s3x(CC(uSX./c#h3./c#h# 556CH
-.4(e,-'$$$s
#rN)
rFrGrHrrrrrrrrIrrrr9s&&
&L4
(8$rrc`eZdZdZej
ddZdZdZdZ	dZ
dZy	)
CreateTestsctj}|j|tj|j	|tjyr)rrrrassertInr;rs  rtest_in_mainzCreateTests.test_in_mainvs=

 
 
"b,"<"<=

b,//12rz*enable this test when working on pystate.cct}tdD]<}tj}tj	||j|>|j
t|dy)Nd)setrrrr<addrslen)rDseenr*r>s    rtest_unique_idzCreateTests.test_unique_id|sYus	A$$&B  $HHRL	
	
TC(rc"tjdfd}tj|}5|jddd|j	|jtjy#1swY>xYw)Ncntjjjyr)rracquirerelease)r>locksrfz%CreateTests.test_in_thread.<locals>.fs#$$&BLLNLLNrr/)r2Lockr3r4r6rrr;)rDrr7r>rs   @@rtest_in_threadzCreateTests.test_in_threadsl~~
	
A&
	
GGI		

b,//12		sBBctj\}tj}t|t	d}t|j
}|jttj|||hy)Nz
            import _xxsubinterpreters as _interpreters
            id = _interpreters.create()
            print(id)
            assert isinstance(id, _interpreters.InterpreterID)
            )	rr;rr"rrrrsr)rDrrrrs     rtest_in_subinterpreterz"CreateTests.test_in_subinterpreterso%%'!!##v' #))+\2245c37GHrc8tj\}tjdfd}tj|}|j|j
|jttj|hy)Ncbttd}t|jy)Nz
                import _xxsubinterpreters as _interpreters
                id = _interpreters.create()
                print(id)
                )r"rrr)rrrs rrz6CreateTests.test_in_threaded_subinterpreter.<locals>.fs-c6+$C
ciik"Crr/)	rr;rr2r3r4r6rsr)rDrrr7rrs    @@rtest_in_threaded_subinterpreterz+CreateTests.test_in_threaded_subinterpreterst%%'!!#	#
A&			\2245c37GHrcnttj}g}tdD]'}tj	}|j|)|D]}tj
|tj	}|jttj||hzyN)rrr;rrappendr<rsrDbeforerr*r>s     rtest_after_destroy_allz"CreateTests.test_after_destroy_alls\**,-q	A$$&BJJrN		%B  $	%
 
 
"\2245v}Ercttj}tj}tj}tj}tj	|tj	|tj}|jttj|||hzyr)rrr;rr<rs)rDrrrrr>s      rtest_after_destroy_somez#CreateTests.test_after_destroy_somes\**,-!!#!!#!!#S!S!

 
 
"\2245vS	7IJrN)rFrGrHrrrrr
rrrrrIrrrrtsE3X]]?@)A)
3II&FKrrcHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)DestroyTestsctj}tj}tj}|j|tjtj	||j|tj|j|tj|j|tjyr)rrrr;r<assertNotInrs    rtest_onezDestroyTests.test_ones!!#!!#!!#

c<0023S!l3356

c<0023

c<0023rcttj}t}tdD]'}tj	}|j|)|j
ttj||z|D]}tj||j
ttj|yr)rrr;rrrrsr<rs     rtest_allzDestroyTests.test_alls\**,-eq	A$$&BGGBK		
\2245v|D	%B  $	%\2245v>rc*tj\jt5tj	dddfd}tj|}|j|jy#1swYFxYw)Ncjt5tjdddy#1swYyxYwrrr(rr<)rrDsrrz!DestroyTests.test_main.<locals>.fs4""<0
+$$T*
+
+
+s6?r/)	rr;rr(r<r2r3r4r6)rDrr7rs`  @rrzDestroyTests.test_mainsm%%'


|
,	'  &	'	+
A&				'	'sB		Bctj}tj||jt5tj|dddy#1swYyxYwr)rrr<rr(rs  rrz#DestroyTests.test_already_destroyedsO

 
 
"R 


|
,	%  $	%	%	%rc|jt5tjddddy#1swYyxYwrr"rCs rrz DestroyTests.test_does_not_exists3


|
,	,  +	,	,	,rc|jt5tjddddy#1swYyxYwr)rrrr<rCs rrzDestroyTests.test_bad_ids3


z
*	%  $	%	%	%rctj\}tj}td|d}tj	|||jt
tj||hy)Nzo
            import _xxsubinterpreters as _interpreters
            try:
                _interpreters.destroy(zD)
            except RuntimeError:
                pass
            rr;rrrrsr)rDrr>rs    rtest_from_currentzDestroyTests.test_from_currentst%%'

 
 
"'(*d+
	F+\2245bzBrc(tj\}tj}tj}td|d}tj	|||jt
tj||hy)NzZ
            import _xxsubinterpreters as _interpreters
            _interpreters.destroy(z)
            r')rDrrrrs     rtest_from_siblingzDestroyTests.test_from_siblings%%'!!#!!###&%(
	V,\2245c{Crctjfd}tj|}|j	|jy)Nc0tjyr)rr<r=srrz.DestroyTests.test_from_other_thread.<locals>.fs  $rr/)rrr2r3r4r6)rDrr7r>s   @rtest_from_other_threadz#DestroyTests.test_from_other_threads:

 
 
"	%
A&			rctj\}tj}t|5|j	tj|d|d|j
td|d5tj|ddd|j	tj|dddy#1swY6xYw#1swYyxYw)NzInterp z& should be running before destruction.)msgz%Should not be able to destroy interp z while it's still running.)	rr;rr9rQr'rr(r<)rDrrs   rtest_still_runningzDestroyTests.test_still_running&s%%'$$&
f
	=OOL33F;")&1W X

Z""<)NvhVp'q#s
-$$V,
-
OOL33F;<	=	=
-
-		=	=s$AC<C,CC	CCN)
rFrGrHrrrrrrr(r*r-r0rIrrrrs64	?%,%C
D
=rrc eZdZfdZdZdZdZdZdZdZ	e
jdZd	Z
d
ZdZdZd
ZdZej(ddZdZdZdZdZdZdZdZdZdZej@ddZ!xZ"S)RunStringTestscTt|tj|_yr)supersetUprrr>)rD	__class__s rr5zRunStringTests.setUp5s

%%'rctd\}}|5tj|j||j	}ddd|jdy#1swYxYw)Nprint("it worked!", end="")
it worked!)rrrr>rrs)rDrfilers    rtest_successzRunStringTests.test_success9sZ'(EF
	##DGGV4))+C		
l+			s1AA&ctd\}|5fd}tj|}|j|j	|j}dddj
dy#1swYxYw)Nr8cFtjjyr)rrr>)rrDsrrz(RunStringTests.test_in_thread.<locals>.fDs''8rr/r9)rr2r3r4r6rrs)rDr:rr7rrs`    @rr
zRunStringTests.test_in_threadAsp'(EF
	
9  *A
GGI
FFH))+C		
l+		sA
A;;Bctj}td\}}|5tj|||j	}ddd|jdy#1swYxYw)Nz
            import threading
            def f():
                print('it worked!', end='')

            t = threading.Thread(target=f)
            t.start()
            t.join()
            r9rrrrrrs)rD	subinterprr:rs     rtest_create_threadz!RunStringTests.test_create_threadNsj '')	')	##Iv6))+C		
l+			s'A''A0ct|jd5d}tjd}td|d\}}|5tj	|||j}ddd|j
|ddd|jd5tjd}td	\}}|5tj	|||j}ddd|j
d
dddy#1swYxYw#1swYxYw#1swY<xYw#1swYyxYw)Nisolatedspam spam spam spam spamT)rCa<
                import threading
                def f():
                    print('it worked!', end='')

                try:
                    t = threading.Thread(target=f, daemon=True)
                    t.start()
                    t.join()
                except RuntimeError:
                    print('z', end='')
                znot isolatedFz
                import threading
                def f():
                    print('it worked!', end='')

                t = threading.Thread(target=f, daemon=True)
                t.start()
                t.join()
                r9)rPrrrrrrsrDrr@rr:rs      rtest_create_daemon_threadz(RunStringTests.test_create_daemon_thread_s<
\\*
%	,1H$++T+:I+
1%:&-LFD
"''	6:iik
"
S(+'	,*\\.
)	0$++U+;I+-LFD
"''	6:iik
"
S,/	0	0

"
"	,	,@
"
"	0	0sF-D'D
&D'D.'D"'D.
D	DD"D+	'D..D7c	tj}gd}|D]B}|j|5tj|d|dt	|dddDy#1swYOxYw)N)NrNrM*zassert(obj == ))rT)r )rrrPrdict)rDrobjectsrTs    rtest_shareable_typesz#RunStringTests.test_shareable_typessw$$&
	Cc"
''$SG1-C=(

	

s'A!!A*	cd}tj}td|d\}}|5tj|||j	}ddd|j|y#1swYxYw)NrDz
            import os, sys
            try:
                os.execl(sys.executable)
            except RuntimeError:
                print('z', end='')
            r?rEs      rtest_os_execzRunStringTests.test_os_execs- '')	'-
!z"
)	##Iv6))+C		
h'			s'A--A6cddl}|jdd5}|jd|jd}t	d|j
d|d	}tj|j||jd|j}|j||dddy#1swYyxYw)
Nrzw+r
rrrDz
                import os
                try:
                    os.fork()
                except RuntimeError:
                    with open('zE', 'w', encoding='utf-8') as out:
                        out.write('z')
                )tempfileNamedTemporaryFiler5flushrr[rrr>seekrrs)rDrPr:rrcontents      r	test_forkzRunStringTests.test_forks

(
(
(
@	0DJJrNJJL1H! 
!%		{+$$,:.
F
##DGGV4IIaLiikGWh/#	0	0	0sBB44B=ct|j5|jt5tj|jdddddddy#1swYxYw#1swYyxYw)N
print("spam"))r9r>rr(rrrCs rtest_already_runningz#RunStringTests.test_already_runningsh
dgg
	B""<0
B''A
B	B	B
B
B	B	Bs"A*!A
A*A'	#A**A3cd}|tjvr|dz
}|tjvr|jt5tj	|ddddy#1swYyxYw)NrrrW)rr;rr(rrs  rrz"RunStringTests.test_does_not_existsg
L))++!GBL))++


|
,	9##B8	9	9	9s
A**A3c|jt5tjdddddy#1swYyxYw)NrrW)rrrrrCs r
test_error_idzRunStringTests.test_error_ids5


z
*	9##B8	9	9	96?c|jt5tjdddddy#1swYyxYw)NrNrW)rrrrrCs rrzRunStringTests.test_bad_ids5


y
)	=##FO<	=	=	=r\c|jt5tj|jddddy#1swYyxYwrrrrrr>rCs rtest_bad_scriptzRunStringTests.test_bad_scripts9


y
)	1##DGGR0	1	1	1!AA	c|jt5tj|jddddy#1swYyxYw)Ns
print("spam")r_rCs rtest_bytes_for_scriptz$RunStringTests.test_bytes_for_scripts:


y
)	?##DGG-=>	?	?	?rac#lK|jtj5}dddd|A|jt	j
j
ddt	|y|jt	j
dj||y#1swYxYww)N:rz{}: {})rrRunFailedErrorrsr	exceptionsplitformat)rDexctyper/caughts    rassert_run_failedz RunStringTests.assert_run_faileds


|::
;	v	;S!1!1288=a@ \
+
S!1!12%__Wc:
<
		s B4B(BB4(B1-B4c|jt5tj|jddddy#1swYyxYw)Nzprint("spam")rlSyntaxErrorrrr>rCs rtest_invalid_syntaxz"RunStringTests.test_invalid_syntaxs9

#
#K
0	=##DGG^<	=	=	=rac|jtd5tj|jddddy#1swYyxYw)NrNzraise Exception("spam"))rlrhrrr>rCs rtest_failurezRunStringTests.test_failures@

#
#Iv
6	H##DGG-FG	H	H	H!AA
c|jtd5tj|jddddy#1swYyxYw)N42zraise SystemExit(42))rl
SystemExitrrr>rCs rtest_SystemExitzRunStringTests.test_SystemExits@

#
#J
5	E##DGG-CD	E	E	ErrcR|jt5tj|jtdddd|jtd5tj|jtddddy#1swYRxYw#1swYyxYw)NzG
                import sys
                sys.exit()
                rtzI
                import sys
                sys.exit(42)
                )rlrurrr>rrCs r
test_sys_exitzRunStringTests.test_sys_exits

#
#J
/	##DGGV5.
	
#
#J
5	##DGGV5.
		
				s*B*BBB&ctj\}}dddd}td|d}tj	|j
||t
|d5}tj|}ddd|jdd|j|d	d
|j|dd|j|d
y#1swY]xYw)Nhams-1)rNeggscheddarz
            eggs = int(eggs)
            spam = 42
            result = spam + eggs

            ns = dict(vars())
            del ns['__builtins__']
            import pickle
            with open(C, 'wb') as chan:
                pickle.dump(ns, chan)
            rbrNrHr{rresult)r|)r
rrrrr>rpickleloadrsassertIsNonerDrrr rchannss       rtest_with_sharedzRunStringTests.test_with_sharedswwy1
c


	8
!T]	#dT"B	#	
FR(FR(Hr*"Y-(
	#	#sCCc8tj|jtdddi}td}tj|j||t	j
\}}td|d}tj|j|t
|d5}tj|}ddd|jddd	|j|d
dd|j|ddy#1swYOxYw)Nzj
            spam = 'eggs'
            ns1 = dict(vars())
            del ns1['__builtins__']
            rNrzzL
            ns2 = dict(vars())
            del ns2['__builtins__']
        zr
            ns = dict(vars())
            del ns['__builtins__']
            import pickle
            with open(r}r~ns1r{ns2)
rrr>rr
rrrrrs)rDr rrrrrs       rtest_shared_overwritesz%RunStringTests.test_shared_overwritess1*	&!
	8wwy1c
		0
!T]	#dT"B	#	
E6*F3E6*F3FV,	#	#s,DDc0tj\}}ddi}td|d}tj	|j
||t
|d5}tj|}ddd|jddy#1swYxYw)NrFsnot __main__z
            spam = 42

            ns = dict(vars())
            del ns['__builtins__']
            import pickle
            with open(r}r~)
r
rrrrr>rrrrsrs       r#test_shared_overwrites_default_varsz2RunStringTests.test_shared_overwrites_default_vars7swwy1o.c

	8
!T]	#dT"B	#	
J9	#	#sBBc|tj\}}tj|jtd|dt
|d5}tj|}dddtj\}}tj|jtd|dt
|d5}tj|}ddd|jd|jd||jd|jd|y#1swYxYw#1swY^xYw)Nz
            spam = True

            ns = dict(vars())
            del ns['__builtins__']
            import pickle
            with open(zd, 'wb') as chan:
                pickle.dump(ns, chan)
            del ns, pickle, chan
            r~z
            eggs = False

            ns = dict(vars())
            del ns['__builtins__']
            import pickle
            with open(r}rNr{)r
rrrr>rrrrrr)rDrrrrrs      rtest_main_reusedzRunStringTests.test_main_reusedJs wwy15c

	1	*		!T]	$d++d#C	$wwy15c

1*	!T]	$d++d#C	$	


fc"%

fc"

fc"'	$	$	$	$sD&?D2&D/2D;c
rtj\}}td|d}tj	|j
|t
|d5}tj|}dddjd|jd|j|didddddy#1swYExYw)	Nz
            spam = 42

            ns = dict(vars())
            ns['__builtins__'] = str(ns['__builtins__'])
            import pickle
            with open(r}r~__builtins__
__loader____main__rH)rF__annotations____doc____package____spec__rN)r
rrrrr>rrrpoprs)rDrrrrrs      r test_execution_namespace_is_mainz/RunStringTests.test_execution_namespace_is_mainkswwy1c

	0
!T]	#dT"B	#	~
|"!
		#	#sB--B6zblocking foreverc2td}tj5}tj|d|}tj
|5}|j
}dddddd|jdy#1swY$xYw#1swY(xYw)Na
        from textwrap import dedent
        import threading
        import _xxsubinterpreters as _interpreters
        id = _interpreters.create()
        def f():
            _interpreters.run_string(id, dedent('''
                import time
                # Give plenty of time for the main interpreter to finish.
                time.sleep(1_000_000)
                '''))

        t = threading.Thread(target=f)
        t.start()
        rr)rrtemp_dirrmake_scriptspawn_pythonwaitrs)rDrdirnamefilenameprocretcodes      rtest_still_running_at_exitz)RunStringTests.test_still_running_at_exits



	&7$00(FKH++H5
&))+
&	&
	
!$
&
&	&	&s#-B

BB
B
	B

Br)#rFrGrHr5r;r
rArFrLrNr
requires_forkrUrXrr[rr`rc
contextlibcontextmanagerrlrorqrvrxrrrrrrrr
__classcell__)r6s@rr2r23s(,,,"%0N ( W00*B
99=1?<<=
HE)8-<:&#B8X]]%&%'%rr2rr)&rrr
rrtextwraprr2rrptestrtest.supportrr
import_modulerrr"r+rr9r?TestCaserArKrnrrrrrrrrr2rFrrIrr<module>rs7	

&&+}**+?@	.
4

( x   /4x((/4d.6**.6b
(
.8..'h'.)8)*&(X&(R8$8$vZK(ZKz_=8_=Dj%Xj%ZzHMMOr