python (3.11.7)

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

eLddlZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddl	mZddl	mZddl	m
Z
ddlZddlZe
jdZddlZejjZdZGd	d
ejZGddejZGd
dejZGddejZGddejZedkrejdSdS)N)support)
import_helper)	os_helper)
script_helper)warnings_helperimpctj|}tjt	t
dddud|S)zXDecorator to skip a test if not running under CPython or lacking
    imp.load_dynamic().load_dynamicNzimp.load_dynamic() required)rcpython_onlyunittestskipIfgetattrr)meths A/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_imp.pyrequires_load_dynamicrsR%%D:8?73==E8:::>@@@ceZdZdZdZdZdS)	LockTestsz)Very basic test of import lock functions.ch|t|d|zdS)Nz!expected imp.lock_held() to be %r)assertEqualr	lock_held)selfexpecteds  rverify_lock_statezLockTests.verify_lock_state"s=(@8K	M	M	M	M	Mrcd}t}||t|D]0}t|d1t|D]}t|||sB	t|ddS#t$rYdSwxYwdS)N2Tz5release_lock() without lock should raise RuntimeError)rrrrangeacquire_lockrelease_lockfailRuntimeError)rLOOPSlock_held_at_startis    rtestLockzLockTests.testLock%s!]]__1222u	)	)A""4((((u		A	
1222!	,
,  """		+,,,,, 



	,	,s4C$$
C21C2N)__name__
__module____qualname____doc__rr%rrrrs;33MMM,,,,,rrcNeZdZdZdZdZdZdZdZdZ	dZ
ed	Zed
Z
edZedZed
ZejejddZdZdZejdZdZdZdZdZejdZdS)ImportTestsc^tjd}|j|_|j|_dS)Nztest.encoded_modules)	importlib
import_moduletest_strings__path__	test_path)rmods  rsetUpzImportTests.setUpAs+%&<==,rc|jD]8\}}}tjd|z}|||j9dS)Nztest.encoded_modules.module_)r0r.r/rtest)rmodnameencodingteststrr3s     rtest_import_encoded_modulez&ImportTests.test_import_encoded_moduleFs_*.*;	0	0&GXw)+46=+>??CWch////	0	0rc|jD]b\}}}td|z|jd5}||j|dddn#1swxYwYctjtj	tdg}|t5td|ddddS#1swxYwYdS)Nmodule_rtokenizedatabadsyntax_pep3120)
r0rfind_moduler2rr8ospathjoindirname__file__assertRaisesSyntaxError)rr3r8_fdrAs      rtest_find_module_encodingz%ImportTests.test_find_module_encodingLsZ $ 1	8	8C1S$.AA!D
8  h777
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8RW__X66GGH


{
+
+	7	7OO/666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7s#AA#	&A#	C11C58C5c |jD]\}}}td|z|j\}}}|5||d||j|||d||d|zdddn#1swxYwYtd\}}}|5||d||jd||d||dddddS#1swxYwYdS)Nr<rz# test %s encoding
tokenizeutf-8z*"""Tokenization help for Python programs.
)	r0rr?r2assertNotEqualrr8tellreadline)rr3r8rGfpfilenameinfos       rtest_issue1267zImportTests.test_issue1267Us# $ 1	-	-C1"%//)c/26.#B#BB$
-
-##B---  h777  A...  0F#+1,---	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!__Z88Hd
	L	LD)))R['222RWWYY***R[[]]J
L
L
L		L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	L	Ls%BCC	C	4BFF
Fc`d}tjdd	t|dzdd5}|ddddn#1swxYwYt
|\}}}|||j	d	tjd=tj|dztj|d
zdS#tjd=tj|dztj|d
zwxYw)Ntest_imp_helperr..pywzlatin-1r8z%# coding: cp1252
u = 'test.test_imp'
cp1252.pyc)sysrAinsertopenwriterr?closerr8runlink)r
temp_mod_namefilerQrRs     rtest_issue3594zImportTests.test_issue3594hsg)
3		5me+S9EEE
F

DEEE
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F#&??=#A#A D(DJJLLLT]H555]U2333]V344444]U2333]V34444s/C0AC0AC0"A#AC00=D-c
tj}ddddddddddd
}tjdkr||dd	}n||}|s|d
|z||}d|z}d|z}tj	|d
}	tj
dtjt|dzdd5}|
ddddn#1swxYwYt|\}}	}
|5||||	dd|||
dd||
dd||
dtjt|||	|
}||jddddn#1swxYwYt-j5t-jdt||dz}dddn#1swxYwY||jdt-j5t-jdtjs6t|t|dz}dddn#1swxYwY||jdtj|stj|t|dd5}|
ddddn#1swxYwYt-j5t-jdt||}dddn#1swxYwY||j dtjd=dD]0}
tCj"||
ztCj"||
z1tCj#|tCj#ddS#tjd=dD]0}
tCj"||
ztCj"||
z1tCj#|tCj#dwxYw)Nsä)
rLcp1250cp1251rZcp1253cp1254cp1255cp1256cp1257cp1258darwinrLsäz2can't run this test with %s as filesystem encodingtest_imp_helper_test_imp_helper_package_z__init__.pyrrWrXrYza = 1
rignorezb = 2
)rWr[__pycache__)$r\getfilesystemencodingplatformrgetskipTestdecoder@rArBr]curdirr^r_rr?assertIsNotNone
assertTrueendswith	PY_SOURCEload_moduleawarningscatch_warningssimplefilterload_sourcedont_write_bytecode
load_compiledcache_from_sourceexistsmkdirload_packagebrrarmtree)rfs_encoding
known_localesspecial_chardecoded_charrbtest_package_nameinit_file_namercrQrRr3packageexts              rtest_issue5604zImportTests.test_issue5604vs/11"
<8##['222(LL(,,[99L	)MMN'(
)
)
)#**;77*\9
6E&7GG,	,
HOOAry)))me+S7CCC
&t

9%%%
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&#&??=#A#A D(D
+
+$$T***"
 6 6} E EFFF  a%000  a#...  a#-888oomT8TJJ  ***
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+(**
L
L%h///oom]U5JKK
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
SUA&&&(**
F
F%h///.F++%--me.CDDFFC
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
SUA&&&7>>"344
,*+++ncG<<<
&

9%%%
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&(**
Q
Q%h///**+<>OPP
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
WY***&
7
7 !4555 #!56666.///]+++++&
7
7 !4555 #!56666.///]++++s9?R8DRDR!D"#RCH-!R-H11R4H15R3J
>R
JRJ1RAL&R&L**R-L*.A#RN3'R3N77R:N7;R0P
R
PRPRA*Tctjtjtd}|ttjd|gdS)Nr=r>)	r@rArBrCrDrErFrr?)rrAs  rtest_issue9319zImportTests.test_issue9319sVw||BGOOH55~FF+/-&	"	"	"	"	"rctjddt5ddl}|j}|j}t
j5t	d}|
|djtjdg|R}|
|||
||j|||jdddn#1swxYwYddddS#1swxYwYdS)Nr@zos.pathr)rCleanImportOS_PATH_NAMEr@rAgetenvrEnvironmentVarGuardrr?
addCleanupr`rassertIsassertIsNot)rr@	orig_pathorig_getenvxnew_oss      rtest_load_from_sourcez!ImportTests.test_load_from_sourcesz
&tY
E
E
	=
	=IIII)K.00
