Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/test_importlib/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/test_importlib/__pycache__/test_api.cpython-35.pyc



��YfwE�@s�ddlmZejd�Zejd�Zejd�ZddlZddlZddl	m
Z
ddlZddlZddl
Z
Gdd	�d	�Zejed
e�\ZZGdd�d�Zejed
e�\ZZGd
d�d�Zejed
ede�\ZZGdd�d�Zejed
e�\ZZGdd�dej�ZGdd�d�Zejede�\ZZe dkr�ej!�dS)�)�util�	importlibzimportlib.utilzimportlib.machinery�N)�supportc@sjeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�ImportModuleTestszTest importlib.import_module.cCs_tjd��I}tjd|g��*|jjd�}|j|jd�WdQRXWdQRXdS)N�	top_level�	meta_path)�	test_util�mock_modules�import_state�init�
import_module�assertEqual�__name__)�self�mock�module�r�A/opt/alt/python35/lib64/python3.5/test/test_importlib/test_api.py�test_module_importsz$ImportModuleTests.test_module_importcCs�d}dj|�}dj|�}tj||��I}tjd|g��*|jj|�}|j|j|�WdQRXWdQRXdS)N�pkgz{0}.__init__z{0}.modr)�formatr	r
rrr
rr)r�pkg_name�
pkg_long_name�namerrrrr�test_absolute_package_importsz.ImportModuleTests.test_absolute_package_importcCs�d}dj|�}d}dj||�}dj|�}tj||��\}tjd|g��=|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$sz6ImportModuleTests.test_shallow_relative_package_importcCs�dddg}tj|��l}tjd|g��M|jjd�|jjd�|jjdd�}|j|jd�WdQRXWdQRXdS)Nz
a.__init__za.b.__init__za.cr�aza.bz..c)r	r
rrr
rr)r�modulesrrrrr�!test_deep_relative_package_import1sz3ImportModuleTests.test_deep_relative_package_importcCs�d}dj|�}dj|�}tj||��\}tjd|g��=|jj|�|jj||�}|j|j|�WdQRXWdQRXdS)Nrz{0}.__init__z{0}.modr)rr	r
rrr
rr)rrrrrrrrr�!test_absolute_import_with_package:sz3ImportModuleTests.test_absolute_import_with_packagec	Cs+|jt��|jjd�WdQRXdS)Nz.support)�assertRaises�	TypeErrorrr
)rrrr�test_relative_import_wo_packageFsz1ImportModuleTests.test_relative_import_wo_packagecs�d��fdd�}�fdd�}d|d|i}ddg}tj|d	|��4}tjd
|g���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_brza.bz
a.__init__�module_coderr)r	r
rrr
r)rr%r'�coderrr)r&rr�test_loaded_onceMsz"ImportModuleTests.test_loaded_onceN)r�
__module__�__qualname__�__doc__rrrr r!r$r*rrrrrs

	rrc@skeZdZGdd�d�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�FindLoaderTestsc@s%eZdZeddd��ZdS)zFindLoaderTests.FakeMetaFinderNcCs
||fS)Nr)r�pathrrr�find_modulegsz*FindLoaderTests.FakeMetaFinder.find_module)rr+r,�staticmethodr0rrrr�FakeMetaFinderfsr2cCs�d}tj|��vtj|�}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_modulesjs	

z FindLoaderTests.test_sys_modulescCs�d}tj|��utj|�}d|_|tj|<|jt��9t	j
��%t	jdt�|j
j|�WdQRXWdQRXWdQRXdS)Nr3r4)r	r5r6r7r8r9rr"�
ValueErrorr:r;r<r=rr>)rrrrrr�test_sys_modules_loader_is_Nonews	

