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_abc.cpython-34.pyo

�
g f��	@s�ddlZddlZddlZddlZddlZddlZddlmZddlZddl	Z	ddl	m
Z
ddlZddlm
Z
e
jd�\ZZe
jd�\ZZe
jd�Ze
jd	�\ZZGd
d�d�Zdd
�ZGdd�de�Zee�Ze\ZZGdd�de�Zee�Ze\ZZGdd�de�Zee�Ze\Z Z!Gdd�de�Z"ee"�Ze\Z#Z$Gdd�de�Z%ee%�Ze\Z&Z'Gdd�de�Z(ee(�Ze\Z)Z*Gdd�de�Z+ee+�Ze\Z,Z-dd�Z.dd�Z/Gd d�d�Ze.e�\Z0Z1Gd!d"�d"�Z2e/ee2�Ze\Z3Z4Gd#d�d�Ze.e�\Z5Z6Gd$d%�d%�Z7e/ee7�Ze\Z8Z9Gd&d'�d'�Z:e.e:�\Z;Z<Gd(d)�d)�Z=e/e:e=�Ze\Z>Z?Gd*d�de:�Ze.e�\Z@ZAGd+d,�d,�ZBe/eeB�Ze\ZCZDGd-d�de:�Z"e.e"�\ZEZFGd.d/�d/�ZGe/e"eG�Ze\ZHZIGd0d�de"�Z%e.e%�\ZJZKGd1d2�d2�ZLe/e%eG�Ze\ZMZNGd3d4�d4�ZOe
jPeOd5eefd6eef�\ZQZRGd7d8�d8�ZSe
jPeSd5eefd9ed6eef�\ZTZUGd:d;�d;�ZVe
jPeVd5eefd6eef�\ZWZXGd<d=�d=�ZYGd>d?�d?eYe	jZ�Z[Gd@dA�dAeYe	jZ�Z\GdBdC�dC�Z]GdDdE�dEe]e	jZ�Z^GdFdG�dGe]e	jZ�Z_GdHdI�dI�Z`GdJdK�dKe`e	jZ�ZaGdLdM�dMe`e	jZ�ZbGdNdO�dO�ZcGdPdQ�dQece	jZ�ZdGdRdS�dSece	jZ�ZeGdTd�d�Z+e.e+�\ZfZgGdUd�de+�Z+e.e+�\ZhZieeh_
eei_
eeh_jeei_jGdVdW�dW�ZkGdXdY�dYek�ZlGdZd[�d[ele	jZ�ZmGd\d]�d]ele	jZ�Zne	joejpd^�Gd_d`�d`ek��ZqGdadb�dbeqe	jZ�ZrGdcdd�ddeqe	jZ�ZsGdedf�df�ZtGdgdh�dhete	jZ�ZuGdidj�djete	jZ�Zvewdkkr�e	jx�ndS)l�N)�support)�mock�)�util�	importlibz
importlib.abczimportlib.machineryzimportlib.utilcsLeZdZdZgZgZ�fdd�Zdd�Zdd�Z�S)�InheritanceTestszSTest that the specified class is a subclass/superclass of the expected
    classes.cs�t�j||��fdd��jD��_t�d�rc�fdd��jD��_n�jjj	d�d}t
�j|��_dS)Ncs"g|]}t�j|��qS�)�getattr�abc)�.0�
class_name)�selfr�A/opt/alt/python34/lib64/python3.4/test/test_importlib/test_abc.py�
<listcomp>s	z-InheritanceTests.__init__.<locals>.<listcomp>�subclass_namescs%g|]}t�jj|��qSr)r	r
�	machinery)rr)r
rrr's	�_�)
�super�__init__�superclass_names�superclasses�hasattrr�
subclasses�	__class__�__name__�	partitionr	r
�_InheritanceTests__test)r
�args�kwargsZtesting)r)r
rrszInheritanceTests.__init__cCsCx<|jD]1}|jt||j�dj||j��q
WdS)Nz{0} is not a subclass of {1})r�
assertTrue�
issubclassr�format)r
�subclassrrr�test_subclasses-sz InheritanceTests.test_subclassescCsCx<|jD]1}|jt|j|�dj||j��q
WdS)Nz{0} is not a superclass of {1})rr r!rr")r
Z
superclassrrr�test_superclasses3sz"InheritanceTests.test_superclasses)	r�
__module__�__qualname__�__doc__rrrr$r%rr)rrrsrcCs�dd�}dd�}g}x`d|fd|fgD]F\}}|jtjdj||jg�|tjfd|��q7W|S)	NcSst|d<dS)Nr
)�
frozen_abc)�nsrrr�
set_frozen:sz,create_inheritance_tests.<locals>.set_frozencSst|d<dS)Nr
)�
source_abc)r*rrr�
set_source<sz,create_inheritance_tests.<locals>.set_source�Frozen�Sourcer�	exec_body)�append�types�	new_class�joinr�unittest�TestCase)�
base_classr+r-�classes�prefixZns_setrrr�create_inheritance_tests9s%!r:c@s+eZdZdgZddddgZdS)�MetaPathFinder�Finder�BuiltinImporter�FrozenImporter�
PathFinder�WindowsRegistryFinderN)rr&r'rrrrrrr;Gs		r;c@s"eZdZdgZdgZdS)�PathEntryFinderr<�
FileFinderN)rr&r'rrrrrrrAPs	rAc@seZdZdgZdS)�ResourceLoader�LoaderN)rr&r'rrrrrrCXsrCc@s(eZdZdgZdddgZdS)�
InspectLoaderrDr=r>�ExtensionFileLoaderN)rr&r'rrrrrrrE_s	rEc@s"eZdZdgZdgZdS)�ExecutionLoaderrErFN)rr&r'rrrrrrrGgs	rGc@s(eZdZddgZddgZdS)�
FileLoaderrCrG�SourceFileLoader�SourcelessFileLoaderN)rr&r'rrrrrrrHosrHc@s%eZdZddgZdgZdS)�SourceLoaderrCrGrIN)rr&r'rrrrrrrKwsrKcCs|g}xodtfdtfgD]U\}}dj||jg�}|t||j�f}|jtj||��qW|S)Nr.r/r)r)r,r4rr	r1r2r3)r7r8Zkindr
�nameZbase_classesrrr�make_abc_subclassess%rMcs�t|�\}}g}xrd|fd|fgD]X\}��fdd�}|jtjdj||jg�|tjfd|��q1W|S)Nr.r/cs��|d<dS)N�insr)r*)�
class_in_testrr�set_ns�sz'make_return_value_tests.<locals>.set_nsrr0)rMr1r2r3r4rr5r6)r7Z
test_classZfrozen_classZsource_class�testsr9rPr)rOr�make_return_value_tests�s%!rRcs"eZdZ�fdd�Z�S)r;cst�j||�S)N)r�find_module)r
�fullname�path)rrrrS�szMetaPathFinder.find_module)rr&r'rSrr)rrr;�sc@s(eZdZdd�Zdd�ZdS)�MetaPathFinderDefaultsTestscCs |j|jjdd��dS)N�	something)�assertIsNonerNrS)r
rrr�test_find_module�sz,MetaPathFinderDefaultsTests.test_find_modulecCs|jj�dS)N)rN�invalidate_caches)r
rrr�test_invalidate_caches�sz2MetaPathFinderDefaultsTests.test_invalidate_cachesN)rr&r'rYr[rrrrrV�srVcs"eZdZ�fdd�Z�S)rAcst�j|�S)N)r�find_loader)r
rT)rrrr\�szPathEntryFinder.find_loader)rr&r'r\rr)rrrA�sc@s4eZdZdd�Zdd�Zdd�ZdS)�PathEntryFinderDefaultsTestscCs&|jdgf|jjd��dS)NrW)�assertEqualrNr\)r
rrr�test_find_loader�sz-PathEntryFinderDefaultsTests.test_find_loadercCs |jd|jjd��dS)NrW)r^rNrS)r
rrrrS�sz(PathEntryFinderDefaultsTests.find_modulecCs|jj�dS)N)rNrZ)r
rrrr[�sz3PathEntryFinderDefaultsTests.test_invalidate_cachesN)rr&r'r_rSr[rrrrr]�sr]cs"eZdZ�fdd�Z�S)rDcst�j|�S)N)r�load_module)r
rT)rrrr`�szLoader.load_module)rr&r'r`rr)rrrD�srDc@s(eZdZdd�Zdd�ZdS)�LoaderDefaultsTestsc	Cs*|jt��|jjd�WdQXdS)NrW)�assertRaises�ImportErrorrNr`)r
rrr�test_load_module�sz$LoaderDefaultsTests.test_load_modulec	Csdtjd�}|jt��|jj|�WdQXt|�}|j|_|jt|��dS)N�blah)	r2�
ModuleTyperb�NotImplementedErrorrN�module_repr�repr�
__loader__r )r
�modZ
original_reprrrr�test_module_repr�sz$LoaderDefaultsTests.test_module_reprN)rr&r'rdrlrrrrra�sracs"eZdZ�fdd�Z�S)rCcst�j|�S)N)r�get_data)r
rU)rrrrm�szResourceLoader.get_data)rr&r'rmrr)rrrC�sc@seZdZdd�ZdS)�ResourceLoaderDefaultsTestsc	Cs*|jt��|jjd�WdQXdS)Nz
/some/path)rb�IOErrorrNrm)r
rrr�
test_get_data�sz)ResourceLoaderDefaultsTests.test_get_dataN)rr&r'rprrrrrn�srncs4eZdZ�fdd�Z�fdd�Z�S)rEcst�j|�S)N)r�
is_package)r
rT)rrrrq�szInspectLoader.is_packagecst�j|�S)N)r�
get_source)r
rT)rrrrr�szInspectLoader.get_source)rr&r'rqrrrr)rrrE�sc@s(eZdZdd�Zdd�ZdS)�InspectLoaderDefaultsTestsc	Cs*|jt��|jjd�WdQXdS)Nre)rbrcrNrq)r
rrr�test_is_packagesz*InspectLoaderDefaultsTests.test_is_packagec	Cs*|jt��|jjd�WdQXdS)Nre)rbrcrNrr)r
rrr�test_get_sourcesz*InspectLoaderDefaultsTests.test_get_sourceN)rr&r'rtrurrrrrssrscs"eZdZ�fdd�Z�S)rGcst�j|�S)N)r�get_filename)r
rT)rrrrvszExecutionLoader.get_filename)rr&r'rvrr)rrrGsc@seZdZdd�ZdS)�ExecutionLoaderDefaultsTestsc	Cs*|jt��|jjd�WdQXdS)Nre)rbrcrNrv)r
rrr�test_get_filenamesz.ExecutionLoaderDefaultsTests.test_get_filenameN)rr&r'rxrrrrrwsrwc@s:eZdZedd��Zdd�Zdd�ZdS)�MetaPathFinderFindModuleTestscs)G�fdd�d|jj�}|�S)Ncs%eZdZd�fdd�ZdS)z@MetaPathFinderFindModuleTests.finder.<locals>.MetaPathSpecFinderNcs||f|_�S)N)�
called_for)r
rTrU�target)�specrr�	find_spec)szJMetaPathFinderFindModuleTests.finder.<locals>.MetaPathSpecFinder.find_spec)rr&r'r}r)r|rr�MetaPathSpecFinder'sr~)r
r;)�clsr|r~r)r|r�finder%s"z$MetaPathFinderFindModuleTests.findercCsu|jd�}dddg}d}|j||�}|j|�|j||jd�|j||jd�dS)N�a�b�crerr)r�rSrXr^rz)r
r�rUrL�foundrrr�test_no_spec/s
z*MetaPathFinderFindModuleTests.test_no_speccCsVt�}|jjd|�}|j|�}|jdd�}|j||j�dS)Nre)�objectr�spec_from_loaderr�rS�assertIs�loader)r
r�r|r�r�rrr�	test_spec8s
	z'MetaPathFinderFindModuleTests.test_specN)rr&r'�classmethodr�r�r�rrrrry#s
	ryr
rc@sFeZdZedd��Zdd�Zdd�Zdd�Zd	S)
�PathEntryFinderFindLoaderTestscs)G�fdd�d|jj�}|�S)Ncs%eZdZd�fdd�ZdS)zBPathEntryFinderFindLoaderTests.finder.<locals>.PathEntrySpecFinderNcs
||_�S)N)rz)r
rTr{)r|rrr}Ms	zLPathEntryFinderFindLoaderTests.finder.<locals>.PathEntrySpecFinder.find_spec)rr&r'r}r)r|rr�PathEntrySpecFinderKsr�)r
rA)rr|r�r)r|rr�Is"z%PathEntryFinderFindLoaderTests.findercCs`|jd�}d}|j|�}|j|d�|jg|d�|j||j�dS)Nrerr)r�r\rXr^rz)r
r�rLr�rrrr�Ssz+PathEntryFinderFindLoaderTests.test_no_speccCsWt�}|jjd|�}|j|�}|jd�}|j|d|j�dS)Nrer)r�rr�r�r\r�r�)r
r�r|r�r�rrr�test_spec_with_loader[s
	z4PathEntryFinderFindLoaderTests.test_spec_with_loadercCst|jjdd�}dddg}||_|j|�}|jd�}|j|d�|j||d�dS)Nrer�r�r�rr)r�
