python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_pkgutil.cpython-312.pyc

ΑepYddlmZddlmZmZddlmZmZddlZddl	Z	ddl
Z
ddlmZddl
Z
ddlZddlZddlZddlZddlZGddej&ZGdd	ej&ZGd
dej&ZGdd
ej&ZGddej&ZdZedk(rej6yy))Path)unloadCleanImport)check_warningsignore_warningsN)spec_from_file_locationcHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)PkgutilTestsctj|_|jtj
|jtjjd|jyNr)	tempfilemkdtempdirname
addCleanupshutilrmtreesyspathinsertselfs E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_pkgutil.pysetUpzPkgutilTests.setUps>'')

t||44<<(c&tjd=yr)rrrs rtearDownzPkgutilTests.tearDowns
HHQKrcTd}d}tjj|j|}tj|ttjj|dd}|j
ttjj|dd}|j||j
tjtjj|dttjj|ddd}|j||j
tj|d}|j||tj|d}|j||tj|=y)Ntest_getdata_filesys%Hello, world!
Second line
Third line__init__.pywbres.txtsubsub/res.txt)
osrjoinrmkdiropenclosewritepkgutilget_dataassertEqualrmodules)rpkg
RESOURCE_DATApackage_dirfres1res2s       rrz!PkgutilTests.test_getdata_filesyss($D
ggll4<<5
k=94@		k95t<	
		
k512k5)<dC	
		Y/}-]3}-KKrc(d}d}d}tjj|j|}t	j
|d}|j
|dzd|j
|dz||j
|dz||jtjjd	|tj|d
}|j||tj|d}|j||g}tj|gD]=}	|j|	tj|j!|	j"?|j|dgtjd	=tj$|=y)Ntest_getdata_zipfile.ziptest_getdata_zipfilerw/__init__.py/res.txtz/sub/res.txtrr"r$)r%rr&rzipfileZipFilewritestrr)rrr+r,r-iter_modulesassertIsInstance
ModuleInfoappendnamer.)
rzipr/r0zip_filezr3r4names
moduleinfos
          rr7z!PkgutilTests.test_getdata_zipfile<sN($D
77<<c2OOHc*	


3',	

3#]3	

3'7			8$Y/}-]3}-!..z:	*J!!*g.@.@ALL)	*	
!7 89HHQKKKrcd}d}d}tjj|j|}t	j
|d}|j
|dzd|j
|dz||jtjjd|	tj|d	}|j||g}tjt|gD]=}|j|tj |j#|j$?|j||gtjd=tj&j)|dd
}	|j+t,|	5t/tjddddy#tjd=tj&j)|dwxYw#1swYyxYw)Nr6r7rr8r9r:r;rr"z9path must be None or list of paths to look for modules ininvalid_path)r%rr&rr<r=r>r)rrr+r,r-r?rr@rArBrCr.popassertRaisesRegex
ValueErrorlist)
rrDr/r0rErFresrGrHexpected_msgs
          rtest_issue44061_iter_modulesz)PkgutilTests.test_issue44061_iter_modules_s($D
77<<c2OOHc*	


3',	

3#]3			8$	'""3	2CS-0E%22DN3CD
.
%%j'2D2DEZ__-
.
USE*KKOOC&S

#
#J
=	7%%n56	7	7KKOOC&	7	7s"BF/G%/3G"%G.c6d}tjj|j|}tj|d|jtj|tj|jgD]}|jdy)Nunreadable_packager)rzunexpected package found)
r%rr&rr'rrmdirr+
walk_packagesfail)rpackage_namedts    rtest_unreadable_dir_on_syspathz+PkgutilTests.test_unreadable_dir_on_syspathsm+GGLL|4	A!$&&T\\N;	2AII01	2rc~d}tjj|j|}tj|ttjj|dd}|j
tjtjj|dttjj|ddd}|j
ttjj|ddd}|j
d}tjj|j|}tj|ttjj|dd}|j
tjtjj|dttjj|ddd}|j
ttjj|ddd}|j
gd}tj|jgDcgc]}|d	}}|j|||D]%}	|	jdrtj|	='ycc}w)	Ntest_walkpackages_filesysr r!r#zmod.py)r#zsub.test_walkpackages_filesysz!sub.test_walkpackages_filesys.modr\ztest_walkpackages_filesys.subz!test_walkpackages_filesys.sub.modmod)
r%rr&rr'r(r)r+rUr-endswithrr.)
rpkg1pkg1_dirr2pkg2pkg2_direxpectedeactualr/s
          rr\z&PkgutilTests.test_walkpackages_filesyss*77<<d3
