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.opt-2.pyc



���]wE�@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@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ImportModuleTestscCs_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�-/opt/alt/python35/lib64/python3.5/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)rrr�module_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(�coder rr)r'rr�test_loaded_onceMsz"ImportModuleTests.test_loaded_onceN)
r�
__module__�__qualname__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	r5r6r7r8r9r r#�
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�AttributeErrorr9r r#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@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ReloadTestscCshxadD]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
rOr9r rrS)rr*rr�reloaded�actualrrr�test_module_replaced�s
z ReloadTests.test_module_replacedc
Cs�tjd��rddl}|j}|`|jj|�}|j||�|jtjd|�|j	|jj
|j
�WdQRXdS)Nr6r)rrNr6r8rrO�assertIsr9r rr/)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�assertIsNotrWr9r )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__�__doc__r8�__spec__�__builtins__z__init__.py�__path__)r�temp_cwdr	r5�
DirsOnSysPathrrY�osr/�joinr�cache_from_sourceZcreate_empty_filer
�vars�copy�poprrr?�dirname�mkdir�renamerOrWZmaxDiff)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 = Noner8rcrarbz__init__.pyr^r_Zeggs)rrdr	r5rerrYrfr/rgrrhrm�open�writer
rirjrkrrrWr?rZ�setrlr#rDrnrO)rrroZbad_pathrprqZ	init_filerrrr?r/rsrtrTrrr�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
rOrW)rrZsubnameZpkg_dir�fullname�_r{rTrrr�test_reload_submoduleOsz!ReloadTests.test_reload_submoduleN)
rr,r-rPrVrXr[rurzr~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�)rrrrrYhszYInvalidateCacheTests.test_method_called.<locals>.InvalidatingNullFinder.invalidate_cachesN)rr,r-r�r0rYrrrr�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rY�
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rY)rr)r�r�test_method_lackingvs
z(InvalidateCacheTests.test_method_lackingN)rr,r-r�r�rrrrr_src@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�BuiltinImporterr0rZr8r�)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)Nrra)r9r r�r�r6r7rMr�r�r�r�r0rZrar�)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.pathrfr9Ztestrr6Zunittestr:rZ	test_bothZFrozen_ImportModuleTestsZSource_ImportModuleTestsr.ZFrozen_FindLoaderTestsZSource_FindLoaderTestsrIZFrozen_ReloadTestsZSource_ReloadTestsrZFrozen_InvalidateCacheTestsZSource_InvalidateCacheTestsZTestCaser�r�ZFrozen_StartupTestsZSource_StartupTestsr�mainrrrr�<module>s,RL�!!