Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/test/test_importlib/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/test/test_importlib/__pycache__/test_api.cpython-34.pyc

�
g f�F�@sHddlmZejd�\ZZejd�\ZZejd�\ZZddl	Z
ddlZddlm
Z
ddlZddlZddlZGdd	�d	�ZGd
d�deej�ZGdd
�d
eej�ZGdd�d�ZGdd�deej�ZGdd�deej�ZGdd�d�ZGdd�deej�ZGdd�deej�ZGdd�d�ZGdd�deej�ZGdd�deej�ZGd d!�d!ej�ZGd"d#�d#�ZGd$d%�d%eej�Z Gd&d'�d'eej�Z!e"d(krDej#�ndS))�)�util�	importlibzimportlib.utilzimportlib.machinery�N)�supportc@sjeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�ImportModuleTestszTest importlib.import_module.cCs]tjd��H}tjd|g��*|jjd�}|j|jd�WdQXWdQXdS)N�	top_level�	meta_path)r�mock_modules�import_state�init�
import_module�assertEqual�__name__)�self�mock�module�r�A/opt/alt/python34/lib64/python3.4/test/test_importlib/test_api.py�test_module_importsz$ImportModuleTests.test_module_importcCs�d}dj|�}dj|�}tj||��H}tjd|g��*|jj|�}|j|j|�WdQXWdQXdS)N�pkgz{0}.__init__z{0}.modr)�formatrr	r
rrr
r)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|�WdQXWdQXdS)Nrz{0}.__init__�modz{0}.{1}z.{0}r)rrr	r
rrr
r)rrrZmodule_nameZ
absolute_nameZ
relative_namerrrrr�$test_shallow_relative_package_import$sz6ImportModuleTests.test_shallow_relative_package_importcCs�dddg}tj|��k}tjd|g��M|jjd�|jjd�|jjdd�}|j|jd�WdQXWdQXdS)Nz
a.__init__za.b.__init__za.cr�aza.bz..c)rr	r
rrr
r)r�modulesrrrrr�!test_deep_relative_package_import1sz3ImportModuleTests.test_deep_relative_package_importcCs�d}dj|�}dj|�}tj||��[}tjd|g��=|jj|�|jj||�}|j|j|�WdQXWdQXdS)Nrz{0}.__init__z{0}.modr)rrr	r
rrr
r)rrrrrrrrr�!test_absolute_import_with_package:sz3ImportModuleTests.test_absolute_import_with_packagec	Cs*|jt��|jjd�WdQXdS)Nz.support)�assertRaises�	TypeErrorrr)rrrr�test_relative_import_wo_packageFsz1ImportModuleTests.test_relative_import_wo_packagecs�d��fdd�}�fdd�}i|d6|d6}ddg}tjd	||��3}tjd
|g���jjd�WdQXWdQX�j�d�dS)Nrcs�jjd�dS)Nza.b)rr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)rr	r
rrr
)rr$r&�coderrr)r%rr�test_loaded_onceMsz"ImportModuleTests.test_loaded_onceN)r�
__module__�__qualname__�__doc__rrrrr r#r)rrrrrs

	rc@seZdZeZdS)�Frozen_ImportModuleTestsN)rr*r+�frozen_initrrrrrr-^sr-c@seZdZeZdS)�Source_ImportModuleTestsN)rr*r+�source_initrrrrrr/asr/c@skeZdZGdd�d�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�FindLoaderTestsc@s%eZdZeddd��ZdS)zFindLoaderTests.FakeMetaFinderNcCs
||fS)Nr)r�pathrrr�find_modulehsz*FindLoaderTests.FakeMetaFinder.find_module)rr*r+�staticmethodr3rrrr�FakeMetaFindergsr5cCs�d}tj|��utj|�}d}||_|tj|<tj��'tj	dt
�|jj|�}WdQX|j
||�WdQXdS)N�some_modz	a loader!�ignore)r�uncache�types�
ModuleType�
__loader__�sysr�warnings�catch_warnings�simplefilter�DeprecationWarningr�find_loaderr
)rrr�loader�foundrrr�test_sys_modulesks	

z FindLoaderTests.test_sys_modulescCs�d}tj|��stj|�}d|_|tj|<|jt��8t	j
��%t	jdt�|j
j|�WdQXWdQXWdQXdS)Nr6r7)rr8r9r:r;r<rr!�
ValueErrorr=r>r?r@rrA)rrrrrr�test_sys_modules_loader_is_Nonexs	