h
6=		
h./h}=tD		hx8$?		77<<d3
h
6=		
h(CDEh(C]SUYZ		h(CXNPTU		
 '44dll^DE!1EE*	!C||E"C 	!Fs/J:cd}d}d}tjj|j|}t	j
|d}|j
|dzd|j
|dz|zdzd|j
|dz|zdzd|j
|dzd|j
|dz|zdzd|j
|dz|zdzd|jtjjd	|gd
}tj|gDcgc]}|d	}}|j||tjd	=|D]%}	|	jdrtj|	='y
cc}w)zBTests the same as test_walkpackages_filesys, only with a zip file.ztest_walkpackages_zipfile.ziptest_walkpackages_zipfiler#r8r9r:/z/mod.pyr)r#zsub.test_walkpackages_zipfilez!sub.test_walkpackages_zipfile.modrhztest_walkpackages_zipfile.subz!test_walkpackages_zipfile.sub.modr]r^N)r%rr&rr<r=r>r)rrr+rUr-r_r.)
rrDr`rbrErFrdrerfr/s
          rrhz&PkgutilTests.test_walkpackages_zipfilesd.*77<<c2OOHc*	

4.("-	

4#:$~5r:	

4#:$y0"5	

4.("-	

4#:$~5r:	

4#:$y0"5		8$
 '44hZ@A!1AA*HHQK	!C||E"C 	!	Bs)FcDd}|jttf5tt	j
|dddd}|jttf5tt	j
|dddy#1swYNxYw#1swYyxYw)Ntest_dirstest_dir)assertRaises	TypeErrorrMrNr+rU)r	str_inputbytes_inputs   r2test_walk_packages_raises_on_string_or_bytes_inputz?PkgutilTests.test_walk_packages_raises_on_string_or_bytes_inputs	


	:6
7	3&&y12	3"


	:6
7	5&&{34	5	5		3	3	5	5sB
"B
BBcddl}ddl}dtfdtjfdtjjfd|fd|fd|j
fd|j
fd	|j
jfd
|j
jfd|j
jjfd|j
jjfd
tfdtfdtjfdtjfdtfdtfdtjff}dtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfd tfd!tfd"tfd#tff}d$}|D]}tjj|j |}	tj"|d%tjj|d&}t'|d'5}|j)d|j+dddt-j.t-j0|}|||ffz
}t3|dkDs||dd(tffz
}|d)tffz
}|D]G\}	}
|j5|	*5t7j8|	}|j;||
dddI|D]O\}	}|j5|	*5|j=|5t7j8|	ddddddQy#t$$rYwxYw#1swYxYw#1swYxYw#1swY=xYw#1swYxYw)+Nrr%zos.pathzos.path:pathseploggingzlogging:zlogging.handlerszlogging.handlers:zlogging.handlers:SysLogHandlerzlogging.handlers.SysLogHandlerz(logging.handlers:SysLogHandler.LOG_ALERTz(logging.handlers.SysLogHandler.LOG_ALERTzbuiltins.intzbuiltins:intzbuiltins.int.from_byteszbuiltins:int.from_byteszbuiltins.ZeroDivisionErrorzbuiltins:ZeroDivisionErrorzos:pathr]g@Tr:z?abczabc/foofoozos.foozos.foo:zos.pth:pathsepzlogging.handlers:NoSuchHandlerz,logging.handlers:SysLogHandler.NO_SUCH_VALUEz,logging.handlers.SysLogHandler.NO_SUCH_VALUEZeroDivisionErrorzos.path.9abc9abc)	u	वमसéÈu안녕하세요uさよならuありがとうuХорошоuспасибоu现代汉语常用字表exist_okr r8u०वमस)s)rrlogging.handlersr%rpathsephandlers
SysLogHandler	LOG_ALERTint
from_bytesrtrmrMImportErrorAttributeErrorr&rmakedirsUnicodeEncodeErrorr(r*flush	importlibinvalidate_caches
import_modulelensubTestr+resolve_namer-rl)
rrr
success_cases
failure_cases
unicode_wordsuwrXr2r^r{rdoexcs
             rtest_name_resolutionz!PkgutilTests.test_name_resolutionsi2J
 
0
 
!
!1!12
 '"2"23
-w/?/?/M/MN
-w/?/?/M/MN
7  ..88
:
7  ..88
:
S!
S!
&7
&7
)+<=
)+<=
 )

09
	N
)
9

Z 

#
K 
~&
$
{+
-~>
;^L
;^L
 +.
Z(
Z #

,M
 	9BT\\2.A
A-
Q
.Aa
	


'')))"-Cb#YZ'M2w{"Sb';!7!88
%	9*	4jABB
(	.KAx"
.((+  H-
.
.	.
$	,FAs"
,&&s+,((+,
,
,	,1'





.
.,,
,
,sNL3"M,(M8M(
M M(3	M?MM
	M	M%!M((M1	N)
__name__
__module____qualname__rrrr7rQrZr\rhrprrrr
r
s9)
:!F%7N	2&!P!!F5Y,rr
cPeZdZGddeZGddeZdZdZdZdZ	y	)
PkgutilPEP302TestsceZdZdZdZdZy)PkgutilPEP302Tests.MyTestLoadercyNr)rspecs  r
create_modulez-PkgutilPEP302Tests.MyTestLoader.create_moduleEsrc\|jjdddz|jd<y)Nloadsrr])__dict__get)rr^s  rexec_modulez+PkgutilPEP302Tests.MyTestLoader.exec_moduleHs&$'LL$4$4Wa$@1$DCLL!rcy)N
Hello, world!r)rrs  rr,z(PkgutilPEP302Tests.MyTestLoader.get_dataLs"rN)rrrrrr,rrrMyTestLoaderrDs		E	#rrceZdZddZy)!PkgutilPEP302Tests.MyTestImporterNcvtj}t|d|jjz|gS)Nz<%s>)loadersubmodule_search_locations)rrr	__class__r)rfullnamertargetrs     r	find_specz+PkgutilPEP302Tests.MyTestImporter.find_specPs;'446F*8+1F4D4D4M4M+M28FHJ
Jr)NN)rrrrrrrMyTestImporterrOs	Jrrc`tjjd|jyr)r	meta_pathrrrs rrzPkgutilPEP302Tests.setUpWs

