Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/test/test_importlib/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/test/test_importlib/__pycache__/test_api.cpython-36.opt-2.pyc

3

��2a6G�@sZddlmZejd�Zejd�Zejd�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j%�dS)�)�util�	importlibzimportlib.utilzimportlib.machinery�N)�supportc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ImportModuleTestscCsNtjd��:}tj|gd�� |jjd�}|j|jd�WdQRXWdQRXdS)N�	top_level)�	meta_path)�	test_util�mock_modules�import_state�init�
import_module�assertEqual�__name__)�self�mock�module�r�-/opt/alt/python36/lib64/python3.6/test_api.py�test_module_importsz$ImportModuleTests.test_module_importcCshd}dj|�}dj|�}tj||��:}tj|gd�� |jj|�}|j|j|�WdQRXWdQRXdS)N�pkgz{0}.__init__z{0}.mod)r)�formatr	r
rrr
rr)r�pkg_name�
pkg_long_name�namerrrrr�test_absolute_package_imports

z.ImportModuleTests.test_absolute_package_importcCs�d}dj|�}d}dj||�}dj|�}tj||��H}tj|gd��.|jj|�|jj||�}|j|j|�WdQRXWdQRXdS)Nrz{0}.__init__�modz{0}.{1}z.{0})r)rr	r
rrr
rr)rrrZmodule_nameZ
absolute_nameZ
relative_namerrrrr�$test_shallow_relative_package_import$s

z6ImportModuleTests.test_shallow_relative_package_importcCsrdddg}tj|��T}tj|gd��:|jjd�|jjd�|jjdd�}|j|jd�WdQRXWdQRXdS)Nz
a.__init__za.b.__init__za.c)r�aza.bz..c)r	r
rrr
rr)r�modulesrrrrr�!test_deep_relative_package_import1s
z3ImportModuleTests.test_deep_relative_package_importcCsvd}dj|�}dj|�}tj||��H}tj|gd��.|jj|�|jj||�}|j|j|�WdQRXWdQRXdS)Nrz{0}.__init__z{0}.mod)r)rr	r
rrr
rr)rrrrrrrrr�!test_absolute_import_with_package:s

z3ImportModuleTests.test_absolute_import_with_packagec	Cs&|jt��|jjd�WdQRXdS)Nz.support)�assertRaises�	TypeErrorrr
)rrrr�test_relative_import_wo_packageFsz1ImportModuleTests.test_relative_import_wo_packagecs�d��fdd�}�fdd�}||d�}ddg}tj|d	|i��,}tj|gd
���jjd�WdQRXWdQRX�j�d�dS)Nrcs�jjd�dS)Nza.b)rr
r)rrr�load_aRsz2ImportModuleTests.test_loaded_once.<locals>.load_acs�d7�dS)Nrrr)�b_load_countrr�load_bTsz2ImportModuleTests.test_loaded_once.<locals>.load_b)rza.bz
a.__init__za.b�module_code)rr)r	r
rrr
r)rr%r'�coderrr)r&rr�test_loaded_onceMs
 z"ImportModuleTests.test_loaded_onceN)
r�
__module__�__qualname__rrrr r!r$r*rrrrrs

	r)rc@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�FindLoaderTestsNcCstd}tj|��\tj|�}d}||_|tj|<tj��tj	dt
�|jj|�}WdQRX|j
||�WdQRXdS)N�some_modz	a loader!�ignore)r	�uncache�types�
ModuleType�
__loader__�sysr�warnings�catch_warnings�simplefilter�DeprecationWarningr�find_loaderr)rrr�loader�foundrrr�test_sys_moduleshs


z FindLoaderTests.test_sys_modulescCszd}tj|��btj|�}d|_|tj|<|jt��2t	j
��t	jdt�|j
j|�WdQRXWdQRXWdQRXdS)Nr.r/)r	r0r1r2r3r4rr"�
ValueErrorr5r6r7r8rr9)rrrrrr�test_sys_modules_loader_is_Noneus


