Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/test/test_importlib/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/test_importlib/__pycache__/util.cpython-39.opt-2.pyc

a

XC?h-H�@s�ddlZddlZddlZddlZddlZddlZddlmZmZmZddl	m
Z
ddlZddlZddl
Z
ddlZ
ddlmZmZddlmZddlZddlZddlZddlZddlmZddlmZe��Zde_de_d	ejvr�d	e_d
ejvr�d
e_e��a dt _!dt _"dt _#dt _$dt _%dd
�Z&e&�dd�Z'dDdd�Z(dEdd�Z)dFdd�Z*dZ+ej,dv�r�e-�.�Z/e/e-k�r|e-�0�Z/e
j!�1e/��s�dZ+e'd
�dZ2e3ej4�e3e2j4�d�Z4dd�Z5dGdd�Z6d d!�Z7ej8d"d#��Z9ej8dHdd$�d%d&��Z:ej8d'd(��Z;Gd)d*�d*�Z<Gd+d,�d,e<�Z=Gd-d.�d.e<�Z>d/d0�Z?d1d2�Z@ej8d3d4��ZAej8d5d6��ZBd7d8�ZCGd9d:�d:�ZDdId<d=�ZEGd>d?�d?ejF�ZGGd@dA�dA�ZHGdBdC�dCeH�ZIdS)J�N)�	machinery�util�invalidate_caches)�ResourceReader)�Path�PurePath)�support�)�data01)�	zipdata01�errno�	importlibZ	_testcapicCs`tjD]T}tjD]H}tj|}tj�||�}tj�|�r|t_|t_	|t_
|t_dSqqdS�N)�sys�pathr�EXTENSION_SUFFIXES�
EXTENSIONS�name�os�join�exists�ext�filename�	file_path)rrrr�r�=/opt/alt/python39/lib64/python3.9/test/test_importlib/util.py�_extension_details's


rcCs4d|vrdnd}t�|�}tj||dd�}||d�S)N�.)r
r)�_frozen_importlib�_frozen_importlib_external)�freshZblocked��Frozen�Source)rZimport_fresh_module)Zmodule_namer �frozen�sourcerrr�import_importlib7s
�r&c
Ks�|durtj}nt|t�s"||}d�||j�}||f}t�||�}|j|_|j|_	||_
|��D]\}}||}	t|||	�qb|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_class@s
r9cKs0t|d|fi|��}t|d|fi|��}||fS)Nr"r#)r9)r1r3r4r$r%rrr�split_frozenSsr:cKst||fi|��Sr)r:)Z
test_classr3r4rrr�	test_bothYsr;T)Zwin32�cygwinFr#r!cCst�td�|�S)Nz&requires a case-insensitive filesystem)r'�skipIf�CASE_INSENSITIVE_FS)�testrrr�case_insensitive_testsls
��r@�cCsVtj�||d�}t|d��}|�|�Wd�n1s<0Yd�||�|fS)N�.py�wz{}.{})rrr�open�writer*)�parentrZpkg_dir�contentrZsubfilerrr�	submoduless(rHcCsBt|d��$}|�d�t�|�Wd�S1s40YdS)N�rb�)rD�seek�marshal�load)Zpyc_pathZpyc_frrr�get_code_from_pyczs
rNcgs�|D]:}|dvrtd�|���ztj|=Wqty<Yq0qz4dVW|D]$}ztj|=WqNtypYqN0qNn,|D]$}ztj|=Wqzty�Yqz0qz0dS)N)rrLZimpzcannot uncache {0})�
ValueErrorr*r�modules�KeyError)�namesrrrr�uncache�s*�
�rS)�pkgc#s&�fdd�tjD�}t�d���}t�g|�R���t�|���t�tj�	|��}|rptj�	|d�}t�
��n|d}|dur�d}|dur�t|d��}|�|�Wd�n1s�0Y|VWd�n1s�0YWd�n1s�0YWd�n1�s0YdS)Ncs"g|]}|�d�d�kr|�qS)rr)�	partition)�.0�n�rrr�
<listcomp>��ztemp_module.<locals>.<listcomp>z__init__.pyrBrArC)
rrPrZtemp_cwdrSZ
DirsOnSysPathrrrr�mkdirrDrE)rrGrTZ	conflicts�cwd�location�modpathZmodfilerrXr�temp_module�s (r_cks�i}z�dgfdgfdgfdiffD]>\}}tt|�||<||vrP||}||=n|}tt||�q"t|�r|td�|�����dVW|��D]\}}tt||�q�n |��D]\}}tt||�q�0dS)N�	meta_pathr�
path_hooks�path_importer_cachezunrecognized arguments: {0})�getattrrr0�lenrOr*�keysr/)r4Z	originalsr6�defaultZ	new_valuer8rrr�import_state�s*
���rgc@s2eZdZid�dd�Zdd�Zdd�Zdd	�Zd
S)�
_ImporterMock)�module_codecGs�i|_i|_|D]�}|�d�s$|}n|dtd��}d|vrDd}n||kr^|�dd�d}n|}t�|�}||_d|_||_	||_
||kr�dg|_||j|<||vr|||j|<qdS)N�	.__init__rr	rz<mock __file__>z<mock __path__>)rPri�endswithrd�rsplitr,�
ModuleType�
__loader__�__file__�__package__r6�__path__)�selfrirRr�import_name�package�modulerrr�__init__�s*


