Your IP : 216.73.216.213


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



��Yf�=�@s�yddlZWnek
r*dZYnXddlZddlZddlZddlZddlZddlZddlm	Z	ddl
Z
ddlZej��!ej
de�ddlZWdQRXdd�Ze
jedkd�Gdd�de
j��ZGd	d
�d
e
j�ZGdd�de
j�ZGd
d�de
j�ZGdd�de
j�Zedkr�e
j�dS)�N)�support�ignorecCs/tj|�}tjttd�d�|�S)zXDecorator to skip a test if not running under CPython or lacking
    imp.load_dynamic().�load_dynamiczimp.load_dynamic() required)rZcpython_only�unittest�skipIf�hasattr�imp)�meth�r
�2/opt/alt/python35/lib64/python3.5/test/test_imp.py�requires_load_dynamicsrz_thread module is requiredc@s.eZdZdZdd�Zdd�ZdS)�	LockTestsz)Very basic test of import lock functions.cCs!|jtj�|d|�dS)Nz!expected imp.lock_held() to be %r)�assertEqualr�	lock_held)�selfZexpectedr
r
r�verify_lock_state szLockTests.verify_lock_statecCs�d}tj�}|j|�x+t|�D]}tj�|jd�q,Wxt|�D]}tj�qZW|j|�|s�ytj�Wntk
r�YnX|jd�dS)N�2Tz5release_lock() without lock should raise RuntimeError)rrr�range�acquire_lock�release_lock�RuntimeErrorZfail)rZLOOPSZlock_held_at_start�ir
r
r�testLock#s



