HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_pkgutil.cpython-37.opt-2.pyc
B

��gsF�@s�ddlmZmZmZmZddlZddlZddlZddlm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZGdd�dej�ZGdd�dej�ZGdd	�d	ej�ZGd
d�dej�ZGdd
�d
ej�Zdd�Zedkr�e�dS)�)�run_unittest�unload�check_warnings�CleanImportN)�spec_from_file_locationc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�PkgutilTestscCs.t��|_|�tj|j�tj�d|j�dS)Nr)	�tempfile�mkdtemp�dirname�
addCleanup�shutil�rmtree�sys�path�insert)�self�r�-/usr/local/lib/python3.7/test/test_pkgutil.py�setUps
zPkgutilTests.setUpcCstjd=dS)Nr)rr)rrrr�tearDownszPkgutilTests.tearDowncCs�d}d}tj�|j|�}t�|�ttj�|d�d�}|��ttj�|d�d�}|�|�|��t�tj�|d��ttj�|dd�d�}|�|�|��t�	|d�}|�
||�t�	|d�}|�
||�tj|=dS)N�test_getdata_filesyss%Hello, world!
Second line
Third linez__init__.py�wbzres.txt�subzsub/res.txt)
�osr�joinr
�mkdir�open�close�write�pkgutil�get_data�assertEqualr�modules)r�pkg�
RESOURCE_DATAZpackage_dir�f�res1�res2rrrrs$


z!PkgutilTests.test_getdata_filesysc
Cs�d}d}d}tj�|j|�}t�|d�}|�|dd�|�|d|�|�|d|�|��tj�	d	|�t
�|d
�}|�||�t
�|d�}|�||�g}x.t
�
|g�D]}	|�|	t
j�|�|	j�q�W|�|dg�tjd	=tj|=dS)Nztest_getdata_zipfile.zip�test_getdata_zipfiles%Hello, world!
Second line
Third line�wz/__init__.py�z/res.txtz/sub/res.txtrzres.txtzsub/res.txt)rrrr
�zipfile�ZipFile�writestrrrrrr r!Ziter_modules�assertIsInstanceZ
ModuleInfo�append�namer")
r�zipr#r$�zip_file�zr&r'�namesZ
moduleinforrrr(:s*z!PkgutilTests.test_getdata_zipfilecCsVd}tj�|j|�}t�|d�|�tj|�x"tj|jgd�D]}|�	d�q@WdS)NZunreadable_packager)rzunexpected package found)
rrrr
rr�rmdirr�
walk_packagesZfail)rZpackage_name�d�trrr�test_unreadable_dir_on_syspath]sz+PkgutilTests.test_unreadable_dir_on_syspathc	Cstd}tj�|j|�}t�|�ttj�|d�d�}|��t�tj�|d��ttj�|dd�d�}|��ttj�|dd�d�}|��d}tj�|j|�}t�|�ttj�|d�d�}|��t�tj�|d��ttj�|dd�d�}|��ttj�|dd�d�}|��dddddd	g}d
d�t�|jg�D�}|�	||�x&|D]}|�
d��rb�qNtj|=�qNWdS)
N�test_walkpackages_filesysz__init__.pyrrzmod.pyzsub.test_walkpackages_filesysz!sub.test_walkpackages_filesys.modztest_walkpackages_filesys.subz!test_walkpackages_filesys.sub.modcSsg|]}|d�qS)�r)�.0�errr�
<listcomp>�sz:PkgutilTests.test_walkpackages_filesys.<locals>.<listcomp>�mod)
rrrr
rrrrr6r!�endswithrr")	r�pkg1Zpkg1_dirr%�pkg2Zpkg2_dir�expected�actualr#rrrr:hs@


z&PkgutilTests.test_walkpackages_filesysc	Cs d}d}d}tj�|j|�}t�|d�}|�|dd�|�|d|dd�|�|d|dd�|�|dd�|�|d|dd�|�|d|dd�|��tj�	d	|�dd
dddd
g}dd�t
�|g�D�}|�||�tjd	=x"|D]}|�
d��rq�tj|=q�WdS)Nztest_walkpackages_zipfile.zip�test_walkpackages_zipfilerr)z/__init__.pyr*�/z/mod.pyrzsub.test_walkpackages_zipfilez!sub.test_walkpackages_zipfile.modztest_walkpackages_zipfile.subz!test_walkpackages_zipfile.sub.modcSsg|]}|d�qS)r;r)r<r=rrrr>�sz:PkgutilTests.test_walkpackages_zipfile.<locals>.<listcomp>r?)rrrr
r+r,r-rrrrr6r!r@r")	rr1rArBr2r3rCrDr#rrrrE�s4
z&PkgutilTests.test_walkpackages_zipfilec	Cs\d}|�ttf��tt�|��WdQRXd}|�ttf��tt�|��WdQRXdS)NZtest_dirstest_dir)�assertRaises�	TypeError�
ValueError�listrr6)rZ	str_inputZbytes_inputrrr�2test_walk_packages_raises_on_string_or_bytes_input�sz?PkgutilTests.test_walk_packages_raises_on_string_or_bytes_inputN)�__name__�
__module__�__qualname__rrrr(r9r:rErKrrrrrs#(#rc@sLeZdZGdd�de�ZGdd�de�Zdd�Zdd�Zd	d
�Zdd�Z	d
S)�PkgutilPEP302Testsc@s$eZdZdd�Zdd�Zdd�ZdS)zPkgutilPEP302Tests.MyTestLoadercCsdS)Nr)r�specrrr�
create_module�sz-PkgutilPEP302Tests.MyTestLoader.create_modulecCs|j�dd�d|jd<dS)N�loadsrr;)�__dict__�get)rr?rrr�exec_module�sz+PkgutilPEP302Tests.MyTestLoader.exec_modulecCsdS)Nz
Hello, world!r)rrrrrr �sz(PkgutilPEP302Tests.MyTestLoader.get_dataN)rLrMrNrQrUr rrrr�MyTestLoader�srVc@seZdZddd�ZdS)z!PkgutilPEP302Tests.MyTestImporterNcCs t��}t|d|jj|gd�S)Nz<%s>)�loader�submodule_search_locations)rOrVr�	__class__rL)r�fullnamer�targetrWrrr�	find_spec�s

