HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/test/test_importlib/__pycache__/test_api.cpython-38.opt-1.pyc
U

/D�gsI�@sZddlmZe�d�Ze�d�Ze�d�ZddlZddlZddl	m
Z
ddlZddlZddl
Z
Gdd	�d	�Zejeed
�\ZZGdd�d�ZGd
d�de�Zejeed
�\ZZGdd�de�Zejeed
�\ZZGdd�d�Zejeeed�\ZZGdd�d�Zejeed
�\ZZGdd�dej�Z Gdd�d�Z!eje!ed�\Z"Z#e$dk�rVe�%�dS)�)�util�	importlibzimportlib.utilzimportlib.machinery�N)�supportc@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�ImportModuleTestszTest importlib.import_module.c
CsNt�d��:}tj|gd�� |j�d�}|�|jd�W5QRXW5QRXdS)N�	top_level��	meta_path��	test_util�mock_modules�import_state�init�
import_module�assertEqual�__name__)�self�mock�module�r�;/opt/cppython/lib/python3.8/test/test_importlib/test_api.py�test_module_importsz$ImportModuleTests.test_module_importc
Cshd}d�|�}d�|�}t�||��:}tj|gd�� |j�|�}|�|j|�W5QRXW5QRXdS�N�pkg�{0}.__init__z{0}.modr��formatrrr
rrrr�r�pkg_name�
pkg_long_name�namerrrrr�test_absolute_package_imports

z.ImportModuleTests.test_absolute_package_importc
Cs�d}d�|�}d}d�||�}d�|�}t�||��H}tj|gd��.|j�|�|j�||�}|�|j|�W5QRXW5QRXdS)Nrr�modz{0}.{1}z.{0}rr)rrr�module_nameZ
absolute_nameZ
relative_namerrrrr�$test_shallow_relative_package_import$s

z6ImportModuleTests.test_shallow_relative_package_importc
Csrdddg}tj|��T}tj|gd��:|j�d�|j�d�|j�dd�}|�|jd�W5QRXW5QRXdS)N�
a.__init__za.b.__init__za.cr�a�a.bz..cr
)r�modulesrrrrr�!test_deep_relative_package_import1s
z3ImportModuleTests.test_deep_relative_package_importc
Csvd}d�|�}d�|�}t�||��H}tj|gd��.|j�|�|j�||�}|�|j|�W5QRXW5QRXdSrrrrrr�!test_absolute_import_with_package:s

z3ImportModuleTests.test_absolute_import_with_packagec	Cs&|�t��|j�d�W5QRXdS)Nz.support)�assertRaises�	TypeErrorrr�rrrr�test_relative_import_wo_packageFsz1ImportModuleTests.test_relative_import_wo_packagec
s�d��fdd�}�fdd�}||d�}ddg}tj|d	|i��,}tj|gd
���j�d�W5QRXW5QRX���d�dS)Nrcs�j�d�dS)Nr')rrrr-rr�load_aRsz2ImportModuleTests.test_loaded_once.<locals>.load_acs�d7�dS)Nrrr)�b_load_countrr�load_bTsz2ImportModuleTests.test_loaded_once.<locals>.load_b)r&r'r%r'�module_coderr)rrr
rrr)rr/r1�coder(rr)r0rr�test_loaded_onceMs
 z"ImportModuleTests.test_loaded_onceN)r�
__module__�__qualname__�__doc__rr!r$r)r*r.r4rrrrrs

	r)rc@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�FindLoaderTestsNc
Cstd}t�|��\t�|�}d}||_|tj|<t���t�	dt
�|j�|�}W5QRX|�
||�W5QRXdS)N�some_modz	a loader!�ignore)r�uncache�types�
ModuleType�
__loader__�sysr(�warnings�catch_warnings�simplefilter�DeprecationWarningr�find_loaderr)rr r�loader�foundrrr�test_sys_moduleshs