ModuleSpec�submodule_search_locationsr�r\rXr^)r
r|�pathsr�r�rrr�test_spec_with_portionsbs	z6PathEntryFinderFindLoaderTests.test_spec_with_portionsN)rr&r'r�r�r�r�r�rrrrr�Gs
r�rc@s4eZdZdd�Zdd�Zdd�ZdS)�LoaderLoadModuleTestscCs#Gdd�d|jj�}|�S)Nc@s.eZdZdZdd�Zdd�ZdS)z0LoaderLoadModuleTests.loader.<locals>.SpecLoaderNcSs
||_dS)N)r�)r
�modulerrr�exec_moduleysz<LoaderLoadModuleTests.loader.<locals>.SpecLoader.exec_modulecSsdS)z.Force some non-default module state to be set.Tr)r
rTrrrrq|sz;LoaderLoadModuleTests.loader.<locals>.SpecLoader.is_package)rr&r'r�r�rqrrrr�
SpecLoaderwsr�)r
rD)r
r�rrrr�vs	zLoaderLoadModuleTests.loaderc
Cs�|j�}d}tj|��2|j|�|j}|jtj||�WdQX|j||j	�|j||j
j�|j||j�|j||j
j�|j
|j�|j
|j|j
j�dS)Nre)r�r�uncacher`r�r��sys�modulesr^rj�__spec__rrLZassertIsNotNone�__path__r�)r
r�rLr�rrr�
test_fresh�s
	z LoaderLoadModuleTests.test_freshcCs�d}|j�}tj|�}|jj||�|_||_tj|��V|tj	|<|j
|�|j}|j|tj	|�|j|tj	|�WdQXdS)Nre)
r�r2rfrr�r�rjr�r�r�r`r�r�)r
rLr�r�r�rrr�test_reload�s	

	z!LoaderLoadModuleTests.test_reloadN)rr&r'r�r�r�rrrrr�tsr�c@sOeZdZddd�Zdd�Zdd�Zdd	�Zd