z/FindLoaderTests.test_sys_modules_loader_is_Nonec Cs�d}tj|���tj|�}y
|`Wntk
rCYnX|tj|<|jt	��8t
j��%t
jdt
�|jj|�WdQXWdQXWdQXdS)Nr6r7)rr8r9r:r;�AttributeErrorr<rr!rEr=r>r?r@rrA)rrrrrr�"test_sys_modules_loader_is_not_set�s



z2FindLoaderTests.test_sys_modules_loader_is_not_setcCs�d}tj|��itjd|jg��Jtj��7tjdt�|j|df|j	j
|��WdQXWdQXWdQXdS)Nr6rr7)rr8r
r5r=r>r?r@r
rrA)rrrrr�test_success�s
zFindLoaderTests.test_successcCs�d}d}tj|��ltjd|jg��Mtj��:tjdt�|j||f|j	j
||��WdQXWdQXWdQXdS)Nr6zpath to some placerr7)rr8r
r5r=r>r?r@r
rrA)rrr2rrr�test_success_path�s
z!FindLoaderTests.test_success_pathc
Cs@tj��.tjdt�|j|jjd��WdQXdS)Nr7Znevergoingtofindthismodule)r=r>r?r@ZassertIsNonerrA)rrrr�test_nothing�s
zFindLoaderTests.test_nothingN)
rr*r+r5rDrFrHrIrJrKrrrrr1es
	r1c@seZdZeZdS)�Frozen_FindLoaderTestsN)rr*r+r.rrrrrrL�srLc@seZdZeZdS)�Source_FindLoaderTestsN)rr*r+r0rrrrrrM�srMc@sjeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�ReloadTestsz8Test module reloading for builtin and extension modules.cCsfx_dD]W}|jd|��=tj|��'|jj|�}|jj|�WdQXWdQXqWdS)N�tokenize�time�marshalr)ztokenizerPzmarshal)�subTestr�CleanImportrr�reload)rrrrrr�test_reload_modules�s

zReloadTests.test_reload_modulescCs�dd�}tjddi|d6�}|�xtjd|g��\|jjd�}|jj|�}tjd}|j|j	d�|j|j	d�WdQXWdQXdS)NcSs8ddl}t|�d�}d|_||jd<dS)Nrr�)r<�type�spamr)r<rrrrr(�s	z.ReloadTests.test_module_replaced.<locals>.coderr'rrV)
rr	r
rrrTr<rr
rX)rr(rr�reloadedZactualrrr�test_module_replaced�s
z ReloadTests.test_module_replacedc
Cs�tjd��rddl}|j}|`|jj|�}|j||�|jtjd|�|j	|jj
|j
�WdQXdS)Nr9r)rrSr9r;rrT�assertIsr<rr
r2)rr9rBrYrrr�test_reload_missing_loader�s	z&ReloadTests.test_reload_missing_loaderc
Cs�tjd��sddl}d|_|jj�|jj|�}|j|jd�|j||�|jt	j
d|�WdQXdS)Nr9r)rrSr9r;r�invalidate_cachesrT�assertIsNotr[r<r)rr9rYrrr�test_reload_loader_replaced�s	
z'ReloadTests.test_reload_loader_replacedcCs�d}tjd���}tjd��ktj|��U|jj�tjj	||d�}|jj
|�}i|d6dd6|d6|d6dd6}tj|�|jj|�}t
|�j�}|jd	�}|jd
�}	|jdd�|j|	j|�|j|	j|�|j|j|�|j||�|jj�tjj	||d�}
|jj
|
�}i|d6|d6|
d6|d6tjj|
�gd
6dd6}tj|�tj||
�|jj|�}t
|�j�}|jd	�}|jd
�}	|jdd�|j|	j|�|j|	j|�|j||�|j|j|
�d|_|j||�WdQXWdQXWdQXdS)NrXz.pyr��__package__�__file__�
__cached__r,r;�__spec__�__builtins__z__init__.py�__path__)r�temp_cwdrr8�
DirsOnSysPathrr]�osr2�join�cache_from_sourceZcreate_empty_filer�vars�copy�popr
rrB�dirname�mkdir�renamerTr[ZmaxDiff)rr�cwdr2�cached�expectedr�nsrB�spec�	init_pathrYrrr�test_reload_location_changed�sX







	z(ReloadTests.test_reload_location_changedc%Cs�d}tjd���}tjd���tj|���|jj�tjj	||d�}|jj