Q 3 3 56rc&tjd=yr)rrrs rrzPkgutilPEP302Tests.tearDownZsMM!rcr|jtjdddtjd=y)Nrsdummyr)r-r+r,rr.rs rtest_getdata_pep302z&PkgutilPEP302Tests.test_getdata_pep302]s+))%9?KKKrcddl}|j|jd|jtjddd|j|jdt
jd=y)Nrr]rsrr)rsr-rr+r,rr.)rrss  rtest_alreadyloadedz%PkgutilPEP302Tests.test_alreadyloadedbsX	A&))%9?KA&KKrN)
rrrobjectrrrrrrrrrrrBs0	#v	#JJ7
rrc*eZdZdZdZdZdZdZy)ExtendPathTestscztj}tjj	d|t
jj
||}tj|tt
jj
|dd5}|jdddd|S#1swY|SxYw)Nrr r8zKfrom pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
)
r
rrrrr%r&r'r(r*)rpkgnamerpkgdirfls     rcreate_initzExtendPathTests.create_initps""$7#gw/

"'',,v}5s
;	frHHde	f	fsB00B:ctjj|||dz}t|d5}t	dj||dddy#1swYyxYw)N.pyr8zvalue={})file)r%rr&r(printformat)rrrsubmodule_namevaluemodule_namers       rcreate_submodulez ExtendPathTests.create_submodule{sSggll7G^e5KL
+s
#	5r*##E*4	5	5	5sAA c
d}|j|}|j|}|j||dd|j||ddddl}ddl}|j	|j
jd|j	|jjd|j	t|jttjj||tjj||gtj|tj|tjd=tjd=tj d=tj d=tj d=y)Nrsbarrbazr]foo.barfoo.baz)rrfoo.barfoo.bazr-rrrsorted__path__r%rr&rrrr.rr	dirname_0	dirname_1rss     rtest_simplezExtendPathTests.test_simples'$$W-	$$W-	i%;i%;**	
-i!A!#i!A!CD	E
	