d�ZdS)�InspectLoaderSourceToCodeTestsNcCs_tjd�}|j�}|dkr9|j|�}n|j||�}t||j�|S)z!Help with source_to_code() tests.reN)r2rf�InspectLoaderSubclass�source_to_code�exec�__dict__)r
�datarUr�r��coderrr�source_to_module�sz/InspectLoaderSourceToCodeTests.source_to_modulecCsBd}|j|�}|jt|d��|j|jd�dS)Nz	attr = 42�attr�*)r�r rr^r�)r
�sourcer�rrr�test_source_to_code_source�sz9InspectLoaderSourceToCodeTests.test_source_to_code_sourcecCsBd}|j|�}|jt|d��|j|jd�dS)Ns	attr = 42r�r�)r�r rr^r�)r
r�r�rrr�test_source_to_code_bytes�sz8InspectLoaderSourceToCodeTests.test_source_to_code_bytescCs;d}|j�}|jd|�}|j|j|�dS)Nzpath/to/somewhere�)r�r�r^�co_filename)r
rUr�r�rrr�test_source_to_code_path�sz7InspectLoaderSourceToCodeTests.test_source_to_code_pathcCs2|j�}|jd�}|j|jd�dS)Nr�z<string>)r�r�r^r�)r
r�r�rrr�test_source_to_code_no_path�sz:InspectLoaderSourceToCodeTests.test_source_to_code_no_path)rr&r'r�r�r�r�r�rrrrr��s
r�c@seZdZeZdS)�Frozen_ILSourceToCodeTestsN)rr&r'�	Frozen_ILr�rrrrr��sr�c@seZdZeZdS)�Source_ILSourceToCodeTestsN)rr&r'�	Source_ILr�rrrrr��sr�c@s4eZdZdd�Zdd�Zdd�ZdS)�InspectLoaderGetCodeTestsc	Cs{tjd�}tjj|jd��+}d|_|j�}|jd�}WdQXt||j	�|j
|jd�dS)Nrerrz	attr = 42r�)r2rfr�patchr�r��return_value�get_coder�r�r^r�)r
r��mockedr�r�rrr�
test_get_code�s	z'InspectLoaderGetCodeTests.test_get_codec	CsVtjj|jd��+}d|_|j�}|jd�}WdQX|j|�dS)Nrrre)rr�r�r�r�r�rX)r
r�r�r�rrr�test_get_code_source_is_None�s
	z6InspectLoaderGetCodeTests.test_get_code_source_is_Nonec	Cs3|j�}|jt��|jd�WdQXdS)Nre)r�rbrcr�)r