|�}i|d6|d6dd6}tj|�t|d��}|j
d�WdQX|jj|�}t|�j�}|jd�}	|jd	�}
|jd
�}|jdd�|j|j|�|j|jd�|j|	d�|jt|
�ttjj|�g��|jt��|	jWdQX|j||�|jj�tjj	||d�}|jj
|�}i|d6|d6|d
6|d6tjj|�gd	6dd6dd6}tj||�|jj|�}
t|
�j�}|jd�}	|jd
�}|jdd�|j|j|�|j|j|	�|j|
|�|j|	j|�|j||�WdQXWdQXWdQXdS)NrXz	__init.pyrrar,�wzeggs = Noner;rfrdrez__init__.pyrbrcZeggs)rrgrr8rhrr]rir2rjrkrp�open�writerrlrmrnr
rr[rBr^�setror!rGrqrT)rrrrZbad_pathrsrtZ	init_filerrurBr2rvrwrYrrr�test_reload_namespace_changeds`







z)ReloadTests.test_reload_namespace_changedcCs}d}d}tj|dd��V}tj|||�\}}|jj|�}|jj|�}|j||�WdQXdS)NrX�hamrT)rZtemp_moduleZ	submodulerrrTr[)rrZsubnameZpkg_dir�fullname�_r~rYrrr�test_reload_submoduleQsz!ReloadTests.test_reload_submoduleN)rr*r+r,rUrZr\r_rxr}r�rrrrrN�s38rNc@seZdZeZeZdS)�Frozen_ReloadTestsN)rr*r+r.r�frozen_utilrrrrrr�\sr�c@seZdZeZeZdS)�Source_ReloadTestsN)rr*r+r0r�source_utilrrrrrr�`sr�c@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__jszPInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.__init__cWsdS)Nr)r�argsrrrr3lszSInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.find_modulecSs
d|_dS)NT)r�)rrrrr]nszYInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.invalidate_cachesN)rr*r+r�r3r]rrrr�InvalidatingNullFinderisr�Zgobledeegookrcstjj��S)N)r<�path_importer_cache�__delitem__r)�keyrr�<lambda>usz9InvalidateCacheTests.test_method_called.<locals>.<lambda>cstjj��S)N)r<r�remover)�meta_insrrr�ws)	r<r�insert�
addCleanupr�rr]�
assertTruer�)rr�Zpath_insr)r�r�r�test_method_calledgs		

z'InvalidateCacheTests.test_method_calledcs=d�dtj�<|j�fdd��|jj�dS)NZ
gobbledeegookcstjj��S)N)r<r�r�r)r�rrr��sz:InvalidateCacheTests.test_method_lacking.<locals>.<lambda>)r<r�r�rr])rr)r�r�test_method_lacking|s
z(InvalidateCacheTests.test_method_lackingN)rr*r+r�r�rrrrr�esr�c@seZdZeZdS)�Frozen_InvalidateCacheTestsN)rr*r+r.rrrrrr��sr�c@seZdZeZdS)�Source_InvalidateCacheTestsN)rr*r+r0rrrrrr��sr�c@seZdZdd�ZdS)�FrozenImportlibTestscCs|jtjjjd�dS)N�FrozenImporter)ZassertNotEqualr0r;�	__class__r)rrrr�test_no_frozen_importlib�sz-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|��}|jt|d�dj	|��|j
jj|�r�|j
|jd�n+|j
jj|�r�|j
|jd�nWdQXqqWdS)Nrr;z!{!r} lacks a __loader__ attribute)r<r�items�
isinstancer9r:rRr��hasattrr�	machinery�BuiltinImporterr3r^r;r�)rrrrrr�test_everyone_has___loader__�sz)StartupTests.test_everyone_has___loader__cCs�x�tjj�D]�\}}t|tj�r|jd|��q|jt|d��|j	j
j|�r�|j|j
d�n+|j	jj|�r�|j|j
d�nWdQXqqWdS)Nrrd)r<rr�r�r9r:rRr�r�r�r�r3r^rdr�)rrrrrr�test_everyone_has___spec__�sz'StartupTests.test_everyone_has___spec__N)rr*r+r�r�rrrrr��sr�c@seZdZeZdS)�Frozen_StartupTestsN)rr*r+�frozen_machineryr�rrrrr��sr�c@seZdZeZdS)�Source_StartupTestsN)rr*r+�source_machineryr�rrrrr��sr��__main__)$r`rZimport_importlibr.r0r�r�r�r�Zos.pathrir<Ztestrr9Zunittestr=rZTestCaser-r/r1rLrMrNr�r�r�r�r�r�r�r�r�r�mainrrrr�<module>s6OI