z/FindLoaderTests.test_sys_modules_loader_is_Nonec Cs�d}tj|���tj|�}y
|`Wntk
rCYnX|tj|<|jt	��9t
j��%t
jdt
�|jj|�WdQRXWdQRXWdQRXdS)Nr3r4)r	r5r6r7r8�AttributeErrorr9rr"rBr:r;r<r=rr>)rrrrrr�"test_sys_modules_loader_is_not_set�s



z2FindLoaderTests.test_sys_modules_loader_is_not_setcCs�d}tj|��ktjd|jg��Ktj��7tjdt�|j|df|j	j
|��WdQRXWdQRXWdQRXdS)Nr3rr4)r	r5rr2r:r;r<r=rrr>)rrrrr�test_success�s
zFindLoaderTests.test_successcCs�d}d}tj|��ntjd|jg��Ntj��:tjdt�|j||f|j	j
||��WdQRXWdQRXWdQRXdS)Nr3zpath to some placerr4)r	r5rr2r:r;r<r=rrr>)rrr/rrr�test_success_path�s
z!FindLoaderTests.test_success_pathc
CsAtj��.tjdt�|j|jjd��WdQRXdS)Nr4Znevergoingtofindthismodule)r:r;r<r=ZassertIsNonerr>)rrrr�test_nothing�s
zFindLoaderTests.test_nothingN)
rr+r,r2rArCrErFrGrHrrrrr.ds
	r.c@sjeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�ReloadTestsz8Test module reloading for builtin and extension modules.cCshxadD]Y}|jd|��>tj|��'|jj|�}|jj|�WdQRXWdQRXqWdS)N�tokenize�time�marshalr)rJrKrL)�subTestr�CleanImportrr
�reload)rrrrrr�test_reload_modules�s

zReloadTests.test_reload_modulescCs�dd�}tjddd|i�}|�ytjd|g��\|jjd�}|jj|�}tjd}|j|j	d�|j|j	d�WdQRXWdQRXdS)NcSs8ddl}t|�d�}d|_||jd<dS)Nrr�)r9�type�spamr)r9rrrrr)�s	z.ReloadTests.test_module_replaced.<locals>.coderr(rrQ)
r	r
rrr
rOr9rrrS)rr)rr�reloadedZactualrrr�test_module_replaced�s
z ReloadTests.test_module_replacedc
Cs�tjd��rddl}|j}|`|jj|�}|j||�|jtjd|�|j	|jj
|j
�WdQRXdS)Nr6r)rrNr6r8rrO�assertIsr9rrr/)rr6r?rTrrr�test_reload_missing_loader�s	z&ReloadTests.test_reload_missing_loaderc
Cs�tjd��sddl}d|_|jj�|jj|�}|j|jd�|j||�|jt	j
d|�WdQRXdS)Nr6r)rrNr6r8r�invalidate_cachesrO�assertIsNotrVr9r)rr6rTrrr�test_reload_loader_replaced�s	
z'ReloadTests.test_reload_loader_replacedc!Cs�d}tjd��z}tjd��atj|��J|jj�tjj	||d�}|j
j|�}d|ddd|d|ddi}tj|�|jj
|�}t|�j�}|jd	�}|jd
�}	|jdd�|j|	j|�|j|	j|�|j|j|�|j||�|jj�tjj	||d�}
|j
j|
�}d|d|d|
d|d
tjj|
�gddi}tj|�tj||
�|jj|�}t|�j�}|jd	�}|jd
�}	|jdd�|j|	j|�|j|	j|�|j||�|j|j|
�d|_|j||�WdQRXWdQRXWdQRXdS)NrSz.pyr�__package__��__file__�
__cached__r-r8�__spec__�__builtins__z__init__.py�__path__)r�temp_cwdr	r5�
DirsOnSysPathrrX�osr/�joinr�cache_from_sourceZcreate_empty_filer
�vars�copy�poprrr?�dirname�mkdir�renamerOrVZmaxDiff)rr�cwdr/�cached�expectedr�nsr?�spec�	init_pathrTrrr�test_reload_location_changed�sX



	z(ReloadTests.test_reload_location_changedc1Cs�d}tjd���}tjd���tj|���|jj�tjj	||d�}|j