z_ImporterMock.__init__cCs
|j|Sr�rP)rrrrrr�__getitem__�sz_ImporterMock.__getitem__cCst|j���|_|j��|Sr)rSrPre�_uncache�	__enter__�rrrrrrz�s
z_ImporterMock.__enter__cGs|j�ddd�dSr)ry�__exit__)rr�exc_inforrrr|�sz_ImporterMock.__exit__N)r+r.�__qualname__rvrxrzr|rrrrrh�srhc@seZdZddd�Zdd�ZdS)�mock_modulesNcCs||jvrdS|SdSrrw)rr�fullnamerrrr�find_modules
zmock_modules.find_modulecCsf||jvrt�nR|j|tj|<||jvrXz|j|�WntyVtj|=�Yn0|j|SdSr)rP�ImportErrorrri�	Exception)rrr�rrr�load_modules

zmock_modules.load_module)N)r+r.r~r�r�rrrrr�s
rc@s&eZdZddd�Zdd�Zdd�ZdS)	�	mock_specNcCsDz|j|}Wnty"YdS0tj||j|t|dd�d�}|S)Nrq)�loader�submodule_search_locations)rPrQr�spec_from_file_locationrorc)rrr�rrFru�specrrr�	find_specs
�zmock_spec.find_speccCs|j|jvrt�|j|jSr)rrPr�)rrr�rrr�
create_module$szmock_spec.create_modulecCs,z|j|jj�Wnty&Yn0dSr)ri�__spec__rrQ�rrrurrr�exec_module)szmock_spec.exec_module)NN)r+r.r~r�r�r�rrrrr�s

