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__/util.cpython-36.opt-2.pyc

3

��2a�0�@sddlZddlZddlZddlZddlZddlmZmZmZddlZddl	Zddl
mZddlZddl
Z
ddlZddlZej�Zde_de_de
jkr�de_de
jkr�de_ej�adt_dt_dt_dt_dt_dd�Ze�d	d
�Zd3dd�Zd4d
d�Zd5dd�ZdZ e
j!d6k�rBe"j#�Z$e$e"k�r0e"j%�Z$ejj&e$��sBdZ ed�dZ'e(ej)�e(e'j)�d�Z)dd�Z*d7dd�Z+ej,dd��Z-ej,d8dd�dd ��Z.ej,d!d"��Z/Gd#d$�d$�Z0Gd%d&�d&e0�Z1Gd'd(�d(e0�Z2d)d*�Z3d+d,�Z4ej,d-d.��Z5d/d0�Z6Gd1d2�d2�Z7dS)9�N)�	machinery�util�invalidate_caches)�support�errno�	importlibZ	_testcapicCsdx^tjD]T}xNtjD]D}tj|}tjj||�}tjj|�r|t_|t_	|t_
|t_dSqWqWdS)N)�sys�pathr�EXTENSION_SUFFIXES�
EXTENSIONS�name�os�join�exists�ext�filename�	file_path)r	rrr�r�)/opt/alt/python36/lib64/python3.6/util.py�_extension_detailss
rcCs4d|krdnf}tj|�}tj||dd�}||d�S)	N�.r�_frozen_importlib�_frozen_importlib_external)�freshZblocked)�Frozen�Source)r)rr)rZimport_fresh_module)Zmodule_namer�frozen�sourcerrr�import_importlib/s

rc
Ks�|dkrtj}nt|t�s"||}dj||j�}||f}tj||�}|j|_|j|_	||_
x(|j�D]\}}||}	t|||	�qdW|S)Nz{}_{})
�unittestZTestCase�
isinstance�type�format�__name__�types�	new_class�
__module__Z_NAMEZ_KIND�items�setattr)
�cls�kind�base�kwargsr�basesZspecialized�attr�values�valuerrr�specialize_class8s
r1cKs(t|d|f|�}t|d|f|�}||fS)Nrr)r1)r)r+r,rrrrr�split_frozenKsr2cKst||f|�S)N)r2)Z
test_classr+r,rrr�	test_bothQsr3T�win32�cygwinFr)rrcCstjtd�|�S)Nz&requires a case-insensitive filesystem)rZskipIf�CASE_INSENSITIVE_FS)�testrrr�case_insensitive_testsdsr8�c
CsBtjj||d�}t|d��}|j|�WdQRXdj||�|fS)Nz.py�wz{}.{})r
r	r�open�writer")�parentrZpkg_dir�contentr	Zsubfilerrr�	submoduleksr?cgs�xD|D]<}|dkr tdj|���ytj|=Wqtk
r@YqXqWz
dVWdx.|D]&}ytj|=WqXtk
r|YqXXqXWXdS)Nr�marshal�impzcannot uncache {0})rr@rA)�
ValueErrorr"r�modules�KeyError)�namesrrrr�uncachers