j|�}d|d|ddi}tj|�t
|d��}|jd�WdQRX|jj|�}t|�j�}|jd�}	|jd	�}
|jd
�}|jdd�|j|j|�|j|jd�|j|	d�|jt|
�ttjj|�g��|jt��|	jWdQRX|j||�|jj�tjj	||d�}|j
j|�}d|d|d
|d|d	tjj|�gddddi}tj||�|jj|�}
t|
�j�}|jd�}	|jd
�}|jdd�|j|j|�|j|j|	�|j|
|�|j|	j|�|j||�WdQRXWdQRXWdQRXdS)NrSz	__init.pyrr[r-�wzeggs = Noner8rar_r`z__init__.pyr]r^Zeggs)rrbr	r5rcrrXrdr/rerrfrk�open�writer
rgrhrirrrVr?rY�setrjr"rDrlrO)rrrmZbad_pathrnroZ	init_filerrpr?r/rqrrrTrrr�test_reload_namespace_changeds`


z)ReloadTests.test_reload_namespace_changedcCs~d}d}tj|dd��V}tj|||�\}}|jj|�}|jj|�}|j||�WdQRXdS)NrS�hamrT)r	Ztemp_moduleZ	submodulerr
rOrV)rrZsubnameZpkg_dir�fullname�_ryrTrrr�test_reload_submoduleOsz!ReloadTests.test_reload_submoduleN)rr+r,r-rPrUrWrZrsrxr|rrrrrI�s38rIrc@s(eZdZdd�Zdd�ZdS)�InvalidateCacheTestscs�Gdd�d�}d�|��|�}tjjd��|j�fdd��|tj�<|j�fdd��|jj�|j�j�|j|j�dS)Nc@s4eZdZdd�Zdd�Zdd�ZdS)zGInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFindercWs
d|_dS)NF)�called)rZignoredrrr�__init__dszPInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.__init__cWsdS)Nr)r�argsrrrr0fszSInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.find_modulecSs
d|_dS)NT)r~)rrrrrXhszYInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.invalidate_cachesN)rr+r,rr0rXrrrr�InvalidatingNullFindercsr�Zgobledeegookrcstjj��S)N)r9�path_importer_cache�__delitem__r)�keyrr�<lambda>osz9InvalidateCacheTests.test_method_called.<locals>.<lambda>cstjj��S)N)r9r�remover)�meta_insrrr�qs)	r9r�insert�
addCleanupr�rrX�
assertTruer~)rr�Zpath_insr)r�r�r�test_method_calledas		

z'InvalidateCacheTests.test_method_calledcs=d�dtj�<|j�fdd��|jj�dS)NZ
gobbledeegookcstjj��S)N)r9r�r�r)r�rrr�zsz:InvalidateCacheTests.test_method_lacking.<locals>.<lambda>)r9r�r�rrX)rr)r�r�test_method_lackingvs
z(InvalidateCacheTests.test_method_lackingN)rr+r,r�r�rrrrr}_sr}c@seZdZdd�ZdS)�FrozenImportlibTestscCs'td}|j|jjjd�dS)NZSource�FrozenImporter)rZassertNotEqualr8�	__class__r)rZsource_initrrr�test_no_frozen_importlib�s
z-FrozenImportlibTests.test_no_frozen_importlibN)rr+r,r�rrrrr��sr�c@s(eZdZdd�Zdd�ZdS)�StartupTestscCs�x�tjj�D]�\}}t|tj�r|jd|��z|jt|d�dj	|��|j
jj|�r�|j
|jd�n(|j
jj|�r�|j
|jd�WdQRXqWdS)Nrr8z!{!r} lacks a __loader__ attribute)r9r�items�
isinstancer6r7rMr��hasattrr�	machinery�BuiltinImporterr0rYr8r�)rrrrrr�test_everyone_has___loader__�sz)StartupTests.test_everyone_has___loader__cCs�x�tjj�D]�\}}t|tj�r|jd|��n|jt|d��|j	j
j|�r�|j|j
d�n(|j	jj|�r�|j|j
d�WdQRXqWdS)Nrr_)r9rr�r�r6r7rMr�r�r�r�r0rYr_r�)rrrrrr�test_everyone_has___spec__�sz'StartupTests.test_everyone_has___spec__N)rr+r,r�r�rrrrr��sr�r��__main__)"r\rr	Zimport_importlibrr�Zos.pathrdr9Ztestrr6Zunittestr:rZ	test_bothZFrozen_ImportModuleTestsZSource_ImportModuleTestsr.ZFrozen_FindLoaderTestsZSource_FindLoaderTestsrIZFrozen_ReloadTestsZSource_ReloadTestsr}ZFrozen_InvalidateCacheTestsZSource_InvalidateCacheTestsZTestCaser�r�ZFrozen_StartupTestsZSource_StartupTestsr�mainrrrr�<module>s,RL�!!