zLockTests.testLockN)�__name__�
__module__�__qualname__�__doc__rrr
r
r
rr
sr
c@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
edd��Zedd��Z
edd��Zedd��Zedd��Zejejd�dd��Zdd�Zd d!�Zd"S)#�ImportTestscCs+tjd�}|j|_|j|_dS)Nztest.encoded_modules)�	importlib�
import_module�test_strings�__path__�	test_path)r�modr
r
r�setUp?szImportTests.setUpcCsGx@|jD]5\}}}tjd|�}|j||j�q
WdS)Nztest.encoded_modules.module_)r rrr�test)r�modname�encodingZteststrr#r
r
r�test_import_encoded_moduleDs	
z&ImportTests.test_import_encoded_modulecCs�xT|jD]I\}}}tjd||j�d�}|j|j|�WdQRXq
Wtjjt	�g}|j
t��tjd|�WdQRXdS)N�module_r�badsyntax_pep3120)r r�find_moduler"rr'�os�path�dirname�__file__�assertRaises�SyntaxError)rr#r'�_�fdr-r
r
r�test_find_module_encodingJs z%ImportTests.test_find_module_encodingcCsx�|jD]�\}}}tjd||j�\}}}|�X|j|d�|j|j|�|j|j�d�|j|j�d|�WdQRXq
Wtjd�\}}}|�T|j|d�|j|jd�|j|j�d�|j|j�d�WdQRXdS)Nr)rz# test %s encoding
�tokenizezutf-8z*"""Tokenization help for Python programs.
)	r rr+r"ZassertNotEqualrr'�tell�readline)rr#r'r2�fp�filename�infor
r
r�test_issue1267Ss 
zImportTests.test_issue1267cCs�d}tjjdd�zct|dd��}|jd�WdQRXtj|�\}}}|j�|j|j	d�Wdtjd=t
j|d�t
j|d�XdS)	NZtest_imp_helperr�.z.py�wz%# coding: cp1252
u = 'test.test_imp'
�cp1252z.pyc)�sysr-�insert�open�writerr+�closerr'r�unlink)r�
temp_mod_name�filer9r:r
r
r�test_issue3594fs

zImportTests.test_issue3594c5Csetj�}dddddddddd	d
dddd
dddddi
}tjdkrv|j|d�d}n|j|�}|s�|jd|�|j|�}d|}d|}tjj	|d�}z2tjj
dtj�t|dd��}|j
d�WdQRXtj|�\}}	}
|��|j|�|j|	dd"�j|��|j|
dd�|j|
dd�|j|
dtj�tj|||	|
�}|j|jd�WdQRXtj��(tjd�tj||d�}WdQRX|j|jd�tj��:tjd�tjs`tj|tj|d��}WdQRX|j|jd�tjj|�s�tj|�t|d��}|j
d�WdQRXtj��$tjd�tj||�}WdQRX|j|j d�Wdtjd=x0d#D](}
t!j"||
�t!j"||
�qWt!j#|�t!j#d!�XdS)$Nzutf-8sä�cp1250s��cp1251s�r>�cp1253s��cp1254�cp1255s��cp1256�cp1257�cp1258�darwinsäz2can't run this test with %s as filesystem encodingZtest_imp_helper_Ztest_imp_helper_package_z__init__.pyr�.pyr=za = 1
���r�rzb = 2
�.pyc�__pycache__���)rQrV)$r?�getfilesystemencoding�platformr�get�skipTest�decoder,r-�joinr@�curdirrArBrr+ZassertIsNotNoneZ
assertTrue�endswithZ	PY_SOURCE�load_module�a�warnings�catch_warnings�simplefilter�load_source�dont_write_bytecodeZ
load_compiled�cache_from_source�exists�mkdirZload_package�brrDZrmtree)rZfs_encodingZ
known_localesZspecial_charZdecoded_charrEZtest_package_nameZinit_file_namerFr9r:r#�packageZextr
r
r�test_issue5604tsx		


 



	





zImportTests.test_issue5604cCs2tjjt�}|jttjd|g�dS)Nr*)r,r-r.r/r0r1rr+)rr-r
r
r�test_issue9319�s	zImportTests.test_issue9319c
Cs�tj}tj}tj��ptjd�}|j|dj�tj	d|�}|j
t|�|j
||j�|j||j�WdQRXdS)Nr,r)r,r-�getenvr�EnvironmentVarGuardrr+�
addCleanuprCra�assertIsZassertIsNot)rZ	orig_pathZorig_getenv�xZnew_osr
r
r�test_load_from_source�s			
z!ImportTests.test_load_from_sourcecCsdd}tj|�}|d}|dk	r;|j|j�tj||�}|j|j|�dS)N�_heapqr)rr+rqrCrarr)rZexamplersZfile_r#r
r
r�test_issue15828_load_extensions�s
z+ImportTests.test_issue15828_load_extensionsc
Cs�d}tj|�\}}}|j�tj||�}tjd|�}tjd|�}|j|j|�|j|jd�|j|jd�|jt��tjd|�WdQRXdS)N�_testimportmultipleZ_testimportmultiple_fooZ_testimportmultiple_barZnonexistent)rr+rCrrrr0�ImportError)r�mZfileobj�pathnameZdescriptionZmod0Zmod1Zmod2r
r
r�+test_issue16421_multiple_modules_in_one_dll�s
z7ImportTests.test_issue16421_multiple_modules_in_one_dllc
Csed}d}|jt��}tj||�WdQRX|j||jj�|j||jj�dS)Nzbogus file path�	extension)	r0rxrrZassertInZ	exceptionr-r�name)rr-r}�errr
r
r�"test_load_dynamic_ImportError_path�sz.ImportTests.test_load_dynamic_ImportError_pathcCsxd}tj|�}|ddk	r3|dj�|ddtjkrW|jd�tj|d|dd��dS)NrwrrUz/found module doesn't appear to be a C extensionrS)rr+rCZC_EXTENSIONr\ra)rr}�foundr
r
r�'test_load_module_extension_file_is_None
s
z3ImportTests.test_load_module_extension_file_is_NonecCsd}ytj|=Wntk
r(YnXz�tj|�}tjjd�}tj||j	�}|j
|j|�|j
|jj
|�|j
|jj	|j	�|jtt|d�|j
|jd�|jtj||�Wdytj|=Wntk
r
YnXXdS)Nztest.imp_dummyZ_testmultiphaseZ
dummy_namei�)r?�modules�KeyErrorrr�util�	find_specrr�originrr�__spec__r}r0�AttributeError�getattrZ	int_constrr)rr}�module�specr
r
r�3test_issue24748_load_module_skips_sys_modules_checks&

z?ImportTests.test_issue24748_load_module_skips_sys_modules_checkz*test meaningful only when writing bytecodec
CsTtj��Atjd}tj|�|jtdtjtjdg�WdQRXdS)Nz.pyz
^No moduler<)	rZtemp_cwdZTESTFNr,rj�assertRaisesRegexrxrr+)r�sourcer
r
r�test_bug7732.s



zImportTests.test_bug7732cCsEtjdtjttj��}|jtj�|jtj�dS)Nr)rZ_LoadSourceCompatibilityr/rA�get_data)r�loaderr
r
r�test_multiple_calls_to_get_data7sz+ImportTests.test_multiple_calls_to_get_datacCs2|jtd��tjttd�WdQRXdS)Nz
embedded null�)r��
ValueErrorrrfrr/)rr
r
r�test_load_source>szImportTests.test_load_sourceN)rrrr$r(r4r;rGrmrnrtrrvr{rr�r�rrr?rgr�r�r�r
r
r
rr>s"	W
rc@sFeZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�ReloadTestszPVery basic tests to make sure that imp.reload() operates just like
    reload().c	Cs1tj��ddl}tj|�WdQRXdS)Nr)rrpr,r�reload)rr,r
r
r�test_sourceHs
zReloadTests.test_sourcec	Cs4tjd��ddl}tj|�WdQRXdS)N�timer)r�CleanImportr�rr�)rr�r
r
r�test_extensionTszReloadTests.test_extensionc	Cs4tjd��ddl}tj|�WdQRXdS)N�marshalr)rr�r�rr�)rr�r
r
r�test_builtinYszReloadTests.test_builtinc	slddlm}tjjd���fdd�}|j|�|jtd��tj	|�WdQRXdS)Nr)�parser�htmlcs�tjd<dS)Nr�)r?r�r
)r�r
r�cleanupbsz5ReloadTests.test_with_deleted_parent.<locals>.cleanup)
r�r�r?r��poprqr�rxrr�)rr�r�r
)r�r�test_with_deleted_parent^s
z$ReloadTests.test_with_deleted_parentN)rrrrr�r�r�r�r
r
r
rr�Cs
r�c@sveZdZdZej�Zeje	j
jdk	d�dd��Zeje	j
jdk	d�dd��Z
dS)	�PEP3147TestszTests of PEP 3147.Nz1requires sys.implementation.cache_tag not be NonecCsetjjdddd�}tjjdddddj|j��}|jtj|d�|�dS)N�foo�bar�bazzqux.pyrWz
qux.{}.pycT)r,r-r^�format�tagrrrh)rr-�expectr
r
r�test_cache_from_sourcensz#PEP3147Tests.test_cache_from_sourcez4requires sys.implementation.cache_tag to not be NonecCsbtjjdddddj|j��}tjjdddd�}|jtj|�|�dS)Nr�r�r�rWz
qux.{}.pyczqux.py)r,r-r^r�r�rr�source_from_cache)rr-r�r
r
r�test_source_from_cachexsz#PEP3147Tests.test_source_from_cache)rrrrrZget_tagr�rZ
skipUnlessr?�implementation�	cache_tagr�r�r
r
r
rr�is	r�c@s7eZdZejejdkd�dd��ZdS)�NullImporterTestsNzNeed an undecodeable filenamecCsEtj}tj|�z|jttj|�Wdtj|�XdS)N)	r�TESTFN_UNENCODABLEr,rjr0rxrZNullImporter�rmdir)rr}r
r
r�test_unencodeable�s
	
z#NullImporterTests.test_unencodeable)rrrrrrr�r�r
r
r
rr��sr��__main__)�_threadrxr�importlib.utilr,Zos.pathZshutilr?r%rrrcrdre�PendingDeprecationWarningrrrZTestCaser
rr�r�r�r�mainr
r
r
r�<module>s2

""�&