r�rrr�test_get_code_source_not_found�sz8InspectLoaderGetCodeTests.test_get_code_source_not_foundN)rr&r'r�r�r�rrrrr��s
r�c@seZdZeZdS)�Frozen_ILGetCodeTestsN)rr&r'r�r�rrrrr��sr�c@seZdZeZdS)�Source_ILGetCodeTestsN)rr&r'r�r�rrrrr��sr�c@sXeZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
S)�InspectLoaderLoadModuleTestsz!Test InspectLoader.load_module().recCs*tj|j�|jtj|j�dS)N)rZunload�module_nameZ
addCleanup)r
rrr�setUp�sz"InspectLoaderLoadModuleTests.setUpcCstjj|jd�S)Nr�)rr�r�r�)r
rrr�
mock_get_codesz*InspectLoaderLoadModuleTests.mock_get_codecCsw|j��e}t|_|jt��D|j�}tj��%tjdt�|j	|j
�WdQXWdQXWdQXdS)N�ignore)r�rc�side_effectrbr��warnings�catch_warnings�simplefilter�DeprecationWarningr`r�)r
�mocked_get_coder�rrr�test_get_code_ImportErrors	
z6InspectLoaderLoadModuleTests.test_get_code_ImportErrorcCsT|j��B}d|_|jt��!|j�}|j|j�WdQXWdQXdS)N)r�r�rbrcr�r`r�)r
r�r�rrr�test_get_code_Nones
	z/InspectLoaderLoadModuleTests.test_get_code_NonecCsltddd�}|j��H}||_|j�}|j|j�}|j|tj|j�WdQXdS)Nz	attr = 42z<string>r�)	�compiler�r�r�r`r�r^r�r�)r
r�r�r�r�rrr�test_module_returneds	z1InspectLoaderLoadModuleTests.test_module_returnedN)
rr&r'r(r�r�r�r�r�r�rrrrr��s
r�c@seZdZeZdS)�Frozen_ILLoadModuleTestsN)rr&r'r�r�rrrrr�"sr�c@seZdZeZdS)�Source_ILLoadModuleTestsN)rr&r'r�r�rrrrr�%sr�c@sXeZdZdddddd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�ExecutionLoaderGetCodeTestsrrFrvcCsXd\}}|r-tjj|jd�}n|rNtjj|jd�}n||fS)Nrrrv)NN)rr�r��ExecutionLoaderSubclass)r
rrrv�source_mock_context�filename_mock_contextrrr�mock_methods,sz(ExecutionLoaderGetCodeTests.mock_methodsc	Cs�d}|jdddd�\}}|�C}|�4}d|_||_|j�}|jd�}WdQXWdQX|j|j|�tjd�}t||j	�|j|j
d�dS)Nzblah.pyrrTrvz	attr = 42rer�)r�r�r�r�r^r�r2rfr�r�r�)	r
rUr�r��source_mock�	name_mockr�r�r�rrrr�6s			z)ExecutionLoaderGetCodeTests.test_get_codec	Cs\|jdd�\}}|�+}d|_|j�}|jd�}WdQX|j|�dS)NrrTre)r�r�r�r�rX)r
r�rr�r�r�rrrr�Ds		z8ExecutionLoaderGetCodeTests.test_get_code_source_is_Nonec	Cs3|j�}|jt��|jd�WdQXdS)Nre)r�rbrcr�)r
r�rrrr�Msz:ExecutionLoaderGetCodeTests.test_get_code_source_not_foundcCs�|jdddd�\}}|�C}|�4}d|_t|_|j�}|jd�}WdQXWdQX|j|jd�tj	d�}t
||j�|j|jd�dS)NrrTrvz	attr = 42rez<string>r�)
r�r�rcr�r�r�r^r�r2rfr�r�r�)r
r�r�r�r�r�r�r�rrr�test_get_code_no_pathSs			z1ExecutionLoaderGetCodeTests.test_get_code_no_pathN)rr&r'r�r�r�r�r�rrrrr�*s

	r�c@seZdZeZdS)�Frozen_ELGetCodeTestsN)rr&r'�	Frozen_ELr�rrrrr�csr�c@seZdZeZdS)�Source_ELGetCodeTestsN)rr&r'�	Source_ELr�rrrrr�fsr�c@sFeZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)rKsN_ = '::'.join([__name__, __file__, __cached__, __package__, repr(__loader__)])cCs
||_dS)N)rU)r
rUrrrrqszSourceLoader.__init__cCs||jkrt�n|jS)N)rUror�)r
rUrrrrmts	zSourceLoader.get_datacCs|jS)N)rU)r
rTrrrrvyszSourceLoader.get_filenamecCsdS)Nz<module>r)r
r�rrrrh|szSourceLoader.module_reprN)rr&r'r�rrmrvrhrrrrrKks
csUeZdZdZd�fdd�Z�fdd�Zdd�Zd	d
�Z�S)rKrNcs�t�j|�|jj|j�|_t|j�|_|dkrU|jj	}nt
|�}|j|jj
|j��|j|jj
|j��t|j|jddd�}|jtj|��t|�|_i|_dS)Nr��dont_inheritT)rrr�cache_from_sourcerU�
bytecode_path�lenr��source_size�MAGIC_NUMBER�	bytearray�extend�init�_w_long�source_mtimer��marshal�dumps�bytes�bytecode�written)r
rU�magicr��code_object)rrrr�s	zSourceLoader.__init__cs?||jkrt�j|�S||jkr5|jSt�dS)N)rUrrmr�r��OSError)r
rU)rrrrm�s
zSourceLoader.get_datacCs0||jkrt�ni|jd6|jd6S)N�mtime�size)rUror�r�)r
rUrrr�
path_stats�s	zSourceLoader.path_statscCs t|�|j|<||jkS)N)r�r�r�)r
rUr�rrr�set_data�szSourceLoader.set_data)rr&r'r�rrmr�r�rr)rrrK�s
c@s:eZdZdddd�Zdd�Zdd�Zd	S)
�SourceLoaderTestHarnessrqTcKs�d|_|r9tjj|jd�|_|j|_nKd}tjj|jdjddg��|_dj|j|g�|_|jj|j�|_|j|j|�|_	dS)NZpkgz__init__.pyrk�.�py)
�package�osrUr4rLrr��cached�loader_mockr�)r
rqrr�rrrr��s	*zSourceLoaderTestHarness.setUpcCs�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j	|j
�|jjd�}|j|d|j�|j|d|j�|j|d|j�|j|d|j�|j|dt
|j
��dS)Nz::rrr��)r^rrL�__file__rU�
__cached__r��__package__r�rjr�r�splitri)r
r��valuesrrr�
verify_module�sz%SourceLoaderTestHarness.verify_modulecCsltj|j�}|j|_|j|_|j|_|j	|_
g|_t||j
�|j|�dS)N)r2rfrLrUr�r�r�r�r�r�rjr�r�r�r�)r
r�r�rrr�verify_code�s	z#SourceLoaderTestHarness.verify_codeN)rr&r'r�r�rrrrrr��s
r�c@sjeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�SourceOnlyLoaderTestsz�Test importlib.abc.SourceLoader for source-only loading.

    Reload testing is subsumed by the tests for
    importlib.util.module_for_loader.

    c	Cs�|jjjd�}|j|jj|j�|�dd�}||j_|jt��}|jj|j�WdQX|j|j	j|j�dS)Nzutf-8cSs
t�dS)N)r�)rUrrr�
raise_OSError�sz<SourceOnlyLoaderTests.test_get_source.<locals>.raise_OSError)
r�r��decoder^rrrLrmrbrcZ	exception)r
Zexpected_sourcer�cmrrrru�sz%SourceOnlyLoaderTests.test_get_sourcecCs||jdd�|j|jj|j��|jdd�|j|jj|j��|j|jj|jd��dS)NrqFTz	.__init__)r��assertFalser�rqrLr )r
rrrrt�s
z%SourceOnlyLoaderTests.test_is_packagecCs&|jj|j�}|j|�dS)N)r�r�rLr)r
r�rrrr��sz#SourceOnlyLoaderTests.test_get_codecCs/|jj|jj|j�}|j|�dS)N)r�r�r�rUr)r
r�rrr�test_source_to_code�sz)SourceOnlyLoaderTests.test_source_to_codecCs�tj|j���tj��*tjdt�|jj|j�}WdQX|j	|�|j
|jtj
j|j
�g�|j|jtj�WdQXdS)Nr�)rr�rLr�r�r�r�r�r`r�r^r�r�rU�dirname�assertInr�r�)r
r�rrrrd�s