r�cs(tjrdd�St����fdd��}|S)Nc_sdSrr)�argsr4rrr�<lambda>4rZz'writes_bytecode_files.<locals>.<lambda>cs2tj}dt_z�|i|��}W|t_n|t_0|S)NF)r�dont_write_bytecode)r�r4ZoriginalZ	to_return��fxnrr�wrapper5sz&writes_bytecode_files.<locals>.wrapper)rr��	functools�wraps)r�r�rr�r�writes_bytecode_files0s
r�c
CsNzt�tj�|��Wn2tyH}z|jtjkr4�WYd}~n
d}~00dSr)rr[r�dirname�OSErrorrZEEXIST)�
bytecode_path�errorrrr�ensure_bytecode_pathAs
r�ccs*tj}|t_zdVW|t_n|t_0dSr)r�pycache_prefix)�prefixZ_orig_prefixrrr�temporary_pycache_prefixMs
r�cgs�d}g}i}d}d}�zxt��}||d<t�}|D]�}|�d�sF|}	n|dtd��}	|�|	�|	tjvrttj|	=|�d�}
|}|
dd�D]2}t	j
�||�}t	j
�|�s�t	�
|�|�|�q�t	j
�||
dd�}t|d�� }
|
�|�|��Wd�n1�s
0Y|�|�|||<q2t|�}|��t|gd	�}|��|VW|du�rl|�ddd�|du�r�|�ddd�t�|�n<|du�r�|�ddd�|du�r�|�ddd�t�|�0dS)
Nzattr = {0!r}z.rootrvrjr���rBrC�r)�tempfileZmkdtemp�setrkrd�addrrP�splitrrrrr[�appendrDrEr*rSrzrgr|rZrmtree)rRr%Z
created_paths�mappingZ
state_managerZuncache_managerZtemp_dirZimport_namesrrsZ
name_partsrZ	directory�filerrr�create_modulesXsV




0



�

r�cs��fdd�}|S)Ncs|�vrt��Sr)r�)�entry��entries�importerrr�hook�szmock_path_hook.<locals>.hookr)r�r�r�rr�r�mock_path_hook�sr�c@seZdZdd�ZdS)�CASEOKTestBasecs,d}t�fdd�|D��|kr(��d�dS)N)sPYTHONCASEOK�PYTHONCASEOKc3s|]}|�jjjjvVqdSr)r
�_bootstrap_external�_os�environ)rV�xr{rr�	<genexpr>�s�z4CASEOKTestBase.caseok_env_changed.<locals>.<genexpr>z/os.environ changes not reflected in _os.environ)�anyZskipTest)rrZshould_existZ
possibilitiesrr{r�caseok_env_changed�s��z!CASEOKTestBase.caseok_env_changedN)r+r.r~r�rrrrr��sr�rc	sNG���fdd�dt�}d}t�|�}|�}tj||d|d�}||_||_|S)NcsHeZdZdd�Z�fdd�Z�fdd�Z��fdd�Z��fd	d
�ZdS)zcreate_package.<locals>.ReadercSs|Srr�rrrtrrr�get_resource_reader�sz2create_package.<locals>.Reader.get_resource_readercs||_t�t�r��n�SdSr��_pathr(r��rrr)r�rr�
open_resource�s
z,create_package.<locals>.Reader.open_resourcecs||_t�t�r��n�SdSrr�)rr�path_r�rr�
resource_path�s
z,create_package.<locals>.Reader.resource_pathcsJ||_t�t�r���D],}|�d�}t|�dkr|d|krdSqdS)N�/r	rTF)r�r(r�r�rd)rrr�r��parts��contentsrrr�is_resource�s

z*create_package.<locals>.Reader.is_resourcec3s"t�t�r���D]
}|VqdSr)r(r�)rrr�r�rrr��s
z'create_package.<locals>.Reader.contentsN)r+r.r~r�r�r�r�r�r�r�r�rrr�Reader�s