z/FindLoaderTests.test_sys_modules_loader_is_Nonec Cs�d}tj|��ztj|�}y|`Wntk
r6YnX|tj|<|jt	��2t
j��t
jdt
�|jj|�WdQRXWdQRXWdQRXdS)Nr.r/)r	r0r1r2r3�AttributeErrorr4rr"r=r5r6r7r8rr9)rrrrrr�"test_sys_modules_loader_is_not_set�s


z2FindLoaderTests.test_sys_modules_loader_is_not_setcCsrd}tj|��Ztj|jgd��>tj��*tjdt�|j|df|j	j
|��WdQRXWdQRXWdQRXdS)Nr.)rr/)r	r0r�FakeMetaFinderr5r6r7r8rrr9)rrrrr�test_success�s
zFindLoaderTests.test_successcCsxd}d}tj|��\tj|jgd��@tj��,tjdt�|j||f|j	j
||��WdQRXWdQRXWdQRXdS)Nr.zpath to some place)rr/)r	r0rrAr5r6r7r8rrr9)rr�pathrrr�test_success_path�s

z!FindLoaderTests.test_success_pathc
Cs6tj��$tjdt�|j|jjd��WdQRXdS)Nr/Znevergoingtofindthismodule)r5r6r7r8ZassertIsNonerr9)rrrr�test_nothing�s
zFindLoaderTests.test_nothing)
rr+r,rAr<r>r@rBrDrErrrrr-ds
	r-c@seZdZGdd�d�ZdS)�FindLoaderPEP451Testsc@seZdZeddd��ZdS)z$FindLoaderPEP451Tests.FakeMetaFinderNcCstdj|||f�S)N�Source)�	machinery�
ModuleSpec)rrC�targetrrr�	find_spec�sz.FindLoaderPEP451Tests.FakeMetaFinder.find_spec)NN)rr+r,�staticmethodrKrrrrrA�srAN)rr+r,rArrrrrF�srFc@seZdZGdd�d�ZdS)�FindLoaderPEP302Testsc@seZdZeddd��ZdS)z$FindLoaderPEP302Tests.FakeMetaFinderNcCs||fS)Nr)rrCrrr�find_module�sz0FindLoaderPEP302Tests.FakeMetaFinder.find_module)N)rr+r,rLrNrrrrrA�srAN)rr+r,rArrrrrM�srMc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ReloadTestscCsXxRdD]J}|j|d��4tj|��|jj|�}|jj|�WdQRXWdQRXqWdS)N�tokenize�time�marshal)r)rPrQrR)�subTestr�CleanImportrr
�reload)rrrrrr�test_reload_modules�s

zReloadTests.test_reload_modulescCs�dd�}tjdd|id�}|�^tj|gd��D|jjd�}|jj|�}tjd}|j|j	d�|j|j	d�WdQRXWdQRXdS)NcSs(ddl}t|�d�}d|_||jd<dS)Nrr�)r4�type�spamr)r4rrrrr)�sz.ReloadTests.test_module_replaced.<locals>.coder)r()rrW)
r	r
rrr
rUr4rrrY)rr)rr�reloaded�actualrrr�test_module_replaced�s
z ReloadTests.test_module_replacedc
Cshtjd��Tddl}|j}|`|jj|�}|j||�|jtjd|�|j	|jj
|j
�WdQRXdS)Nr1r)rrTr1r3rrU�assertIsr4rrrC)rr1r:rZrrr�test_reload_missing_loader�sz&ReloadTests.test_reload_missing_loaderc
Csjtjd��Vddl}d|_|jj�|jj|�}|j|jd�|j||�|jt	j
d|�WdQRXdS)Nr1r)rrTr1r3r�invalidate_cachesrU�assertIsNotr]r4r)rr1rZrrr�test_reload_loader_replaced�s
z'ReloadTests.test_reload_loader_replacedcCs�d}tjd����}tjd����tj|����|jj�tjj	||d�}|j
j|�}|d||dd�}tj|�|jj
|�}t|�j�}|jd�}|jd�}	|jdd�|j|	j|�|j|	j|�|j|j|�|j||�|jj�tjj	||d�}
|j
j|
�}|||
|tjj|
�gdd	�}tj|�tj||
�|jj|�}t|�j�}|jd�}|jd�}	|jdd�|j|	j|�|j|	j|�|j||�|j|j|
�d|_|j||�WdQRXWdQRXWdQRXdS)
NrYz.py�)r�__package__�__file__�
__cached__�__doc__r3�__spec__�__builtins__z__init__.py)rrcrdre�__path__rf)r�temp_cwdr	r0�
DirsOnSysPathrr_�osrC�joinr�cache_from_sourceZcreate_empty_filer
�vars�copy�poprrr:�dirname�mkdir�renamerUr]ZmaxDiff)rr�cwdrC�cached�expectedr�nsr:�spec�	init_pathrZrrr�test_reload_location_changed�sX