=
=OOD))!
+++2222

b&)))

i555  fm<<<

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=	
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=
	=s6&C?BC'C?'C+	+C?.C+	/C??DDcd}t|}|d}|||jtj|g|R}||j|dS)N_heapqr)rr?rr`rrr&)rexamplerfile_r3s     rtest_issue15828_load_extensionsz+ImportTests.test_issue15828_load_extensionssrOOG$$!OOEK(((og****w/////rcNd}t|\}}}|t||}td|}td|}||j|||jd||jd|t5td|ddddS#1swxYwYdS)N_testimportmultiple_testimportmultiple_foo_testimportmultiple_barnonexistent)rr?r`r
rr&rEImportError)rmfileobjpathnamedescriptionmod0mod1mod2s        r+test_issue16421_multiple_modules_in_one_dllz7ImportTests.test_issue16421_multiple_modules_in_one_dllsG
"),););&;

8,, 98DD 98DD***(ABBB(ABBB


{
+
+	6	6]H555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6s1DD!Dc(d}d}|t5}t||dddn#1swxYwY|||jj|||jjdS)Nzbogus file path	extension)	rErrr
assertIn	exceptionrArname)rrArerrs    r"test_load_dynamic_ImportError_pathz.ImportTests.test_load_dynamic_ImportError_paths
!