i 

i HHQKHHQKKKKK	"KK	"rctj}tj}d}d}|j|}tj
j
||}dj||}tjj|dtjj|d	|j|||dtj|t||}||}	|D]}
|
j|}|j }	|j }|j%|
tj&j(|j+|
|	|j%|tj&j,|j/|
j||j1t25t|dddd|j1t25t|ddddt5j6|tj
d=	tjd=tjd=y#t"$rY<wxYw#1swYxYw#1swYoxYw#t8$rYywxYw#t5j6|tj
d=	tjd=tjd=w#t8$rYwwxYwxYw)Nspameggsz{}.{}rzinvalid.modulez.spamz	spam.eggs)r+iter_importersget_importerrr%rr&rrr.rKrrrrNrrrr@	machinery
FileFinderr-SourceFileLoaderassertIsNonerlrrrKeyError)
rrrrmodnamerpathitemr	importersexpected_importerfinderrrs
             rtest_iter_importersz#ExtendPathTests.test_iter_importersse //++""7+77<<1>>'73$'&"	!!'7GQ?##H-^H56I ,X 6#

=''1#]]F
%%fi.A.A.L.LM  ):;%%f&/&9&9&J&JL!!&"2"27";<

="";/
7^$456
7"";/
.^G,-
.
MM'"
KK'KK,)&
7
7
.
.


MM'"
KK'KK,

s)A$JI
BJ7I	J&I&8J'"I2
	IJIJI#J&I/+J2	I>=I>'K)"KK	KKKKc
d}|j|}|j|}|j||ddtjtjj||d|j||ddddl}ddl}|j|jjd|j|jjd|jt|jttjj||tjj||gtj|tj|t jd=t jd=t j"d=t j"d=t j"d=y)	Nrsrrr rr]rr)rrr%unlinkrr&rrr-rrrrrrrrr.rs     rtest_mixed_namespacez$ExtendPathTests.test_mixed_namespacesD$$W-	$$W-	i%;
		"'',,y'=ABi%;**	
-i!A!#i!A!CD	E
	

i 

i HHQKHHQKKKKK	"KK	"rN)rrrrrrrrrrrrros	5
#:-`#rrc$eZdZdZdZdZdZy)NestedNamespacePackageTestcftj|_tjdd|_yr)r
rbasedirrrold_pathrs rrz NestedNamespacePackageTest.setUps!'')
rc||jtjddtj|j
yr)rrrrrrrs rrz#NestedNamespacePackageTest.tearDowns#mm