%z&SourceOnlyLoaderTests.test_load_modulecCs�|jdd�tj|j��`tj��*tjdt�|jj	|j�}WdQX|j
|�|jt|d��WdQXdS)NrqFr�r�)
r�rr�rLr�r�r�r�r�r`r�rr)r
r�rrr�test_package_settingss

z+SourceOnlyLoaderTests.test_package_settingscCs�d}|jd�|j_|jj|j�}|j||�d}|jd�|j_|jj|j�}|j||�dS)Nu_ = 'ü'zutf-8u# coding: latin-1
_ = üzlatin-1)�encoder�r�rrrLr^)r
r��returned_sourcerrr�test_get_source_encodingsz.SourceOnlyLoaderTests.test_get_source_encodingN)rr&r'r(rurtr�rrdr	rrrrrr�src@seZdZeZeZdS)�Frozen_SourceOnlyLTestsN)rr&r'�Frozen_SourceOnlyLr��frozen_utilrrrrrr
!sr
c@seZdZeZeZdS)�Source_SourceOnlyLTestsN)rr&r'�Source_SourceOnlyLr��source_utilrrrrrr%srzsys.dont_write_bytecode is truecs�eZdZdZdd�fdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Z�S)�SourceLoaderBytecodeTestszsTest importlib.abc.SourceLoader's use of bytecode.

    Source-only testing handled by SourceOnlyLoaderTests.

    �bytecode_writtenFcs�t�j|�|r�|j|j|jj�t|jj�}|j	|j
