HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/test_importlib/__pycache__/test_abc.cpython-311.opt-2.pyc
�

��Vcٌ��r	�ddlZddlZddlZddlZddlmZddlmZddlZddl	Z	ddl	m
Z
ddlZddlm
Zejd��Zejd��Zejd��Zejd	��Z
Gd
�d��ZGd�d
e��Zejee���\ZZGd�de��Zejee���\ZZGd�de��Zejee���\ZZGd�de��Zejee���\ZZ Gd�de��Z!eje!e���\Z"Z#Gd�de��Z$eje$e���\Z%Z&Gd�de��Z'eje'e���\Z(Z)dZd�Z*Gd�d��Z+Gd�d
��ZGd �d!e+��Z,eje,��\Z-Z.Gd"�d��ZGd#�d$e+��Z/eje/��\Z0Z1Gd%�d&��Z2Gd'�d(e+��Z3eje3��\Z4Z5Gd)�de2��ZGd*�d+e+��Z6eje6��\Z7Z8Gd,�de2��Ze*e��Z9Gd-�d.e+��Z:eje:��\Z;Z<Gd/�de��Z!e*e!��Z=Gd0�d1e+��Z>eje:��\Z?Z@Gd2�d3��ZAGd4�d5e+��ZBejeB��\ZCZDGd6�d7��ZEejeEee
�8��\ZFZGGd9�d:��ZHejeHee
e�;��\ZIZJGd<�d=��ZKejeKee
�8��\ZLZMGd>�d?��ZNejeNe9�@��\ZOZPGdA�dB��ZQejeQe9�@��\ZRZSGdC�dD��ZTejeTe9ee
�E��\ZUZVGdF�dG��ZWejeWe=�H��\ZXZYGdI�dJ��ZZe*eZd��Z[GdK�deZ��Z'e*e'e
e�L��Z\GdM�dN��Z]GdO�dPe]��Z^eje^e
e[�Q��\Z_Z`e	jaejbdR��GdS�dTe]����Zcejecee
e\�U��\ZdZeGdV�dW��Zfejefe[�X��\ZgZheidYkre	jj��dSdS)[�N)�support)�
import_helper)�mock)�util�	importlibz
importlib.abczimportlib.machineryzimportlib.utilc�*�eZdZ	gZgZd�Zd�Zd�ZdS)�InheritanceTestsc������fd��jD���_t�d��r$�jj��fd��jD���_t�j�j���_	dS)Nc�:��g|]}t�j|����S�)�getattr�abc)�.0�
class_name�selfs  ��0D:\Python311\Lib\test\test_importlib\test_abc.py�
<listcomp>z*InheritanceTests.setUp.<locals>.<listcomp>s;���F�F�F�!+�%�T�X�z�:�:�F�F�F��subclass_namesc�0��g|]}t�|����Sr�r
)rr�	machinerys  �rrz*InheritanceTests.setUp.<locals>.<listcomp>'s9���F�F�F�#-� '�y�*�=�=�F�F�Fr)
�superclass_names�superclasses�hasattrrrr�
subclassesr
�_NAME�_InheritanceTests__test)rrs`@r�setUpzInheritanceTests.setUps�����F�F�F�F�/3�/D�F�F�F����4�)�*�*�	F���*�I�F�F�F�F�15�1D�F�F�F�D�O��d�h��
�3�3����rc��|jD]D}|�t||j��d�||j�����EdS)Nz{0} is not a subclass of {1})r�
assertTrue�
issubclassr�format)r�subclasss  r�test_subclassesz InheritanceTests.test_subclasses,sc����	N�	N�H��O�O�J�x���=�=�.�5�5�h���L�L�
N�
N�
N�
N�	N�	Nrc��|jD]D}|�t|j|��d�||j�����EdS)Nz{0} is not a superclass of {1})rr!r"rr#)r�
superclasss  r�test_superclassesz"InheritanceTests.test_superclasses2sd���+�	Q�	Q�J��O�O�J�t�{�J�?�?�/�6�6�z�4�;�O�O�
Q�
Q�
Q�
Q�	Q�	QrN)�__name__�
__module__�__qualname__rrrr%r(rrrr	r	sZ��������J��L�
4�
4�
4�N�N�N�Q�Q�Q�Q�Qrr	c��eZdZgZgd�ZdS)�MetaPathFinder)�BuiltinImporter�FrozenImporter�
PathFinder�WindowsRegistryFinderN�r)r*r+rrrrrr-r-9s%��������/�/�/�N�N�Nrr-)rc��eZdZgZdgZdS)�PathEntryFinder�
FileFinderNr2rrrr4r4Ds��������"�^�N�N�Nrr4c��eZdZdgZdS)�ResourceLoader�LoaderN)r)r*r+rrrrr7r7Ns������ �z���rr7c��eZdZdgZgd�ZdS)�
InspectLoaderr8)r.r/�ExtensionFileLoaderNr2rrrr:r:Ws!������ �z��Q�Q�Q�N�N�Nrr:c��eZdZdgZdgZdS)�ExecutionLoaderr:r;Nr2rrrr=r=as������'�(��+�,�N�N�Nrr=c��eZdZddgZddgZdS)�
FileLoaderr7r=�SourceFileLoader�SourcelessFileLoaderNr2rrrr?r?ks%������(�*;�<��(�*@�A�N�N�Nrr?c��eZdZddgZdgZdS)�SourceLoaderr7r=r@Nr2rrrrCrCus"������(�*;�<��(�)�N�N�NrrCFc������|j��fd�t���D��}�fd�tj||fi|��D��S)Nc�8��i|]\}}|t|�����Srr)r�kind�splitabc�names   �r�
<dictcomp>z'make_abc_subclasses.<locals>.<dictcomp>�s9���/�/�/���h�
�'�(�D�)�)�/�/�/rc�8��i|]}|j�r
|��n|��Sr)�_KIND)r�cls�insts  �rrIz'make_abc_subclasses.<locals>.<dictcomp>�sB���K�K�K��
�I��-�s�s�u�u�u�#�K�K�Kr)r)r�items�	test_util�split_frozen)�
base_classrHrM�kwargs�bases ``  r�make_abc_subclassesrT�s������#��"��/�/�/�/�"%�)�)�+�+�/�/�/�D�K�K�K�K� �-�j�$�I�I�&�I�I�K�K�K�Krc�$�eZdZed���ZdS)�ABCTestHarnessc�V�|j|j}|��}||j_|S�N)�SPLITrK�	__class__�ins)rrLr[s   rr[zABCTestHarness.ins�s,���j���$���c�e�e�� �����
rN)r)r*r+�propertyr[rrrrVrV�s-������
����X���rrVc���eZdZ�fd�Z�xZS)r-c�H��t���||��SrX)�super�find_module)r�fullname�pathrZs   �rr`zMetaPathFinder.find_module�s����w�w�"�"�8�T�2�2�2r)r)r*r+r`�
__classcell__�rZs@rr-r-�s8�������3�3�3�3�3�3�3�3�3rc�0�eZdZee��Zd�Zd�ZdS)�MetaPathFinderDefaultsTestsc���|�t��5|j�dd��}ddd��n#1swxYwY|�|��dS�N�	something)�assertWarns�DeprecationWarningr[r`�assertIsNone�r�founds  r�test_find_modulez,MetaPathFinderDefaultsTests.test_find_module�s���
�
�
�0�
1�
1�	<�	<��H�(�(��d�;�;�E�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<����%� � � � � s�A�A�
Ac�8�|j���dSrX�r[�invalidate_caches�rs r�test_invalidate_cachesz2MetaPathFinderDefaultsTests.test_invalidate_caches������"�"�$�$�$�$�$rN)r)r*r+rTr-rYrortrrrrfrf�sB���������/�/�E�!�!�!�%�%�%�%�%rrfc���eZdZ�fd�Z�xZS)r4c�F��t���|��SrX)r_�find_loader�rrarZs  �rrxzPathEntryFinder.find_loader������w�w�"�"�8�,�,�,r)r)r*r+rxrcrds@rr4r4��8�������-�-�-�-�-�-�-�-�-rc�6�eZdZee��Zd�Zd�Zd�ZdS)�PathEntryFinderDefaultsTestsc���|�t��5|j�d��}ddd��n#1swxYwY|�|dgf��dSrh)rjrkr[rx�assertEqualrms  r�test_find_loaderz-PathEntryFinderDefaultsTests.test_find_loader�s���
�
�
�0�
1�
1�	6�	6��H�(�(��5�5�E�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6������r�
�+�+�+�+�+s�A�A�	Ac�b�|�d|j�d����dSrh)rr[r`rss rr`z(PathEntryFinderDefaultsTests.find_module�s.������t�x�3�3�K�@�@�A�A�A�A�Arc�8�|j���dSrXrqrss rrtz3PathEntryFinderDefaultsTests.test_invalidate_caches�rurN)	r)r*r+rTr4rYr�r`rtrrrr}r}�sT���������0�0�E�,�,�,�
B�B�B�%�%�%�%�%rr}c���eZdZ�fd�Z�xZS)r8c�F��t���|��SrX)r_�load_modulerys  �rr�zLoader.load_module�rzr)r)r*r+r�rcrds@rr8r8�r{rr8c�6�eZdZee��Zd�Zd�Zd�ZdS)�LoaderDefaultsTestsc�d�d}|�|j�|����dS)Nza spec)rlr[�
create_module)r�specs  r�test_create_modulez&LoaderDefaultsTests.test_create_module�s1�������$�(�0�0��6�6�7�7�7�7�7rc��|�t��5|j�d��ddd��dS#1swxYwYdSrh)�assertRaises�ImportErrorr[r�rss r�test_load_modulez$LoaderDefaultsTests.test_load_module�s���
�
�
�{�
+�
+�	.�	.��H� � ��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.��A�A�
Ac���tjd��}tj��5tjdt
��|�t��5|j�	|��ddd��n#1swxYwYt|��}|j|_|�t|����ddd��dS#1swxYwYdS)N�blah�ignore)
�types�
ModuleType�warnings�catch_warnings�simplefilterrkr��NotImplementedErrorr[�module_repr�repr�
__loader__r!)r�mod�
original_reprs   r�test_module_reprz$LoaderDefaultsTests.test_module_repr�sE����v�&�&��
�
$�
&�
&�	'�	'��!�(�,>�?�?�?��"�"�#6�7�7�
*�
*���$�$�S�)�)�)�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*� ��I�I�M�!�X�C�N��O�O�D��I�I�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's6�5C�B�8C�B	�C�B	�AC�C� CN)	r)r*r+rTr8rYr�r�r�rrrr�r��sQ���������'�'�E�8�8�8�.�.�.�	'�	'�	'�	'�	'rr�c���eZdZ�fd�Z�xZS)r7c�F��t���|��SrX)r_�get_data�rrbrZs  �rr�zResourceLoader.get_data�s����w�w����%�%�%r)r)r*r+r�rcrds@rr7r7�s8�������&�&�&�&�&�&�&�&�&rc�*�eZdZee��Zd�ZdS)�ResourceLoaderDefaultsTestsc��|�t��5|j�d��ddd��dS#1swxYwYdS)Nz
/some/path)r��IOErrorr[r�rss r�
test_get_dataz)ResourceLoaderDefaultsTests.test_get_data�s���
�
�
�w�
'�
'�	,�	,��H���l�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,r�N)r)r*r+rTr7rYr�rrrr�r��s3���������/�/�E�,�,�,�,�,rr�c�(��eZdZ�fd�Z�fd�Z�xZS)r:c�F��t���|��SrX)r_�
is_packagerys  �rr�zInspectLoader.is_package�����w�w�!�!�(�+�+�+rc�F��t���|��SrX)r_�
get_sourcerys  �rr�zInspectLoader.get_sourcer�r)r)r*r+r�r�rcrds@rr:r:sQ�������,�,�,�,�,�,�,�,�,�,�,�,�,�,rc��eZdZeZd�Zd�ZdS)�InspectLoaderDefaultsTestsc��|�t��5|j�d��ddd��dS#1swxYwYdS�Nr�)r�r�r[r�rss r�test_is_packagez*InspectLoaderDefaultsTests.test_is_package���
�
�
�{�
+�
+�	(�	(��H����'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(r�c��|�t��5|j�d��ddd��dS#1swxYwYdSr�)r�r�r[r�rss r�test_get_sourcez*InspectLoaderDefaultsTests.test_get_sourcer�r�N)r)r*r+�SPLIT_ILrYr�r�rrrr�r�s7�������E�(�(�(�(�(�(�(�(rr�c���eZdZ�fd�Z�xZS)r=c�F��t���|��SrX)r_�get_filenamerys  �rr�zExecutionLoader.get_filename"s����w�w�#�#�H�-�-�-r)r)r*r+r�rcrds@rr=r= s8�������.�.�.�.�.�.�.�.�.rc��eZdZeZd�ZdS)�ExecutionLoaderDefaultsTestsc��|�t��5|j�d��ddd��dS#1swxYwYdSr�)r�r�r[r�rss r�test_get_filenamez.ExecutionLoaderDefaultsTests.test_get_filename-s���
�
�
�{�
+�
+�	*�	*��H�!�!�&�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*r�N)r)r*r+�SPLIT_ELrYr�rrrr�r�)s(�������E�*�*�*�*�*rr�c�<��eZdZ�fd�Z�fd�Z�fd�Z�fd�Z�xZS)�ResourceReaderc�6��t��j|i|��SrX)r_�
open_resource�r�argsrRrZs   �rr�zResourceReader.open_resource9����$�u�w�w�$�d�5�f�5�5�5rc�6��t��j|i|��SrX)r_�
resource_pathr�s   �rr�zResourceReader.resource_path<r�rc�6��t��j|i|��SrX)r_�is_resourcer�s   �rr�zResourceReader.is_resource?s���"�u�w�w�"�D�3�F�3�3�3rc�6��t��j|i|��SrX)r_�contentsr�s   �rr�zResourceReader.contentsBs����u�w�w���0��0�0�0r)r)r*r+r�r�r�r�rcrds@rr�r�7s��������6�6�6�6�6�6�6�6�6�6�4�4�4�4�4�1�1�1�1�1�1�1�1�1rr�c�<�eZdZee��Zd�Zd�Zd�Zd�Z	dS)�ResourceReaderDefaultsTestsc��|�t��5|j�d��ddd��dS#1swxYwYdS�N�
dummy_file)r��FileNotFoundErrorr[r�rss r�test_open_resourcez.ResourceReaderDefaultsTests.test_open_resourceJ���
�
�
�0�
1�
1�	1�	1��H�"�"�<�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1r�c��|�t��5|j�d��ddd��dS#1swxYwYdSr�)r�r�r[r�rss r�test_resource_pathz.ResourceReaderDefaultsTests.test_resource_pathNr�r�c��|�t��5|j�d��ddd��dS#1swxYwYdSr�)r�r�r[r�rss r�test_is_resourcez,ResourceReaderDefaultsTests.test_is_resourceRs���
�
�
�0�
1�
1�	/�	/��H� � ��.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/r�c��|�t��5|j���ddd��dS#1swxYwYdSrX)r�r�r[r�rss r�
test_contentsz)ResourceReaderDefaultsTests.test_contentsVs���
�
�
�0�
1�
1�	 �	 ��H������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�A�A�	AN)
r)r*r+rTr�rYr�r�r�r�rrrr�r�Fs`���������/�/�E�1�1�1�1�1�1�/�/�/� � � � � rr�c�<�eZdZed���Zd�Zd�Zd�Zd�ZdS)�MetaPathFinderFindModuleTestsc�L��G�fd�d|jj��}|��S)Nc���eZdZd�fd�	ZdS)�@MetaPathFinderFindModuleTests.finder.<locals>.MetaPathSpecFinderNc���||f|_�SrX��
called_for)rrarb�targetr�s    �r�	find_speczJMetaPathFinderFindModuleTests.finder.<locals>.MetaPathSpecFinder.find_specgs���"*�D�.����rrX�r)r*r+r��r�s�r�MetaPathSpecFinderr�e�3�������
�
�
�
�
�
�
�
rr�)rr-)rLr�r�s ` r�finderz$MetaPathFinderFindModuleTests.findercsM���	�	�	�	�	�	�	���!7�	�	�	�"�!�#�#�#rc��|�d��}gd�}d}|�t��5|�||��}ddd��n#1swxYwY|�|��dS)N��a�b�cr�)r�rjrkr`rl�rr�rbrHrns     rroz.MetaPathFinderFindModuleTests.test_find_modulems������T�"�"��������
�
�
�0�
1�
1�	3�	3��&�&�t�T�2�2�E�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3����%� � � � � s�A�A� Ac���t��}|j�d|��}|�|��}|�ddd��}|�||��dSr�)�objectr�spec_from_loaderr�r�r�r�loaderr�r�rns     r�#test_find_spec_with_explicit_targetzAMetaPathFinderFindModuleTests.test_find_spec_with_explicit_targetusf�������y�)�)�&�&�9�9�����T�"�"��� � ����6�6�������%�%�%�%�%rc��|�d��}gd�}d}|�||d��}|�|��|�||jd��|�||jd��dS)Nr�r�r�)r�r�rlrr�r�s     r�test_no_specz*MetaPathFinderFindModuleTests.test_no_spec|s������T�"�"��������� � ��t�T�2�2�����%� � � �����v�0��3�4�4�4�����v�0��3�4�4�4�4�4rc���t��}|j�d|��}|�|��}|�dd��}|�||��dSr�)r�rr�r�r��assertIsr�s     r�	test_specz'MetaPathFinderFindModuleTests.test_spec�sb�������y�)�)�&�&�9�9�����T�"�"��� � ���.�.���
�
�e�T�"�"�"�"�"rN)	r)r*r+�classmethodr�ror�r�r�rrrr�r�asi�������$�$��[�$�!�!�!�&�&�&�5�5�5�#�#�#�#�#rr�)rrc�6�eZdZed���Zd�Zd�Zd�ZdS)�PathEntryFinderFindLoaderTestsc�L��G�fd�d|jj��}|��S)Nc���eZdZd�fd�	ZdS)�BPathEntryFinderFindLoaderTests.finder.<locals>.PathEntrySpecFinderNc���||_�SrXr�)rrar�r�s   �rr�zLPathEntryFinderFindLoaderTests.finder.<locals>.PathEntrySpecFinder.find_spec�s���"*����rrXr�r�s�r�PathEntrySpecFinderr�r�rr)rr4)rLr�rs ` rr�z%PathEntryFinderFindLoaderTests.finder�sM���	�	�	�	�	�	�	�#�'�"9�	�	�	�#�"�$�$�$rc�f�|�d��}d}|�t��5|�|��}ddd��n#1swxYwY|�|d��|�g|d��|�||j��dS)Nr�rr�)r�rjrkrxrlrr�)rr�rHrns    rr�z+PathEntryFinderFindLoaderTests.test_no_spec�s������T�"�"����
�
�
�0�
1�
1�	-�	-��&�&�t�,�,�E�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-����%��(�#�#�#�����U�1�X�&�&�&�����v�0�1�1�1�1�1s�A�A�Ac�R�t��}|j�d|��}|�|��}|�t
��5|�d��}ddd��n#1swxYwY|�|d|j��dS)Nr�r)	r�rr�r�rjrkrxr�r�r�s     r�test_spec_with_loaderz4PathEntryFinderFindLoaderTests.test_spec_with_loader�s��������y�)�)�&�&�9�9�����T�"�"��
�
�
�0�
1�
1�	/�	/��&�&�v�.�.�E�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/��
�
�e�A�h���,�,�,�,�,s�A;�;A?�A?c�x�|j�dd��}gd�}||_|�|��}|�t
��5|�d��}ddd��n#1swxYwY|�|d��|�||d��dS)Nr�r�rr�)	r�
ModuleSpec�submodule_search_locationsr�rjrkrxrlr)rr��pathsr�rns     r�test_spec_with_portionsz6PathEntryFinderFindLoaderTests.test_spec_with_portions�s����~�(�(���6�6������*/��'����T�"�"��
�
�
�0�
1�
1�	/�	/��&�&�v�.�.�E�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/����%��(�#�#�#������a��)�)�)�)�)s�A8�8A<�?A<N)r)r*r+r�r�r�rrrrrr�r��sZ�������%�%��[�%�2�2�2�-�-�-�*�*�*�*�*rr�)rrrc� �eZdZd�Zd�Zd�ZdS)�LoaderLoadModuleTestsc�F�Gd�d|jj��}|��S)Nc��eZdZdZd�Zd�ZdS)�0LoaderLoadModuleTests.loader.<locals>.SpecLoaderNc��||_dSrX)rn�r�modules  r�exec_modulez<LoaderLoadModuleTests.loader.<locals>.SpecLoader.exec_module�s
��#��
�
�
rc��	dS)NTr�rras  rr�z;LoaderLoadModuleTests.loader.<locals>.SpecLoader.is_package�s
��D��tr)r)r*r+rnrr�rrr�
SpecLoaderr�s7�������E�
$�
$�
$�
�
�
�
�
rr)rr8)rrs  rr�zLoaderLoadModuleTests.loader�s>��	�	�	�	�	����	�	�	��z�|�|�rc��tj��5tjdt��|���}d}tj|��5|�|��|j}|�	tj||��ddd��n#1swxYwY|�||j
��|�||jj��|�||j��|�||jj��|�|j��|�|j|jj��ddd��dS#1swxYwYdS�Nr�r�)r�r�r�rkr�rO�uncacher�rnr��sys�modulesrr��__spec__r)rH�assertIsNotNone�__path__r	)rr�rHrs    r�
test_freshz LoaderLoadModuleTests.test_fresh�s���
�
$�
&�
&�	L�	L��!�(�,>�?�?�?��[�[�]�]�F��D��"�4�(�(�
9�
9��"�"�4�(�(�(�����
�
�c�k�$�/��8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�
���V�V�%6�7�7�7����V�V�_�%;�<�<�<����T�6�?�3�3�3����T�6�?�#7�8�8�8�� � ���1�1�1�� � ��� &�� J�
L�
L�
L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L����	L�	L�	L�	L�	L�	Ls8�AE5�AB(�E5�(B,	�,E5�/B,	�0B8E5�5E9�<E9c�z�tj��5tjdt��d}|���}tj|��}|j�||��|_	||_
tj|��5|tj|<|�|��|j}|�|tj|��|�|tj|��ddd��n#1swxYwYddd��dS#1swxYwYdSr)r�r�r�rkr�r�r�rr�rr�rOrrrr�rnr�)rrHr�rrns     r�test_reloadz!LoaderLoadModuleTests.test_reload�s���
�
$�
&�
&�	9�	9��!�(�,>�?�?�?��D��[�[�]�]�F��%�d�+�+�F�"�i�8�8��v�F�F�F�O� &�F���"�4�(�(�
9�
9�$*���D�!��"�"�4�(�(�(�����
�
�e�S�[��%6�7�7�7��
�
�f�c�k�$�&7�8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s7�BD0�A8D�D0�D	�D0�D	� D0�0D4�7D4N)r)r*r+r�r r"rrrr
r
�sD������
�
�
�L�L�L�"
9�
9�
9�
9�
9rr
c�.�eZdZdd�Zd�Zd�Zd�Zd�ZdS)�InspectLoaderSourceToCodeTestsNc���	tjd��}|���}|�|�|��}n|�||��}t	||j��|Sr�)r�r��InspectLoaderSubclass�source_to_code�exec�__dict__)r�datarbrr��codes      r�source_to_modulez/InspectLoaderSourceToCodeTests.source_to_module�so��/��!�&�)�)���+�+�-�-���	5��(�(��.�.�D�D��(�(��t�4�4�D��T�6�?�#�#�#��
rc��d}|�|��}|�t|d����|�|jd��dS)N�	attr = 42�attr�*�r,r!rrr/�r�sourcers   r�test_source_to_code_sourcez9InspectLoaderSourceToCodeTests.test_source_to_code_sourcesT�����&�&�v�.�.��������/�/�0�0�0������b�)�)�)�)�)rc��d}|�|��}|�t|d����|�|jd��dS)Ns	attr = 42r/r0r1r2s   r�test_source_to_code_bytesz8InspectLoaderSourceToCodeTests.test_source_to_code_bytessT�����&�&�v�.�.��������/�/�0�0�0������b�)�)�)�)�)rc��d}|���}|�d|��}|�|j|��dS)Nzpath/to/somewhere��r&r'r�co_filename)rrbr�r+s    r�test_source_to_code_pathz7InspectLoaderSourceToCodeTests.test_source_to_code_pathsL��"���+�+�-�-���$�$�R��.�.������)�4�0�0�0�0�0rc��|���}|�d��}|�|jd��dS)Nr8�<string>r9)rr�r+s   r�test_source_to_code_no_pathz:InspectLoaderSourceToCodeTests.test_source_to_code_no_pathsG���+�+�-�-���$�$�R�(�(������)�:�6�6�6�6�6rrX)r)r*r+r,r4r6r;r>rrrr$r$�sd������	�	�	�	�*�*�*�*�*�*�1�1�1�7�7�7�7�7rr$)r&c� �eZdZd�Zd�Zd�ZdS)�InspectLoaderGetCodeTestsc�h�tjd��}tj�|jd��5}d|_|���}|�d��}ddd��n#1swxYwYt||j	��|�
|jd��dS)Nr�r�r.r0)r�r�r�patchr�r&�return_value�get_coder(r)rr/)rr�mockedr�r+s     r�
test_get_codez'InspectLoaderGetCodeTests.test_get_code)s����!�&�)�)��
�Z�
�
�t�9�<�
H�
H�	+�F�"-�F���/�/�1�1�F��?�?�6�*�*�D�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	
�T�6�?�#�#�#������b�)�)�)�)�)s�1A7�7A;�>A;c�
�tj�|jd��5}d|_|���}|�d��}ddd��n#1swxYwY|�|��dS)Nr�r�)rrBr�r&rCrDrl)rrEr�r+s    r�test_get_code_source_is_Nonez6InspectLoaderGetCodeTests.test_get_code_source_is_None3s���
�Z�
�
�t�9�<�
H�
H�	+�F�"&�F���/�/�1�1�F��?�?�6�*�*�D�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	
���$�����s�1A#�#A'�*A'c��|���}|�t��5|�d��ddd��dS#1swxYwYdSr�)r&r�r�rD�rr�s  r�test_get_code_source_not_foundz8InspectLoaderGetCodeTests.test_get_code_source_not_found;s����+�+�-�-��
�
�
�{�
+�
+�	$�	$��O�O�F�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$��A�A�AN)r)r*r+rFrHrKrrrr@r@'sA������*�*�*� � � �$�$�$�$�$rr@c�8�eZdZ	dZd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�InspectLoaderLoadModuleTestsr�c��tj|j��|�tj|j��dSrX)r�unload�module_name�
addCleanuprss rrz"InspectLoaderLoadModuleTests.setUpNs6����T�-�.�.�.����
�,�d�.>�?�?�?�?�?rc��|j�|j|��}tj��5tjdt��|jj�	|��cddd��S#1swxYwYdS�Nr�)
rr�rQr�r�r�rk�init�
_bootstrap�_load_unlocked)rr�r�s   r�loadz!InspectLoaderLoadModuleTests.loadRs����y�)�)�$�*:�F�C�C��
�
$�
&�
&�	=�	=��!�(�,>�?�?�?��9�'�6�6�t�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=s�9A:�:A>�A>c�L�tj�|jd��S)NrD)rrBr�r&rss r�
mock_get_codez*InspectLoaderLoadModuleTests.mock_get_codeXs���z� � ��!;�Z�H�H�Hrc�.�|���5}t|_|�t��5|���}|�|��ddd��n#1swxYwYddd��dS#1swxYwYdSrX)rZr��side_effectr�r&rX�r�mocked_get_coder�s   r�test_get_code_ImportErrorz6InspectLoaderLoadModuleTests.test_get_code_ImportError[s	��
�
�
�
!�
!�	"�_�*5�O�'��"�"�;�/�/�
"�
"��3�3�5�5���	�	�&�!�!�!�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"����
"�
"�
"�
"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"s4�'B
�*A2�&B
�2A6	�6B
�9A6	�:B
�
B�Bc�$�|���5}d|_|�t��5|���}|�|��ddd��n#1swxYwYddd��dS#1swxYwYdSrX)rZrCr�r�r&rXr]s   r�test_get_code_Nonez/InspectLoaderLoadModuleTests.test_get_code_Nonecs	��
�
�
�
!�
!�	"�_�+/�O�(��"�"�;�/�/�
"�
"��3�3�5�5���	�	�&�!�!�!�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"����
"�
"�
"�
"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"s4�"B�*A-�!B�-A1	�1B�4A1	�5B�B	�B	c�8�tddd��}|���5}||_|���}|�|��}|�|tj|j��ddd��dS#1swxYwYdS)Nr.r=r()	�compilerZrCr&rXrrrrQ)rr+r^r�rs     r�test_module_returnedz1InspectLoaderLoadModuleTests.test_module_returnedks����{�J��7�7��
�
�
�
!�
!�	D�_�+/�O�(��/�/�1�1�F��Y�Y�v�&�&�F����V�S�[��1A�%B�C�C�C�		D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	D�	Ds�AB�B�BN)
r)r*r+rQrrXrZr_rardrrrrNrNHs�������+��K�@�@�@�=�=�=�I�I�I�"�"�"�"�"�"�D�D�D�D�DrrN)r&rUrc�4�eZdZddd�d�Zd�Zd�Zd�Zd�ZdS)	�ExecutionLoaderGetCodeTestsF�r�r�c��d\}}|r%tj�|jd��}|r%tj�|jd��}||fS)N)NNr�r�)rrBr��ExecutionLoaderSubclass)rr�r��source_mock_context�filename_mock_contexts     r�mock_methodsz(ExecutionLoaderGetCodeTests.mock_methods�sp��5?�2��2��	B�"&�*�"3�"3�D�4P�4@�#B�#B���	F�$(�J�$5�$5�d�6R�6D�%F�%F�!�"�$9�9�9rc���d}|�dd���\}}|5}|5}d|_||_|���}|�d��}ddd��n#1swxYwYddd��n#1swxYwY|�|j|��t
jd��}t||j	��|�|j
d��dS)Nzblah.pyTrgr.r�r0)rlrCrirDrr:r�r�r(r)r/)	rrbrjrk�source_mock�	name_mockr�r+rs	         rrFz)ExecutionLoaderGetCodeTests.test_get_code�sk����59�5F�5F��d�6G�64�64�2��2�
 �	+�K�1F�	+�)�'2�K�$�%)�I�"��1�1�3�3�F��?�?�6�*�*�D�		+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�
	
����)�4�0�0�0��!�&�)�)���T�6�?�#�#�#������b�)�)�)�)�)s4�A=�8A&�A=�&A*	�*A=�-A*	�.A=�=B�Bc��|�d���\}}|5}d|_|���}|�d��}ddd��n#1swxYwY|�|��dS)NT)r�r�)rlrCrirDrl)rrj�_rEr�r+s      rrHz8ExecutionLoaderGetCodeTests.test_get_code_source_is_None�s���!%�!2�!2�d�!2�!C�!C���Q�
 �	+�F�"&�F���1�1�3�3�F��?�?�6�*�*�D�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	
���$�����s�1A�A� Ac��|���}|�t��5|�d��ddd��dS#1swxYwYdSr�)rir�r�rDrJs  rrKz:ExecutionLoaderGetCodeTests.test_get_code_source_not_found�s����-�-�/�/��
�
�
�{�
+�
+�	$�	$��O�O�F�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$rLc���|�dd���\}}|5}|5}d|_t|_|���}|�d��}ddd��n#1swxYwYddd��n#1swxYwY|�|jd��tj	d��}t||j��|�|jd��dS)NTrgr.r�r=r0)
rlrCr�r\rirDrr:r�r�r(r)r/)rrjrkrnror�r+rs        r�test_get_code_no_pathz1ExecutionLoaderGetCodeTests.test_get_code_no_path�sh��6:�5F�5F��d�6G�64�64�2��2�
 �	+�K�1F�	+�)�'2�K�$�$/�I�!��1�1�3�3�F��?�?�6�*�*�D�		+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�
	
����)�:�6�6�6��!�&�)�)���T�6�?�#�#�#������b�)�)�)�)�)s4�B�=A)�B�)A-	�-B�0A-	�1B�B�BN)r)r*r+rlrFrHrKrtrrrrfrf~sn������).�U�:�:�:�:�:�*�*�*� � � �$�$�$�
*�
*�
*�
*�
*rrf)ric�*�eZdZdZd�Zd�Zd�Zd�ZdS)�SourceOnlyLoadersN_ = '::'.join([__name__, __file__, __cached__, __package__, repr(__loader__)])c��||_dSrX�rb�rrbs  r�__init__zSourceOnlyLoader.__init__�s
����	�	�	rc�4�||jkrt�|jSrX)rbr�r3rys  rr�zSourceOnlyLoader.get_data�s���4�9��	��M��{�rc��|jSrXrxrs  rr�zSourceOnlyLoader.get_filename�s
���y�rc��dS)Nz<module>rrs  rr�zSourceOnlyLoader.module_repr�s���zrN)r)r*r+r3rzr�r�r�rrrrvrv�sW������$�F�������
�������rrvc�:��eZdZdZd�fd�	Z�fd�Zd�Zd�Z�xZS)rCr�Nc����t���|��|j�|j��|_t
|j��|_|�|jj	}t|��}|�|j�
d����|�|j�
|j����|�|j�
|j����t|j|jdd���}|�t!j|����t%|��|_i|_dS)Nrr(T)�dont_inherit)r_rzr�cache_from_sourcerb�
bytecode_path�lenr3�source_size�MAGIC_NUMBER�	bytearray�extendrU�_pack_uint32�source_mtimerc�marshal�dumps�bytes�bytecode�written)rrb�magicr*�code_objectrZs     �rrzzSourceLoader.__init__�s'���
���������!�Y�8�8���C�C����t�{�+�+����	+��I�*�E���������D�I�*�*�1�-�-�.�.�.����D�I�*�*�4�+<�=�=�>�>�>����D�I�*�*�4�+;�<�<�=�=�=��d�k�4�9�f�-1�3�3�3�����G�M�+�.�.�/�/�/��d����
�����rc���||jkr!t���|��S||jkr|jSt
�rX)rbr_r�r�r��OSErrorr�s  �rr�zSourceLoader.get_data�sG����4�9��	��7�7�#�#�D�)�)�)�
�T�'�
'�	��=� ��Mrc�D�||jkrt�|j|jd�S)N)�mtime�size)rbr�r�r�rys  r�
path_statszSourceLoader.path_stats�s*���4�9��	��M��*�D�4D�E�E�Erc�F�t|��|j|<||jkSrX)r�r�r�)rrbr*s   r�set_datazSourceLoader.set_data�s"��"�4�[�[���T���t�)�)�)rrX)	r)r*r+r�rzr�r�r�rcrds@rrCrC�s|��������L������� �����F�F�F�
*�*�*�*�*�*�*r)rrUc�&�eZdZdd�d�Zd�Zd�ZdS)�SourceLoaderTestHarnessT�r�c���d|_|r7tj�|jd��|_|j|_nbd}tj�|jd�ddg����|_d�|j|g��|_|j�|j��|_|j|jfi|��|_	dS)N�pkgz__init__.pyr��.�py)
�package�osrb�joinrHrr��cached�loader_mockr�)rr�rRrQs    rrzSourceLoaderTestHarness.setUps�������	>�����T�\�=�A�A�D�I���D�I�I��K�����T�\�3�8�8�U�D�M�3J�3J�K�K�D�I����$�,��!<�=�=�D�I��i�1�1�$�)�<�<���&�d�&�t�y�;�;�F�;�;����rc���|�|j|j��|�|j|j��|�|j|j��|�|j|j��|�|j	|j
��|j�d��}|�|d|j��|�|d|j��|�|d|j��|�|d|j��|�|dt|j
����dS)Nz::rr����)rr)rH�__file__rb�
__cached__r��__package__r�r�r�rq�splitr�)rr�valuess   r�
verify_modulez%SourceLoaderTestHarness.verify_module
s4�������$�)�4�4�4������$�)�4�4�4�����*�D�K�8�8�8�����+�T�\�:�:�:�����*�D�K�8�8�8������%�%��������D�I�.�.�.�������D�I�.�.�.�������D�K�0�0�0�������D�L�1�1�1�������D���$5�$5�6�6�6�6�6rc��tj|j��}|j|_|j|_|j|_|j	|_
g|_t||j
��|�|��dSrX)r�r�rHrbr�r�r�r�r�r�r�rr(r)r�)rr�rs   r�verify_codez#SourceLoaderTestHarness.verify_codesn���!�$�)�,�,���)��� �K���!�\��� �K�������[�&�/�*�*�*����6�"�"�"�"�"rN)r)r*r+rr�r�rrrr�r��sN������"&�
<�
<�
<�
<�
<�7�7�7�#�#�#�#�#rr�c�:�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�SourceOnlyLoaderTestsc��|jj�d��}|�|j�|j��|��d�}||j_|�t��5}|j�|j��ddd��n#1swxYwY|�|j	j|j��dS)N�utf-8c��t�rX)r�rxs r�
raise_OSErrorz<SourceOnlyLoaderTests.test_get_source.<locals>.raise_OSError3s���Mr)
r�r3�decoderr�rHr�r�r��	exception)r�expected_sourcer��cms    rr�z%SourceOnlyLoaderTests.test_get_source.s����+�,�3�3�G�<�<�������/�/��	�:�:�O�L�L�L�	�	�	�,����
�
�
�{�
+�
+�	.�r��K�"�"�4�9�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.������*�D�I�6�6�6�6�6s�< B(�(B,�/B,c��|�d���|�|j�|j����|�d���|�|j�|j����|�|j�|jdz����dS)NFr�Tz	.__init__)r�assertFalser�r�rHr!rss rr�z%SourceOnlyLoaderTests.test_is_package:s����
�
�e�
�$�$�$������/�/��	�:�:�;�;�;��
�
�d�
�#�#�#������.�.�t�y�9�9�:�:�:������/�/��	�K�0G�H�H�I�I�I�I�Irc�n�|j�|j��}|�|��dSrX�r�rDrHr��rr�s  rrFz#SourceOnlyLoaderTests.test_get_codeB�3���k�*�*�4�9�5�5������%�%�%�%�%rc��|j�|jj|j��}|�|��dSrX)r�r'r3rbr�)rr+s  r�test_source_to_codez)SourceOnlyLoaderTests.test_source_to_codeGs:���{�)�)�$�+�*<�d�i�H�H����������rc��tj��5tjdt��t	j|j��5tj��5tjdt��|j�	|j��}ddd��n#1swxYwY|�
|��|�|jtj�|j��g��|�|jt"j��ddd��n#1swxYwYddd��dS#1swxYwYdSrT)r�r�r��
ImportWarningrOrrHrkr�r�r�rrr�rb�dirname�assertInrrrs  rr�z&SourceOnlyLoaderTests.test_load_moduleLs����
$�
&�
&�	6�	6��!�(�M�:�:�:��"�4�9�-�-�
6�
6��,�.�.�@�@��)�(�4F�G�G�G�!�[�4�4�T�Y�?�?�F�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@��"�"�6�*�*�*�� � ���2�7�?�?�4�9�3M�3M�2N�O�O�O��
�
�d�i���5�5�5�

6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6sZ�4E	�D1�:B"�D1�"B&�&D1�)B&�*A;D1�%E	�1D5	�5E	�8D5	�9E	�	E
�E
c�X�tj��5tjdt��|�d���tj|j��5tj��5tjdt��|j	�
|j��}ddd��n#1swxYwY|�|��|�t|d����ddd��n#1swxYwYddd��dS#1swxYwYdS)Nr�Fr�r)r�r�r�r�rrOrrHrkr�r�r�r�rrs  r�test_package_settingsz+SourceOnlyLoaderTests.test_package_settingsZs����
$�
&�
&�	>�	>��!�(�M�:�:�:��J�J�%�J�(�(�(��"�4�9�-�-�
>�
>��,�.�.�@�@��)�(�4F�G�G�G�!�[�4�4�T�Y�?�?�F�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@��"�"�6�*�*�*�� � ����!<�!<�=�=�=�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>����
>�
>�
>�
>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>sZ�A
D�D�2:B8�,D�8B<�<D�?B<�;D�;D�D	�D�D	�D�D#�&D#c�^�d}|�d��|j_|j�|j��}|�||��d}|�d��|j_|j�|j��}|�||��dS)Nu_ = 'ü'r�u# coding: latin-1
_ = ü�latin-1)�encoder�r3r�rHr)rr3�returned_sources   r�test_get_source_encodingz.SourceOnlyLoaderTests.test_get_source_encodinghs�����#�]�]�7�3�3�����+�0�0���;�;������&�1�1�1�,��#�]�]�9�5�5�����+�0�0���;�;������&�1�1�1�1�1rN)
r)r*r+r�r�rFr�r�r�r�rrrr�r�%s��������
7�
7�
7�J�J�J�&�&�&�
���
6�6�6�>�>�>�
2�
2�
2�
2�
2rr�)rr�zsys.dont_write_bytecode is truec�P��eZdZ	dd��fd�
Zd�Zd�Zd�Zd�Zd�Zd	�Z	d
�Z
�xZS)�SourceLoaderBytecodeTestsF��bytecode_writtenc����t���|��|�r:|�|j|jj��t
|jj��}|�	|j
�d����|�	|j
�|jj����|�	|j
�|jj
����|�	tj|����|�|jj|jt#|����dSdS)Nr)r_r�r�r�r�r�r�rr�r�rUr�r�r�r�r�rr�)rr�r�r*rZs    �rr�z%SourceLoaderBytecodeTests.verify_code�s���
�����K�(�(�(��	L��M�M�$�+�t�{�':�;�;�;��T�Y�3�4�4�D��K�K��	�.�.�q�1�1�2�2�2��K�K��	�.�.�t�{�/G�H�H�I�I�I��K�K��	�.�.�t�{�/F�G�G�H�H�H��K�K��
�k�2�2�3�3�3����T�[�0���=�u�T�{�{�K�K�K�K�K�	L�	Lrc�n�|j�|j��}|�|��dSrXr�r�s  r�test_code_with_everythingz3SourceLoaderBytecodeTests.test_code_with_everything�r�rc�`�d|j_|�t��5|j�|j��}|j�|��ddd��n#1swxYwY|j�|j	��}|�
|d���dS)N�<does not exist>Tr�)r�r�r�r�rr�rbr�rDrHr�)rr�r�s   r�test_no_bytecodez*SourceLoaderBytecodeTests.test_no_bytecode�s���$6���!�
�
�
�w�
'�
'�	0�	0� �I�7�7��	�B�B�M��K� � ��/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0��k�*�*�4�9�5�5������t��<�<�<�<�<s�:A-�-A1�4A1c��dD]z}|jj}||j_|jjdd�|j_|j�|j��}|�|d���||j_�{dS)N)rr��Tr�)r�r�r�rDrHr�)rr��originalr�s    r�test_code_bad_timestampz1SourceLoaderBytecodeTests.test_code_bad_timestamp�s���"�	0�	0�L��{�/�H�'3�D�K�$�#'�;�#7����#;�D�K� ��+�.�.�t�y�9�9�K����[�4��@�@�@�'/�D�K�$�$�	0�	0rc���|�d���|jjdd�|j_|j�|j��}|�|d���dS)N�0000�r�r�Tr�)rr�r�rDrHr�r�s  r�test_code_bad_magicz-SourceLoaderBytecodeTests.test_code_bad_magic�sd���
�
��
�!�!�!�#�{�3�A�B�B�7�����k�*�*�4�9�5�5������t��<�<�<�<�<rc��	dt_d|j_|j�|j��}|�|j|jj��dt_dS#dt_wxYw)NTr�F)	r�dont_write_bytecoder�r�rDrH�assertNotInr�r�r�s  r�test_dont_write_bytecodez2SourceLoaderBytecodeTests.test_dont_write_bytecode�so��	,�&*�C�#�(:�D�K�%��+�.�.�t�y�9�9�K����T�[�$�+�*=�>�>�>�&+�C�#�#�#��e�C�#�+�+�+�+s�AA,�,A:c���|�d���|jj���dj}	|jj���d`|j�|j��}|�|��||jj���d_dS#||jj���d_wxYw)Nr�r�r�)rr�rZ�mror�rDrHr�)r�original_set_datar�s   r�test_no_set_dataz*SourceLoaderBytecodeTests.test_no_set_data�s����
�
��
�!�!�!� �K�1�5�5�7�7��:�C��	H���%�)�)�+�+�A�.�7��+�.�.�t�y�9�9�K����[�)�)�)�6G�D�K�!�%�%�'�'��*�3�3�3��6G�D�K�!�%�%�'�'��*�3�G�G�G�Gs
�AC�+C/c���d�}|�d���|t��|j_|j�|j��}|�|��dS)Nc����fd�}|S)Nc�����rXr)r�rR�excs  �r�closurezcSourceLoaderBytecodeTests.test_set_data_raises_exceptions.<locals>.raise_exception.<locals>.closure�s����	rr)r�r�s` r�raise_exceptionzRSourceLoaderBytecodeTests.test_set_data_raises_exceptions.<locals>.raise_exception�s!���
�
�
�
�
��Nrr�r�)rr�r�r�rDrHr�)rr�r�s   r�test_set_data_raises_exceptionsz9SourceLoaderBytecodeTests.test_set_data_raises_exceptions�sm��	�	�	�
	
�
�
��
�!�!�!�.��/B�C�C�����k�*�*�4�9�5�5������%�%�%�%�%r)r)r*r+r�r�r�r�r�r�r�r�rcrds@rr�r�{s���������<A�	L�	L�	L�	L�	L�	L�	L�&�&�&�
=�=�=�
0�
0�
0�=�=�=�	,�	,�	,�	H�	H�	H�
&�
&�
&�
&�
&�
&�
&rr�)rUrr�c�"�eZdZ	d�Zd�Zd�ZdS)�SourceLoaderGetSourceTestsc��d}|�d��}d}|�d��|_|j|��}|�||��dS)Nr��mod.fileux = "ü"r���SourceOnlyLoaderMockr�r3r�r�rrHrr3r�s     r�test_default_encodingz0SourceLoaderGetSourceTests.test_default_encoding�s_�����(�(��4�4�����m�m�G�,�,���)�$�/�$�/�/������&�1�1�1�1�1rc��d}|�d��}d}|�d��|_|j|��}|�||��dS)Nr�r�u# coding: Latin-1
x='ü'r�r�r�s     r�test_decoded_sourcez.SourceLoaderGetSourceTests.test_decoded_source�s_�����(�(��4�4��,���m�m�I�.�.���)�$�/�$�/�/������&�1�1�1�1�1rc��d}|�d��}d}|�d��|_tjdd���|��}|�|j|��|��dS)Nr�r�zx = 42
y = -13
r�T)r�r�r3�io�IncrementalNewlineDecoderr�rr�)rrHrr3�expects     r�test_universal_newlinesz2SourceLoaderGetSourceTests.test_universal_newlines�sz�����(�(��4�4��(���m�m�G�,�,����-�d�D�9�9�@�@��H�H���������.�.��7�7�7�7�7rN)r)r*r+r�r�r�rrrr�r��sD������<�2�2�2�2�2�2�8�8�8�8�8rr�)r��__main__)NF)kr�r�r�r�testr�test.supportrr��unittestrr��test.test_importlibrrO�import_importlibrUrrr	r-�	test_both�%Frozen_MetaPathFinderInheritanceTests�%Source_MetaPathFinderInheritanceTestsr4�&Frozen_PathEntryFinderInheritanceTests�&Source_PathEntryFinderInheritanceTestsr7�%Frozen_ResourceLoaderInheritanceTests�%Source_ResourceLoaderInheritanceTestsr:�$Frozen_InspectLoaderInheritanceTests�$Source_InspectLoaderInheritanceTestsr=�&Frozen_ExecutionLoaderInheritanceTests�&Source_ExecutionLoaderInheritanceTestsr?�!Frozen_FileLoaderInheritanceTests�!Source_FileLoaderInheritanceTestsrC�#Frozen_SourceLoaderInheritanceTests�#Source_SourceLoaderInheritanceTestsrTrVrf�Frozen_MPFDefaultTests�Source_MPFDefaultTestsr}�Frozen_PEFDefaultTests�Source_PEFDefaultTestsr8r��Frozen_LDefaultTests�SourceLDefaultTestsr��Frozen_RLDefaultTests�Source_RLDefaultTestsr�r��Frozen_ILDefaultTests�Source_ILDefaultTestsr�r��Frozen_ELDefaultTests�Source_ELDefaultsTestsr�r��Frozen_RRDefaultTests�Source_RRDefaultsTestsr��Frozen_MPFFindModuleTests�Source_MPFFindModuleTestsr��Frozen_PEFFindLoaderTests�Source_PEFFindLoaderTestsr
�Frozen_LoaderLoadModuleTests�Source_LoaderLoadModuleTestsr$�Frozen_ILSourceToCodeTests�Source_ILSourceToCodeTestsr@�Frozen_ILGetCodeTests�Source_ILGetCodeTestsrN�Frozen_ILLoadModuleTests�Source_ILLoadModuleTestsrf�Frozen_ELGetCodeTests�Source_ELGetCodeTestsrv�	SPLIT_SOL�SPLIT_SLr�r��Frozen_SourceOnlyLoaderTests�Source_SourceOnlyLoaderTests�skipIfr�r��Frozen_SLBytecodeTests�SourceSLBytecodeTestsr��%Frozen_SourceOnlyLoaderGetSourceTests�%Source_SourceOnlyLoaderGetSourceTestsr)�mainrrr�<module>r9s��	�	�	�	�����	�	�	�	�
�
�
�
�������&�&�&�&�&�&�������������������1�1�1�1�1�1�!�y�!�+�.�.�� �i� ��1�1��&�I�&�'<�=�=�	�!�y�!�"2�3�3��!Q�!Q�!Q�!Q�!Q�!Q�!Q�!Q�H/�/�/�/�/�%�/�/�/��Y���S�1�1�1��&�&�$�$�$�$�$�&�$�$�$��Y���c�2�2�2��'�'�"�"�"�"�"�%�"�"�"��Y���S�1�1�1��&�&�R�R�R�R�R�$�R�R�R��Y���C�0�0�0��%�%�-�-�-�-�-�&�-�-�-��Y���c�2�2�2��'�'�B�B�B�B�B�!�B�B�B��Y����-�-�-��"�"�*�*�*�*�*�#�*�*�*��Y���3�/�/�/��$�$�K�K�K�K���������3�3�3�3�3�3�3�3�%�%�%�%�%�.�%�%�%�"�Y��4�5�5����-�-�-�-�-�-�-�-�%�%�%�%�%�>�%�%�%�&�Y��5�6�6����-�-�-�-�-�-�-�-�'�'�'�'�'�.�'�'�'�4�Y��,�-�-����&�&�&�&�&�V�&�&�&�,�,�,�,�,�.�,�,�,��Y��4�5�5����,�,�,�,�,�F�,�,�,���}�-�-��
(�
(�
(�
(�
(��
(�
(�
(��Y��3�4�4����.�.�.�.�.�m�.�.�.����/�/��*�*�*�*�*�>�*�*�*��Y��3�4�4����1�1�1�1�1�1�1�1� � � � � �.� � � �.�Y��4�5�5����
)#�)#�)#�)#�)#�)#�)#�)#�\�Y��6�C�d�K�K�K����
%*�%*�%*�%*�%*�%*�%*�%*�T�Y��7�S�t�#,�.�.�.����,9�,9�,9�,9�,9�,9�,9�,9�b�Y��.�C�d�C�C�C����
'7�'7�'7�'7�'7�'7�'7�'7�X�Y��7�/7�9�9�9����
$�$�$�$�$�$�$�$�:�Y��2�/7�9�9�9����
*D�*D�*D�*D�*D�*D�*D�*D�^�Y��5�/7�"�"�$�$�$����6*�6*�6*�6*�6*�6*�6*�6*�v�Y��4�19�;�;�;������������*
 �� 0�.�A�A�	�#*�#*�#*�#*�#*�#�#*�#*�#*�L��|�$�T�B�B�B��##�##�##�##�##�##�##�##�LM2�M2�M2�M2�M2�3�M2�M2�M2�d�Y��.�T�%.�0�0�0����
����(�*K�L�L�V&�V&�V&�V&�V&� 7�V&�V&�M�L�V&�v�Y��2��D�%-�/�/�/����
8�8�8�8�8�8�8�8�F�Y��3�.7�9�9�9��&�&�
�z����H�M�O�O�O�O�O��r