{
+
+	)sT4(((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)

dCM.///s}122222sAAAcd}t|}|d|d|ddtjkr|dtj|dg|ddRdS)Nrrrxz/found module doesn't appear to be a C extensionrv)rr?r`C_EXTENSIONr~r)rrfounds   r'test_load_module_extension_file_is_Nonez3ImportTests.test_load_module_extension_file_is_Nones
%%%8!HNN8A;#/))MMKLLLd/U122Y//////rcd}	tj|=n#t$rYnwxYw	tj|}tjd}t||j	}|
|j||
|jj
||
|jj	|j	|tt |d|
|jd|tj||	tj|=dS#t$rYdSwxYw#	tj|=w#t$rYwwxYwxYw)Nztest.imp_dummy_testmultiphase
dummy_namei)r\modulesKeyErrorr.r/util	find_specrr
originrr&__spec__rrEAttributeErrorr	int_constr)rrmodulespecs    r3test_issue24748_load_module_skips_sys_modules_checkz?ImportTests.test_issue24748_load_module_skips_sys_modules_checks	D!!			D		,T22F>++,=>>D%%dDK88FV_d333V_14888V_3T[AAAngv|LLLV-t444MM#+d+V444
K%%%




K%%



sN

DE:
E		
EEE:
E*)E:*
E74E:6E77E:z*test meaningful only when writing bytecodec
tj5tjdz}tj||tdtjtjdgddddS#1swxYwYdS)NrWz
^No modulerV)	rtemp_cwdTESTFNr@rassertRaisesRegexrrr?)rsources  rtest_bug7732zImportTests.test_bug77324s

!
!	:	:%-FHV"";!1C5
:
:
:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:sAA88A<?A<ctdtjttjd}|tj|tjdS)NrrLrY)r_LoadSourceCompatibilityrDr^get_data)rloaders  rtest_multiple_calls_to_get_dataz+ImportTests.test_multiple_calls_to_get_data=s_--eS\.23<'.R.R.RTT%%%%%%%%rcdt}ttjt|}t	jtj||5|td5t	|tdzdddn#1swxYwYddddS#1swxYwYdS)Ntmpz
embedded null)r&typer\rr	swap_itemr
ValueErrorrrrD)rr7r3s   rtest_load_sourcezImportTests.test_load_sourceDs-#"")d3;x())'22

s{GS
9
9	:	:''
ODD
:
:D999
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:s6B<4$B$B<$B(	(B<+B(	,B<<CCctjtd}Gdd}|t5||ddddS#1swxYwYdS)Ncreate_dynamicceZdZdZdZdS),ImportTests.test_issue31315.<locals>.BadSpecNfoo)r&r'r(rrr*rrBadSpecrRsDFFFrr)r
get_attributerrE	TypeError)rrrs   rtest_issue31315zImportTests.test_issue31315Ms!.s4DEE								

y
)
)	&	&N7799%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&sA##A'*A'cddl}||jjdddl}||jjddS)Nrfrozen)_frozen_importlib_externalrrr_frozen_importlib)rrrs   rtest_issue_35321zImportTests.test_issue_35321Xs\
	*)))3<CXNNN    *3:HEEEEErc|tjddd|tjddddS)N*shisG$~+s/CC)r_impsource_hash)rs rtest_source_hashzImportTests.test_source_hashcsP)"e446PQQQ)"e446PQQQQQrcgdfddgdfddgdfddgdfg}|D]Z\}}|ddgz}tj|}||jd|[dS)Ndefaultz--check-hash-based-pycsalwaysneverz-cz.import _imp; print(_imp.check_hash_based_pycs)rL)rassert_python_okroutstripr)rcasesinterp_argsrargsress      r'test_pyc_invalidation_mode_from_cmdlinez3ImportTests.test_pyc_invalidation_mode_from_cmdlinegs
O'
3Y?'
2H='
17;	
&+	H	H!K@"D 0$7CSW]]__33G<<hGGGG
	H	Hrctj5tdd5}|ddddn#1swxYwYt	jddtjjt	ddg\}}}t
d|||}dddn#1swxYwY||jd	dS)
Nzmymod.pywbsx = 42
T)doraiseinvalidation_modemymodrV)rAr)
rrr^r_
py_compilecompilePycInvalidationModeCHECKED_HASHrr?rrr)rrPrcrArr3s      rtest_find_and_load_checked_pycz*ImportTests.test_find_and_load_checked_pycvsk


!
!		D		Dj$''
&2%%%
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&","@"M