r�Ztestingpackagezdoes-not-exist)�origin�
is_package)rr,rmr�
ModuleSpecr�rn)	r�rr�r�r�rrur�r�rr�r�create_package�s#
�r�c@s�eZdZejdd��Zdd�Zdd�Zdd�Ze	�
ejd	kd
�dd��Z
d
d�Zdd�Zdd�Zdd�Zdd�Ze	�
ejdkd�dd��Ze	�
ejdkd�dd��Zdd�ZdS) �CommonResourceTestscCst�dSr)�NotImplementedError)rrrtrrrr�execute�szCommonResourceTests.executecCs|�tjd�dS�N�
utf-8.file)r�r
r+r{rrr�test_package_name�sz%CommonResourceTests.test_package_namecCs|�td�dSr��r�r
r{rrr�test_package_object�sz'CommonResourceTests.test_package_objectcCsd}|�t|�dSr�r�r�rrr�test_string_path�sz$CommonResourceTests.test_string_path)��zrequires os.PathLike supportcCstd�}|�t|�dSr�)rr�r
r�rrr�test_pathlib_path�sz%CommonResourceTests.test_pathlib_pathcCsLtt�}|jd}|�t��|�t|�Wd�n1s>0YdSr�)rrorF�assertRaisesrOr�r
)rrr�	full_pathrrr�test_absolute_path�s
z&CommonResourceTests.test_absolute_pathcCs:|�t��|�td�Wd�n1s,0YdS)Nz../data01/utf-8.file)r�rOr�r
r{rrr�test_relative_path�sz&CommonResourceTests.test_relative_pathcCstjtj=|�tjd�dSr�)rrPr
r+r�r{rrr�$test_importing_module_as_side_effect�s
z8CommonResourceTests.test_importing_module_as_side_effectcCs:|�t��|�td�Wd�n1s,0YdSr�)r��	TypeErrorr�r+r{rrr�test_non_package_by_name�sz,CommonResourceTests.test_non_package_by_namecCsD|�t��&tjd}|�|d�Wd�n1s60YdS)Nztest.test_importlib.utilr�)r�r�rrPr�r�rrr�test_non_package_by_packages
z/CommonResourceTests.test_non_package_by_package)r�zNo ResourceReader in Python 2cCs8t�d�}t|t�d�}|�|d�|�|jjd�dS�Ns
Hello, world!�r�rr�)�io�BytesIOr��FileNotFoundErrorr��assertEqualrnr�)rr�
bytes_datartrrr�test_resource_opener
s
z(CommonResourceTests.test_resource_openercCs:t�d�}t}t||d�}|�|d�|�|jjd�dSr�)r�r�ror�r�r�rnr�)rrr�rrtrrr�test_resource_paths

z&CommonResourceTests.test_resource_pathcCsJtt�t�d�}|�t��|�|d�Wd�n1s<0YdS)Nr�r�)r�r�r�r�r�rrr�test_useless_loaders
�z'CommonResourceTests.test_useless_loaderN)r+r.r~�abc�abstractmethodr�r�r�r�r'r=r�version_infor�r�r�r�r�r�r�r�r�rrrrr��s"



r�c@s0eZdZdZedd��Zedd��Zdd�ZdS)�ZipSetupBaseNcCs>t|jj�}|j}t|d�|_tj�|j�t	�
d�|_dS)Nzziptestdata.zipZziptestdata)r�
ZIP_MODULErorF�str�	_zip_pathrrr�r
�
import_module�data)r1Z	data_pathZdata_dirrrr�
setUpClass#s
zZipSetupBase.setUpClasscCsxztj�|j�Wnty$Yn0ztj|j=tj|jj=Wnt	yRYn0z|`|`Wnt
yrYn0dSr)rr�remover�rOrbrPr�r+rQ�AttributeError)r1rrr�
tearDownClass+s
zZipSetupBase.tearDownClasscCs t��}|jtjg|�R�dSr)rZ
modules_setupZ
addCleanupZmodules_cleanup)rrrPrrr�setUp>szZipSetupBase.setUp)r+r.r~r��classmethodr�r�r�rrrrr� s

r�c@seZdZeZdS)�ZipSetupN)r+r.r~rr�rrrrr�Csr�)N)N)N)rA)rA)Tr)Jr��builtins�
contextlibrr�r
rrr�
importlib.abcrr�rLrZos.path�pathlibrrr?rr'rr�r,rAr
r�SimpleNamespaceZBUILTINSZ	good_nameZbad_name�builtin_module_namesrrrrrrrr&r9r:r;r>�platformro�upperZchanged_name�lowerrZsource_importlib�staticmethod�
__import__r@rHrN�contextmanagerrSr_rgrhrr�r�r�r�r�r�r�r��ABCr�r�r�rrrr�<module>s�


	



�



)


9		
2J#