dll#rc|jdd\}}tjj|j|jdtjj}tj|dttjj||dzd5}|j|dddy#1swYyxYw)N.r]Trxrr8)
rsplitr%rr&rreplaceseprr(r*)rrCcontentsbasefinal	base_pathr2s       rrz(NestedNamespacePackageTest.create_moduleskk#q)eGGLLt||C/MN	
I-
"'',,y%%-8#
>	!
GGH			s,CCcpd}|jd||jd||jd||jd||jdd|jdd	tjjd
tjj|jdtjjd
tjj|jdd
dl}|jtd
|jt|jdd
dl
}|jtd|jt|jjdd
dlm}d
dlm}|j|d|j|dy)NzBimport pkgutil; __path__ = pkgutil.extend_path(__path__, __name__)za.pkg.__init__zb.pkg.__init__za.pkg.subpkg.__init__zb.pkg.subpkg.__init__za.pkg.subpkg.czc = 1zb.pkg.subpkg.dzd = 2rabr/z
pkg.subpkg)c)rXr])rrrrr%r&rr/rrr-rr
pkg.subpkgsubpkgpkg.subpkg.crpkg.subpkg.drX)rpkgutil_boilerplater/rrXs     rtest_nestedz&NestedNamespacePackageTest.test_nestedsC
A		
+-@A+-@A24GH24GH+W5+W5277<<c:;277<<c:;&S\\*A.-SZZ00115""AArN)rrrrrrrrrrrrs$$rrceZdZejedk(deedZeedZeedZ	eedZ
dZd	Zeed
Z
dZdZd
Zy)ImportlibMigrationTests__main__znot compatible with __main__)categorycvt}b	|jtjt|ay#|awxYwr)
__loader__assertIsNotNoner+
get_loaderr)rthis_loaders  r0test_get_loader_handles_missing_loader_attributezHImportlibMigrationTests.test_get_loader_handles_missing_loader_attributes5!	%  !3!3H!=>$JJs(48cd}tt|}|`t|5|tj|<tj|}ddd|jy#1swYxYwNrtyper__spec__rr.r+r
rrrCr^rs    r.test_get_loader_handles_missing_spec_attributezFImportlibMigrationTests.test_get_loader_handles_missing_spec_attribute%sfd3ioL

	. #CKK''-F	.	
&!	.	.s)A((A1cd}tt|}d|_t|5|tj|<tj|}ddd|jy#1swYxYwrrrs    r+test_get_loader_handles_spec_attribute_nonezCImportlibMigrationTests.test_get_loader_handles_spec_attribute_none/shd3io

	. #CKK''-F	.	
&!	.	.s)A--A6cd}dtj|<	tj|}tj|=|j	|y#tj|=wxYwNz
totally bogus)rr.r+r
rrrCrs   r#test_get_loader_None_in_sys_modulesz;ImportlibMigrationTests.test_get_loader_None_in_sys_modules9sT D	"''-FD!&!D!sAA"ctdtf5tjd}ddd|j	y#1swYxYw)Nz.*\bpkgutil.get_loader\b.*r)rDeprecationWarningr+r
rrrOs  rtest_get_loader_is_deprecatedz5ImportlibMigrationTests.test_get_loader_is_deprecatedCsJ

*,>?
	,$$U+C	,	
S!		,	,AActdtf5tjd}ddd|j	y#1swYxYw)Nz.*\bpkgutil.find_loader\b.*r)rrr+find_loaderrrs  rtest_find_loader_is_deprecatedz6ImportlibMigrationTests.test_find_loader_is_deprecatedJsJ

+-?@
	-%%e,C	-	
S!		-	-r!cTd}tj|}|j|yr)r+r#rrs   rtest_find_loader_missing_modulez7ImportlibMigrationTests.test_find_loader_missing_moduleQs%$$T*&!rct5}|jtjd|j	t|jddddy#1swYyxYw)Nz*??r)rrr+rr-rwarnings)rr8s  r"test_get_importer_avoids_emulationz:ImportlibMigrationTests.test_get_importer_avoids_emulationWsP

	1g2259:S_a0	1	1	1sA
AA'c	tjtdy#t$r|j	dYywxYw)Nz/homez3Unexpected AttributeError when calling get_importer)r+rrrrVrs rtest_issue44061z'ImportlibMigrationTests.test_issue44061]s8	M  g/	MIIKL	Ms!>>ct5}tjD]}|jt	|j
ddddy#1swYyxYwr)rr+rr-rr()rr8importers   r$test_iter_importers_avoids_emulationz<ImportlibMigrationTests.test_iter_importers_avoids_emulationcsK

	1#224::S_a0	1	1	1s?AAN)rrrunittestskipIfrrrrrrr r$r&r)r+r.rrrrrs
X__X+-KL01%2M%01"2"01"2"01"2"""01"2"
1M1rrcjddl}ddl}|jj|jyr)	zipimportr_zip_directory_cacheclearr)r2rs  rtearDownModuler5is(
""((*I!rr)pathlibrtest.support.import_helperrrtest.support.warnings_helperrrr/rrimportlib.utilrr+r%os.pathr
rr<TestCaser
rrrrr5rmainrrr<module>r=s:H
2	
j,8$$j,Z	(**(Zx#h''x#z&!2!2&RQ1h//Q1h"zHMMOr