'*oogSEo&J&J#D$//'4{CCC		D		D		D		D		D		D		D		D		D		D		D		D		D		D		D	
#####s4CACA	CA	A'CC	Ccddltjtd}Gdd}|fd}|tjd}|d|dS)Nrcreate_builtinceZdZdZdS)7ImportTests.test_create_builtin_subinterp.<locals>.SpecbuiltinsN)r&r'r(rr*rrSpecrsDDDrrctj}tj}|tj|dzt
jdS)Nrv)r\getrefcountrrrrgccollect)refcntr3rrrs  rcheck_get_builtinszEImportTests.test_create_builtin_subinterp.<locals>.check_get_builtinssi_X..F%d++CMM#x(((S_X66
CCCJLLLLLrzimport builtins)rrrrrun_in_subinterpr)rrrrretrrs`    @@rtest_create_builtin_subinterpz)ImportTests.test_create_builtin_subinterps	 .t5EFF								tvv								&'899a   rN) r&r'r(r4r:rIrSrdrrrrrrrrrrr
r\rrrrrrrrrrrr!r*rrr,r,@s&&&
000777LLL&555U,U,U,n"""===*	0	0	0666	3	3	3
0
0
0,X_S,466::66:&&&:::
&&&	F	F	FRRR
H
H
H$$$
rr,c*eZdZdZdZdZdZdZdS)ReloadTestszPVery basic tests to make sure that imp.reload() operates just like
    reload().ctj5ddl}t|ddddS#1swxYwYdS)Nr)rrr@rreload)rr@s  rtest_sourcezReloadTests.test_sources
*
,
,		IIIJJrNNN																		sAAActjd5ddl}t|ddddS#1swxYwYdS)Ntimer)rrr(rr%)rr(s  rtest_extensionzReloadTests.test_extensions

&v
.
.		KKKJJt																		AAActjd5ddl}t|ddddS#1swxYwYdS)Nmarshalr)rrr,rr%)rr,s  rtest_builtinzReloadTests.test_builtins

&y
1
1	 	 NNNJJw	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 r*c"ddlm}tjdfd}|||td5t	|ddddS#1swxYwYdS)Nr)parserhtmlc&tjd<dS)Nr0)r\r)r0srcleanupz5ReloadTests.test_with_deleted_parent.<locals>.cleanups"&CKr)
r0r/r\rpoprrrrr%)rr/r2r0s   @rtest_with_deleted_parentz$ReloadTests.test_with_deleted_parents{v&&	'	'	'	'	'   

#
#K
8
8		JJv																		sBBBN)r&r'r(r)r&r)r-r4r*rrr#r#sZ



   
rr#ceZdZdZeZeje	j
jduddZeje	j
jduddZ
dS)PEP3147TestszTests of PEP 3147.Nz1requires sys.implementation.cache_tag not be Nonec	tjdddd}tjddddd|j}|t|d|dS)Nrbarbazqux.pyrz
qux.{}.pycT)r@rArBformattagrrrrrAexpects   rtest_cache_from_sourcez#PEP3147Tests.test_cache_from_sourcesy
w||E5%::eUE=*11$(;;==..tT::FCCCCCrz4requires sys.implementation.cache_tag to not be Nonec	tjddddd|j}tjdddd}|t||dS)Nrr8r9rzr;r:)r@rArBr<r=rrsource_from_cacher>s   rtest_source_from_cachez#PEP3147Tests.test_source_from_cachesww||E5%(//99;;eUE8<<..t44f=====r)r&r'r(r)rget_tagr=r
skipUnlessr\implementation	cache_tagr@rCr*rrr6r6s

++--CX+5TALNNDDNNDX+5TA !!>>!!>>>rr6cPeZdZejejduddZdS)NullImporterTestsNzNeed an undecodeable filenamectj}tj|	|t
tj|tj|dS#tj|wxYw)N)	rTESTFN_UNENCODABLEr@rrErrNullImporterrmdir)rrs  rtest_unencodeablez#NullImporterTests.test_unencodeables\+
	k3+;TBBBHTNNNNNBHTNNNNs&AA4)r&r'r(rr
rrKrNr*rrrIrIsKX_Y1T946666rrI__main__)rr.importlib.utilr@os.pathrr\r6rtest.supportrrrrrrimport_deprecatedrrrAr&rrTestCaserr,r#r6rImainr*rr<module>rVs								



&&&&&&""""""&&&&&&(((((('o'..w@@@ , , , , ,! , , ,D_____(#___D#####(####L>>>>>8$>>>6					)			zHMOOOOOr