j|jj��|j	|j
j|jj
��|j	tj|��|j|jj|jt|��ndS)N)rrrr�r�r�r�rr�r�r�r�r�r�r�r�r^r�)r
r�rr�)rrrr3sz%SourceLoaderBytecodeTests.verify_codecCs&|jj|j�}|j|�dS)N)r�r�rLr)r
r�rrr�test_code_with_everything=sz3SourceLoaderBytecodeTests.test_code_with_everythingc
Cssd|j_|jt��*|jj|j�}|jj|�WdQX|jj|j	�}|j
|dd�dS)Nz<does not exist>rT)r�r�rbr�rr�rUrmr�rLr)r
r�r�rrr�test_no_bytecodeBsz*SourceLoaderBytecodeTests.test_no_bytecodecCs}xvdD]n}|jj}||j_|jjdd�|j_|jj|j�}|j|dd�||j_qWdS)Nrr�rT)rr)r�r�r�r�rLr)r
r�Zoriginalr�rrr�test_code_bad_timestampLs
z1SourceLoaderBytecodeTests.test_code_bad_timestampcCsX|jdd�|jjdd�|j_|jj|j�}|j|dd�dS)Nr�s0000rrT)r�r�r�r�rLr)r
r�rrr�test_code_bad_magicXsz-SourceLoaderBytecodeTests.test_code_bad_magiccCsXzGdt_d|j_|jj|j�}|j|j|jj�Wddt_XdS)NTz<does not exist>F)	r��dont_write_bytecoder�r�r�rLZassertNotInr�r�)r
r�rrr�test_dont_write_bytecode`s	z2SourceLoaderBytecodeTests.test_dont_write_bytecodecCs�|jdd�|jjj�dj}z<|jjj�d`|jj|j�}|j|�Wd||jjj�d_XdS)Nr�s0000r)r�r�r�mror�r�rLr)r
Zoriginal_set_datar�rrr�test_no_set_dataksz*SourceLoaderBytecodeTests.test_no_set_datacCsTdd�}|jdd�|t�|j_|jj|j�}|j|�dS)Ncs�fdd�}|S)Ncs
��dS)Nr)rr)�excrr�closureyszcSourceLoaderBytecodeTests.test_set_data_raises_exceptions.<locals>.raise_exception.<locals>.closurer)rrr)rr�raise_exceptionxszRSourceLoaderBytecodeTests.test_set_data_raises_exceptions.<locals>.raise_exceptionr�s0000)r�rgr�r�r�rLr)r
r r�rrr�test_set_data_raises_exceptionsvs
z9SourceLoaderBytecodeTests.test_set_data_raises_exceptions)rr&r'r(rrrrrrrr!rr)rrr*s