z+PkgutilPEP302Tests.MyTestImporter.find_spec)NN)rLrMrNr\rrrr�MyTestImporter�sr]cCstj�d|���dS)Nr)r�	meta_pathrr])rrrrr�szPkgutilPEP302Tests.setUpcCstjd=dS)Nr)rr^)rrrrr�szPkgutilPEP302Tests.tearDowncCs |�t�dd�d�tjd=dS)N�foo�dummyz
Hello, world!)r!rr rr")rrrr�test_getdata_pep302�sz&PkgutilPEP302Tests.test_getdata_pep302cCsDddl}|�|jd�|�t�dd�d�|�|jd�tjd=dS)Nrr;r_r`z
Hello, world!)r_r!rRrr rr")rr_rrr�test_alreadyloaded�s
z%PkgutilPEP302Tests.test_alreadyloadedN)
rLrMrN�objectrVr]rrrarbrrrrrO�srOc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�ExtendPathTestsc	Cs\t��}tj�d|�tj�||�}t�|�ttj�|d�d��}|�	d�WdQRX|S)Nrz__init__.pyr)zKfrom pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
)
rr	rrrrrrrr)r�pkgnamer
Zpkgdir�flrrr�create_init�s
zExtendPathTests.create_initc	Cs@tj�|||d�}t|d��}td�|�|d�WdQRXdS)Nz.pyr)zvalue={})�file)rrrr�print�format)rr
reZsubmodule_name�valueZmodule_namerfrrr�create_submodule�sz ExtendPathTests.create_submodulec	Cs�d}|�|�}|�|�}|�||dd�|�||dd�ddl}ddl}|�|jjd�|�|jjd�|�t|j	�tt
j�||�t
j�||�g��t
�|�t
�|�tjd=tjd=tjd=tjd=tjd=dS)Nr_�barr�bazr;zfoo.barzfoo.baz)rgrl�foo.bar�foo.bazr!rmrkrn�sorted�__path__rrrrr
rr")rre�	dirname_0�	dirname_1r_rrr�test_simple�s&



zExtendPathTests.test_simplec
Cs�tj}tj}d}d}|�|�}tj�||�}d�||�}tj	�
|d�tj	�
|d�z�|�|||d�t�
|�t||��}||�}	x||D]t}
t�|
|�}|j}y
|j}Wntk
r�YnX|�|
tjj�|�|
|	�|�|tjj�|�t�|
|��q�W|�t��t|d��WdQRX|�t��t|d��WdQRXWdt�|�tjd=ytj	d=tj	d=Wntk
�r�YnXXdS)N�spamZeggsz{}.{}rzinvalid.modulez.spamz	spam.eggs)r�iter_importers�get_importerrgrrrrjrr"�poprl�	importlib�
import_modulerJ�	_get_specrW�AttributeErrorr.�	machinery�
FileFinderr!�SourceFileLoader�assertIsNonerG�ImportErrorrr
�KeyError)
rrwrxre�modnamer
ZpathitemrZZ	importersZexpected_importer�finderrPrWrrr�test_iter_importerssJ





z#ExtendPathTests.test_iter_importersc	Cs�d}|�|�}|�|�}|�||dd�t�tj�||d��|�||dd�ddl}ddl}|�|j	j
d�|�|jj
d�|�t|j
�ttj�||�tj�||�g��t�|�t�|�tjd=tjd=tjd=tjd=tjd=dS)	Nr_rmrz__init__.pyrnr;zfoo.barzfoo.baz)rgrlr�unlinkrrrorpr!rmrkrnrqrrrr
rr")rrersrtr_rrr�test_mixed_namespaceIs(