rF)�pkgc#s��fdd�tjD�}tjd���}t�f|����tj|��zt�tjj	|��}|rntjj	|d�}tj
��n|d}|dkr�d}|dk	r�t|d��}|j|�WdQRX|VWdQRXWdQRXWdQRXdS)Ncs"g|]}|jd�d�kr|�qS)rr)�	partition)�.0�n)rrr�
<listcomp>�sztemp_module.<locals>.<listcomp>z__init__.pyz.pyr9r:)
rrCrZtemp_cwdrFZ
DirsOnSysPathrr
r	r�mkdirr;r<)rr>rG�	conflicts�cwd�locationZmodpathZmodfiler)rr�temp_module�s rPcks�i}z�x^dgfdgfdgfdiffD]>\}}tt|�||<||krR||}||=n|}tt||�q$Wt|�r�tdj|j����dVWdx |j�D]\}}tt||�q�WXdS)N�	meta_pathr	�
path_hooks�path_importer_cachezunrecognized arguments: {0})�getattrrr(�lenrBr"�keysr')r,Z	originalsr.�defaultZ	new_valuer0rrr�import_state�s"

rXc@s2eZdZid�dd�Zdd�Zdd�Zdd	�Zd
S)�
_ImporterMock)�module_codecGs�i|_i|_x�|D]�}|jd�s&|}n|dtd��}d|krFd}n||kr`|jdd�d}n|}tj|�}||_d|_||_	||_
||kr�dg|_||j|<||kr|||j|<qWdS)Nz	.__init__r�rz<mock __file__>z<mock __path__>)rCrZ�endswithrU�rsplitr$�
ModuleType�
__loader__�__file__�__package__r.�__path__)�selfrZrEr�import_name�package�modulerrr�__init__�s*



z_ImporterMock.__init__cCs
|j|S)N)rC)rcrrrr�__getitem__�sz_ImporterMock.__getitem__cCst|jj��|_|jj�|S)N)rFrCrV�_uncache�	__enter__)rcrrrrj�s
z_ImporterMock.__enter__cGs|jjddd�dS)N)ri�__exit__)rc�exc_inforrrrk�sz_ImporterMock.__exit__N)r#r&�__qualname__rgrhrjrkrrrrrY�srYc@seZdZddd�Zdd�ZdS)�mock_modulesNcCs||jkrdS|SdS)N)rC)rc�fullnamer	rrr�find_module�s
zmock_modules.find_modulecCsh||jkrt�nT|j|tj|<||jkrZy|j|�Wntk
rXtj|=�YnX|j|SdS)N)rC�ImportErrorrrZ�	Exception)rcrorrr�load_module�s

zmock_modules.load_module)N)r#r&rmrprsrrrrrn�s
rnc@s&eZdZddd�Zdd�Zdd�ZdS)	�	mock_specNcCsDy|j|}Wntk
r"dSXtj||j|t|dd�d�}|S)Nrb)�loader�submodule_search_locations)rCrDr�spec_from_file_locationr`rT)rcror	r=rf�specrrr�	find_specszmock_spec.find_speccCs|j|jkrt�|j|jS)N)rrCrq)rcrxrrr�
create_moduleszmock_spec.create_modulecCs.y|j|jj�Wntk
r(YnXdS)N)rZ�__spec__rrD)rcrfrrr�exec_moduleszmock_spec.exec_module)NN)r#r&rmryrzr|rrrrrts

rtcs(tjrdd�Stj���fdd��}|S)Nc_sdS)Nr)�argsr,rrr�<lambda>"sz'writes_bytecode_files.<locals>.<lambda>cs(tj}dt_z�||�}Wd|t_X|S)NF)r�dont_write_bytecode)r}r,ZoriginalZ	to_return)�fxnrr�wrapper#sz&writes_bytecode_files.<locals>.wrapper)rr�	functools�wraps)r�r�r)r�r�writes_bytecode_filess	r�cCsLytjtjj|��Wn0tk
rF}z|jtjkr6�WYdd}~XnXdS)N)r
rLr	�dirname�OSErrorrZEEXIST)�
bytecode_path�errorrrr�ensure_bytecode_path/s
r�cgs�d}g}i}d}d}�z0tj�}||d<t�}x�|D]�}|jd�sH|}	n|dtd��}	|j|	�|	tjkrvtj|	=|jd�}
|}xB|
dd
�D]2}t	j
j||�}t	j
j|�s�t	j
|�|j|�q�Wt	j
j||
dd�}t|d��}
|
j|j|��WdQRX|j|�|||<q4Wt|�}|j�t|gd	�}|j�|VWd|dk	�r`|jddd�|dk	�rx|jddd�tj|�XdS)Nzattr = {0!r}z.rootrgz	.__init__rr[z.pyr:)r	���r�)�tempfileZmkdtemp�setr\rU�addrrC�splitr
r	rrrL�appendr;r<r"rFrjrXrkrZrmtree)rErZ
created_paths�mappingZ
state_managerZuncache_managerZtemp_dirZimport_namesrrdZ
name_partsrZ	directory�filerrr�create_modules;sL









r�cs��fdd�}|S)Ncs|�krt��S)N)rq)�entry)�entries�importerrr�hookwszmock_path_hook.<locals>.hookr)r�r�r�r)r�r�r�mock_path_hookusr�c@seZdZdd�ZdS)�CASEOKTestBasecs,d}t�fdd�|D��|kr(�jd�dS)N�PYTHONCASEOK�PYTHONCASEOKc3s|]}|�jjjjkVqdS)N)r�_bootstrap_external�_os�environ)rI�x)rcrr�	<genexpr>�sz4CASEOKTestBase.caseok_env_changed.<locals>.<genexpr>z/os.environ changes not reflected in _os.environ)r�r�)�anyZskipTest)rcZshould_existZ
possibilitiesr)rcr�caseok_env_changed�sz!CASEOKTestBase.caseok_env_changedN)r#r&rmr�rrrrr�~sr�)N)N)N)r4r5)r9)r9)8�builtins�
contextlibrr�rrrrr
Zos.pathr7rrrr�r$�SimpleNamespaceZBUILTINSZ	good_nameZbad_name�builtin_module_namesrr	rrrrrrr1r2r3r6�platformr`�upperZchanged_name�lowerrZsource_importlib�staticmethod�
__import__r8r?�contextmanagerrFrPrXrYrnrtr�r�r�r�r�rrrr�<module>sn


	




):