rc@s"eZdZeZeZeZdS)�Frozen_SLBytecodeTestsN)	rr&r'�	Frozen_SLr��frozen_initr�rrrrrrr"�sr"c@s"eZdZeZeZeZdS)�SourceSLBytecodeTestsN)	rr&r'�	Source_SLr��source_initr�rrrrrrr%�sr%c@s:eZdZdZdd�Zdd�Zdd�ZdS)	�SourceLoaderGetSourceTestsz2Tests for importlib.abc.SourceLoader.get_source().cCsPd}|jd�}d}|jd�|_|j|�}|j||�dS)Nrkzmod.fileux = "ü"zutf-8)�SourceOnlyLoaderMockr
r�rrr^)r
rLrr�rrrr�test_default_encoding�sz0SourceLoaderGetSourceTests.test_default_encodingcCsPd}|jd�}d}|jd�|_|j|�}|j||�dS)Nrkzmod.fileu# coding: Latin-1
x='ü'zlatin-1)r)r
r�rrr^)r
rLrr�rrrr�test_decoded_source�sz.SourceLoaderGetSourceTests.test_decoded_sourcecCsed}|jd�}d}|jd�|_tjdd�j|�}|j|j|�|�dS)Nrkzmod.filezx = 42
y = -13
zutf-8T)r)r
r��io�IncrementalNewlineDecoderrr^rr)r
rLrr�Zexpectrrr�test_universal_newlines�sz2SourceLoaderGetSourceTests.test_universal_newlinesN)rr&r'r(r*r+r.rrrrr(�s	
r(c@seZdZeZdS)� Frozen_SourceOnlyLGetSourceTestsN)rr&r'rr)rrrrr/�sr/c@seZdZeZdS)� Source_SourceOnlyLGetSourceTestsN)rr&r'rr)rrrrr0�sr0�__main__)y�
contextlib�inspectr,r�r�r�Ztestrr2r5rr�r�rZimport_importlibr$r'r)r,rrrrr:r;rQZ%Frozen_MetaPathFinderInheritanceTestsZ%Source_MetaPathFinderInheritanceTestsrAZ&Frozen_PathEntryFinderInheritanceTestsZ&Source_PathEntryFinderInheritanceTestsrCZ%Frozen_ResourceLoaderInheritanceTestsZ%Source_ResourceLoaderInheritanceTestsrEZ$Frozen_InspectLoaderInheritanceTestsZ$Source_InspectLoaderInheritanceTestsrGZ&Frozen_ExecutionLoaderInheritanceTestsZ&Source_ExecutionLoaderInheritanceTestsrHZ!Frozen_FileLoaderInheritanceTestsZ!Source_FileLoaderInheritanceTestsrKZ#Frozen_SourceLoaderInheritanceTestsZ#Source_SourceLoaderInheritanceTestsrMrRZ
Frozen_MPFZ
Source_MPFrVZFrozen_MPFDefaultTestsZSource_MPFDefaultTestsZ
Frozen_PEFZ
Source_PEFr]ZFrozen_PEFDefaultTestsZSource_PEFDefaultTestsrDZFrozen_LZSource_LraZFrozen_LDefaultTestsZSourceLDefaultTestsZ	Frozen_RLZ	Source_RLrnZFrozen_RLDefaultTestsZSource_RLDefaultTestsr�r�rsZFrozen_ILDefaultTestsZSource_ILDefaultTestsr�r�rwZFrozen_ELDefaultTestsZSource_ELDefaultsTestsryZ	test_bothZFrozen_MPFFindModuleTestsZSource_MPFFindModuleTestsr�ZFrozen_PEFFindLoaderTestsZSource_PEFFindLoaderTestsr�ZFrozen_LoaderLoadModuleTestsZSource_LoaderLoadModuleTestsr�r6r�r�r�r�r�r�r�r�r�r�r�rrr#r&r�r�rr
rZskipIfrrr"r%r(r/r0r�mainrrrr�<module>s�$
	%+*)9%				&LX!