z FindLoaderTests.test_sys_modulescCszd}t�|��bt�|�}d|_|tj|<|�t��2t	�
��t	�dt�|j
�|�W5QRXW5QRXW5QRXdS�Nr9r:)rr;r<r=r>r?r(r+�
ValueErrorr@rArBrCrrD�rr rrrr�test_sys_modules_loader_is_Noneus


z/FindLoaderTests.test_sys_modules_loader_is_NonecCs�d}t�|��zt�|�}z|`Wntk
r6YnX|tj|<|�t	��2t
���t
�dt
�|j�|�W5QRXW5QRXW5QRXdSrH)rr;r<r=r>�AttributeErrorr?r(r+rIr@rArBrCrrDrJrrr�"test_sys_modules_loader_is_not_set�s


z2FindLoaderTests.test_sys_modules_loader_is_not_setcCsrd}t�|��Ztj|jgd��>t���*t�dt�|�|df|j	�
|��W5QRXW5QRXW5QRXdS)Nr9rr:�rr;r
�FakeMetaFinderr@rArBrCrrrD)rr rrr�test_success�s
zFindLoaderTests.test_successcCsxd}d}t�|��\tj|jgd��@t���,t�dt�|�||f|j	�
||��W5QRXW5QRXW5QRXdS)Nr9zpath to some placerr:rN)rr �pathrrr�test_success_path�s

�z!FindLoaderTests.test_success_pathc	Cs6t���$t�dt�|�|j�d��W5QRXdS)Nr:Znevergoingtofindthismodule)r@rArBrC�assertIsNonerrDr-rrr�test_nothing�s
zFindLoaderTests.test_nothing)
rr5r6rOrGrKrMrPrRrTrrrrr8ds
	r8c@seZdZGdd�d�ZdS)�FindLoaderPEP451Testsc@seZdZeddd��ZdS)z$FindLoaderPEP451Tests.FakeMetaFinderNcCstd�|||f�S)N�Source)�	machinery�
ModuleSpec)r rQ�targetrrr�	find_spec�sz.FindLoaderPEP451Tests.FakeMetaFinder.find_spec)NN)rr5r6�staticmethodrZrrrrrO�srON�rr5r6rOrrrrrU�srUc@seZdZGdd�d�ZdS)�FindLoaderPEP302Testsc@seZdZeddd��ZdS)z$FindLoaderPEP302Tests.FakeMetaFinderNcCs||fS�Nr)r rQrrr�find_module�sz0FindLoaderPEP302Tests.FakeMetaFinder.find_module)N)rr5r6r[r_rrrrrO�srONr\rrrrr]�sr]c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�ReloadTestscCsTdD]J}|j|d��4t�|��|j�|�}|j�|�W5QRXW5QRXqdS)N)�tokenize�time�marshal)r)�subTestr�CleanImportrr�reload)rr"rrrr�test_reload_modules�s
zReloadTests.test_reload_modulesc
Cs�dd�}tjdd|id�}|�^tj|gd��D|j�d�}|j�|�}tjd}|�|j	d�|�|j	d�W5QRXW5QRXdS)NcSs(ddl}t|�d�}d|_||jd<dS)Nrr�)r?�type�spamr()r?rrrrr3�sz.ReloadTests.test_module_replaced.<locals>.coder)r2rrh)
rrr
rrrfr?r(rrj)rr3rr�reloaded�actualrrr�test_module_replaced�s�
z ReloadTests.test_module_replacedc	Csht�d��Tddl}|j}|`|j�|�}|�||�|�tjd|�|�	|jj
|j
�W5QRXdS�Nr<r)rrer<r>rrf�assertIsr?r(rrQ)rr<rErkrrr�test_reload_missing_loader�sz&ReloadTests.test_reload_missing_loaderc	Csjt�d��Vddl}d|_|j��|j�|�}|�|jd�|�||�|�t	j
d|�W5QRXdSrn)rrer<r>r�invalidate_cachesrf�assertIsNotror?r()rr<rkrrr�test_reload_loader_replaced�s
z'ReloadTests.test_reload_loader_replacedcCs�d}t�d����}t�d����t�|����|j��tj�	||d�}|j
�|�}|d||dd�}t�|�|j�
|�}t|���}|�d�}|�d�}	|�dd�|�|	j|�|�|	j|�|�|j|�|�||�|j��tj�	||d�}
|j
�|
�}|||
|tj�|
�gdd	�}t�|�t�||
�|j�|�}t|���}|�d�}|�d�}	|�dd�|�|	j|�|�|	j|�|�||�|�|j|
�d|_|�||�W5QRXW5QRXW5QRXdS)
Nrjz.py�)r�__package__�__file__�
__cached__r7r>�__spec__�__builtins__�__init__.py)rrurvrw�__path__r7)r�temp_cwdrr;�
DirsOnSysPathrrq�osrQ�joinr�cache_from_sourceZcreate_empty_filer�vars�copy�poprr rE�dirname�mkdir�renamerfroZmaxDiff)rr �cwdrQ�cached�expectedr�nsrE�spec�	init_pathrkrrr�test_reload_location_changed�s\
�



�


z(ReloadTests.test_reload_location_changedcCs2d}t�d���}t�d���t�|����|j��tj�	||d�}|j
�|�}||ddd�}t�|�t
|d��}|�d�W5QRX|j�|�}t|���}|�d�}	|�d�}
|�d�}|�d	d�|�|j|�|�|j�|�|	�|�|j|	�|�t|
�ttj�|�g��|�t��|	jW5QRX|�||�|j��tj�	||d
�}|j
�|�}||||tj�|�gddd�}t�||�|j�|�}
t|
���}|�d�}	|�d�}|�d	d�|�|j|�|�|j|	�|�|
|�|�|	j|�|�||�W5QRXW5QRXW5QRXdS)Nrjz	__init.py)rrur7rv�wzeggs = Noner>r{rxryrz)rrurvrwr{r7Zeggs)rr|rr;r}rrqr~rQrrr�r��open�writerr�r�r�rr ZassertIsNotNonerE�setr�r+rLr�rfro)rr r�Zbad_pathr�r�Z	init_filerr�rErQr�r�rkrrr�test_reload_namespace_changed(sj
�





�
�

z)ReloadTests.test_reload_namespace_changedc	Cs\d}d}tj|dd��<}t�|||�\}}|j�|�}|j�|�}|�||�W5QRXdS)Nrj�hamT)r)rZtemp_moduleZ	submodulerrrfro)rr ZsubnameZpkg_dir�fullname�_r�rkrrr�test_reload_submodulebsz!ReloadTests.test_reload_submodulec
Csld}t�|��Tt�|�}tj|<|j�|�}|�|j	�|�
t��|j�|�W5QRXW5QRXdS)Nrj)
rr;r<r=r?r(rrrSrxr+�ModuleNotFoundErrorrfrJrrr�test_module_missing_speclsz$ReloadTests.test_module_missing_specN)rr5r6rgrmrprsr�r�r�r�rrrrr`�s3:
r`)rrc@seZdZdd�Zdd�ZdS)�InvalidateCacheTestscs�Gdd�d�}d�|��|�}tj�d��|��fdd��|tj�<|��fdd��|j��|��j�|�|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)zGInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFindercWs
d|_dS)NF��called)rZignoredrrr�__init__�szPInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.__init__cWsdSr^r)r�argsrrrr_�szSInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.find_modulecSs
d|_dS)NTr�r-rrrrq�szYInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.invalidate_cachesN)rr5r6r�r_rqrrrr�InvalidatingNullFinder�sr�Zgobledeegookrcstj���Sr^)r?�path_importer_cache�__delitem__r��keyrr�<lambda>��z9InvalidateCacheTests.test_method_called.<locals>.<lambda>cstj���Sr^)r?r	�remover)�meta_insrrr��r�)	r?r	�insert�
addCleanupr�rrq�
assertTruer�)rr�Zpath_insr)r�r�r�test_method_called�s

z'InvalidateCacheTests.test_method_calledcs.d�dtj�<|��fdd��|j��dS)NZ
gobbledeegookcstj��d�Sr^)r?r�r�rr�rrr��r�z:InvalidateCacheTests.test_method_lacking.<locals>.<lambda>)r?r�r�rrqr-rr�r�test_method_lacking�s
z(InvalidateCacheTests.test_method_lackingN)rr5r6r�r�rrrrr�~sr�c@seZdZdd�ZdS)�FrozenImportlibTestscCstd}|�|jjjd�dS)NrV�FrozenImporter)rZassertNotEqualr>�	__class__r)rZsource_initrrr�test_no_frozen_importlib�s�z-FrozenImportlibTests.test_no_frozen_importlibN)rr5r6r�rrrrr��sr�c@seZdZdd�Zdd�ZdS)�StartupTestsc
Cs�tj��D]~\}}t|tj�r
|j|d��X|�t|d�d�	|��|j
j�|�rb|�
|jd�n|j
j�|�r~|�
|jd�W5QRXq
dS)N�r r>z!{!r} lacks a __loader__ attribute)r?r(�items�
isinstancer<r=rdr��hasattrrrW�BuiltinImporterr_rrr>r�rJrrr�test_everyone_has___loader__�s�z)StartupTests.test_everyone_has___loader__c
Cs�tj��D]v\}}t|tj�r
|j|d��P|�t|d��|j	j
�|�rZ|�|j
d�n|j	j�|�rv|�|j
d�W5QRXq
dS)Nr�rx)r?r(r�r�r<r=rdr�r�rWr�r_rrrxr�rJrrr�test_everyone_has___spec__�sz'StartupTests.test_everyone_has___spec__N)rr5r6r�r�rrrrr��sr�)rW�__main__)&rtrrZimport_importlibrrWZos.pathr~r?�testrr<Zunittestr@rZ	test_bothZFrozen_ImportModuleTestsZSource_ImportModuleTestsr8rUZFrozen_FindLoaderPEP451TestsZSource_FindLoaderPEP451Testsr]ZFrozen_FindLoaderPEP302TestsZSource_FindLoaderPEP302Testsr`ZFrozen_ReloadTestsZSource_ReloadTestsr�ZFrozen_InvalidateCacheTestsZSource_InvalidateCacheTestsZTestCaser�r�ZFrozen_StartupTestsZSource_StartupTestsr�mainrrrr�<module>sL


R�H
�
�6�!��