z(ReloadTests.test_reload_location_changedc+Cs&d}tjd���}tjd����tj|����|jj�tjj	||d�}|j
j|�}||dd�}tj|�t
|d��}|jd�WdQRX|jj|�}t|�j�}|jd�}	|jd�}
|jd�}|jd	d�|j|j|�|j|jd�|j|	d�|jt|
�ttjj|�g��|jt��|	jWdQRX|j||�|jj�tjj	||d
�}|j
j|�}||||tjj|�gddd�}tj||�|jj|�}
t|
�j�}|jd�}	|jd�}|jd	d�|j|j|�|j|j|	�|j|
|�|j|	j|�|j||�WdQRXWdQRXWdQRXdS)NrYz	__init.py)rrcrf�wzeggs = Noner3rirgrhz__init__.py)rrcrdrerirfZeggs)rrjr	r0rkrr_rlrCrmrrnrs�open�writer
rorprqrrr]r:r`�setrrr"r?rtrU)rrruZbad_pathrvrwZ	init_filerrxr:rCryrzrZrrr�test_reload_namespace_changed*s`








z)ReloadTests.test_reload_namespace_changedcCs\d}d}tj|dd��<}tj|||�\}}|jj|�}|jj|�}|j||�WdQRXdS)NrY�hamT)r)r	Ztemp_moduleZ	submodulerr
rUr])rrZsubnameZpkg_dir�fullname�_r�rZrrr�test_reload_submodulebsz!ReloadTests.test_reload_submoduleN)
rr+r,rVr\r^rar{r�r�rrrrrO�s38rO)rrc@seZdZdd�Zdd�ZdS)�InvalidateCacheTestscs�Gdd�d�}d�|��|�}tjjd��|j�fdd��|tj�<|j�fdd��|jj�|j�j�|j|j�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)zGInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFindercWs
d|_dS)NF)�called)rZignoredrrr�__init__wszPInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.__init__cWsdS)Nr)r�argsrrrrNyszSInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.find_modulecSs
d|_dS)NT)r�)rrrrr_{szYInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.invalidate_cachesN)rr+r,r�rNr_rrrr�InvalidatingNullFindervsr�Zgobledeegookrcstjj��S)N)r4�path_importer_cache�__delitem__r)�keyrr�<lambda>�sz9InvalidateCacheTests.test_method_called.<locals>.<lambda>cstjj��S)N)r4r�remover)�meta_insrrr��s)	r4r�insert�
addCleanupr�rr_�
assertTruer�)rr�Zpath_insr)r�r�r�test_method_calledts

z'InvalidateCacheTests.test_method_calledcs.d�dtj�<|j�fdd��|jj�dS)NZ
gobbledeegookcstjj��S)N)r4r�r�r)r�rrr��sz:InvalidateCacheTests.test_method_lacking.<locals>.<lambda>)r4r�r�rr_)rr)r�r�test_method_lacking�s
z(InvalidateCacheTests.test_method_lackingN)rr+r,r�r�rrrrr�rsr�c@seZdZdd�ZdS)�FrozenImportlibTestscCstd}|j|jjjd�dS)NrG�FrozenImporter)rZassertNotEqualr3�	__class__r)rZsource_initrrr�test_no_frozen_importlib�sz-FrozenImportlibTests.test_no_frozen_importlibN)rr+r,r�rrrrr��sr�c@seZdZdd�Zdd�ZdS)�StartupTestscCs�x�tjj�D]~\}}t|tj�r|j|d��X|jt|d�dj	|��|j
jj|�rd|j
|jd�n|j
jj|�r�|j
|jd�WdQRXqWdS)N)rr3z!{!r} lacks a __loader__ attribute)r4r�items�
isinstancer1r2rSr��hasattrrrH�BuiltinImporterrNr`r3r�)rrrrrr�test_everyone_has___loader__�sz)StartupTests.test_everyone_has___loader__cCs�x�tjj�D]v\}}t|tj�r|j|d��P|jt|d��|j	j
j|�r\|j|j
d�n|j	jj|�rx|j|j
d�WdQRXqWdS)N)rrg)r4rr�r�r1r2rSr�r�rHr�rNr`rgr�)rrrrrr�test_everyone_has___spec__�sz'StartupTests.test_everyone_has___spec__N)rr+r,r�r�rrrrr��sr�)rH�__main__)&rbrr	Zimport_importlibrrHZos.pathrlr4Ztestrr1Zunittestr5rZ	test_bothZFrozen_ImportModuleTestsZSource_ImportModuleTestsr-rFZFrozen_FindLoaderPEP451TestsZSource_FindLoaderPEP451TestsrMZFrozen_FindLoaderPEP302TestsZSource_FindLoaderPEP302TestsrOZFrozen_ReloadTestsZSource_ReloadTestsr�ZFrozen_InvalidateCacheTestsZSource_InvalidateCacheTestsZTestCaser�r�ZFrozen_StartupTestsZSource_StartupTestsr�mainrrrr�<module>s4


RH

*!