z$ExtendPathTests.test_mixed_namespaceN)rLrMrNrgrlrur�r�rrrrrd�s
0rdc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�NestedNamespacePackageTestcCst��|_tjdd�|_dS)N)rr	�basedirrr�old_path)rrrrrjs
z NestedNamespacePackageTest.setUpcCs |jtjdd�<t�|j�dS)N)r�rrrr
r�)rrrrrnsz#NestedNamespacePackageTest.tearDownc	Csl|�dd�\}}tj�|j|�dtjj��}tj|dd�ttj�||d�d��}|�	|�WdQRXdS)N�.r;T)�exist_okz.pyr))
�rsplitrrrr��replace�sep�makedirsrr)rr0�contents�base�final�	base_pathr%rrrrQrs
z(NestedNamespacePackageTest.create_modulecCsd}|�d|�|�d|�|�d|�|�d|�|�dd�|�dd	�tj�d
tj�|jd��tj�d
tj�|jd��d
dl}|�t	d
�|�
t|j�d�d
dl
}|�t	d�|�
t|jj�d�d
dlm}d
dlm}|�
|d�|�
|d�dS)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 = 2r�a�br#�z
pkg.subpkg)�c)r7r;)rQrrrrrr�r#rrr!�lenrrZ
pkg.subpkgZsubpkgZpkg.subpkg.cr�Zpkg.subpkg.dr7)rZpkgutil_boilerplater#r�r7rrr�test_nestedys&z&NestedNamespacePackageTest.test_nestedN)rLrMrNrrrQr�rrrrr�hsr�c@s|eZdZdd�Zdd�Zdd�Zdd�Ze�ed	kd
�dd��Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�ImportlibMigrationTestscCstdtf�S)Nz5This emulation is deprecated, use 'importlib' instead)r�DeprecationWarning)rrrr�check_deprecated�sz(ImportlibMigrationTests.check_deprecatedc	Cs"|���t�d�WdQRXdS)Nr*)r�rZImpImporter)rrrr�test_importer_deprecated�s
z0ImportlibMigrationTests.test_importer_deprecatedc	Cs(|���t�dddd�WdQRXdS)Nr*)r�rZ	ImpLoader)rrrr�test_loader_deprecated�s
z.ImportlibMigrationTests.test_loader_deprecatedc	CsXt��H}|�t�d��|�t�d��|�t�d��|�t|j�d�WdQRXdS)Nrrztest.supportr)r�assertIsNotNoner�
get_loaderr!r��warnings)rr)rrr� test_get_loader_avoids_emulation�s
z8ImportlibMigrationTests.test_get_loader_avoids_emulation�__main__znot compatible with __main__c	CsJt}bz8t��(}|�t�t��|�t|j�d�WdQRXWd|aXdS)Nr)	�
__loader__rr�rr�rLr!r�r�)rZthis_loaderr)rrr�0test_get_loader_handles_missing_loader_attribute�s zHImportlibMigrationTests.test_get_loader_handles_missing_loader_attributec	CsJd}tt�|�}|`t|��|tj|<t�|�}WdQRX|�|�dS)Nrv)�typer�__spec__rr"rr�r�)rr0r?rWrrr�.test_get_loader_handles_missing_spec_attribute�s

zFImportlibMigrationTests.test_get_loader_handles_missing_spec_attributec	CsLd}tt�|�}d|_t|��|tj|<t�|�}WdQRX|�|�dS)Nrv)r�rr�rr"rr�r�)rr0r?rWrrr�+test_get_loader_handles_spec_attribute_none�s

zCImportlibMigrationTests.test_get_loader_handles_spec_attribute_nonecCs6d}dtj|<zt�|�}Wdtj|=X|�|�dS)Nz
totally bogus)rr"rr�r�)rr0rWrrr�#test_get_loader_None_in_sys_modules�s

z;ImportlibMigrationTests.test_get_loader_None_in_sys_modulescCsd}t�|�}|�|�dS)Nz
totally bogus)r�find_loaderr�)rr0rWrrr�test_find_loader_missing_module�s
z7ImportlibMigrationTests.test_find_loader_missing_modulec	CsXt��H}|�t�d��|�t�d��|�t�d��|�t|j�d�WdQRXdS)Nrrztest.supportr)rr�rr�r!r�r�)rr)rrr�!test_find_loader_avoids_emulation�s
z9ImportlibMigrationTests.test_find_loader_avoids_emulationc	Cs8t��(}|�t�d��|�t|j�d�WdQRXdS)Nz*??r)rr�rrxr!r�r�)rr)rrr�"test_get_importer_avoids_emulation�sz:ImportlibMigrationTests.test_get_importer_avoids_emulationc	Cs:t��*}xt��D]}qW|�t|j�d�WdQRXdS)Nr)rrrwr!r�r�)rr)Zimporterrrr�$test_iter_importers_avoids_emulation�sz<ImportlibMigrationTests.test_iter_importers_avoids_emulationN)rLrMrNr�r�r�r��unittestZskipIfr�r�r�r�r�r�r�r�rrrrr��s			r�cCs6tttttt�ddl}ddl}|j�	�|�
�dS)Nr)rrrOrdr�r��	zipimportrz�_zip_directory_cache�clear�invalidate_caches)r�rzrrr�	test_main�s
r�r�)Ztest.supportrrrrr�rrz�importlib.utilrrrZos.pathrrr+ZTestCaserrOrdr�r�r�rLrrrr�<module>s&,-})X