HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //proc/self/root/opt/alt/python312/lib64/python3.12/test/__pycache__/test_pkgutil.cpython-312.pyc
�

�h�epY���ddlmZddlmZmZddlmZmZddlZddl	Z	ddl
Z
ddlmZddl
Z
ddlZddlZddlZddlZddlZGd�dej&�ZGd�d	ej&�ZGd
�dej&�ZGd�d
ej&�ZGd�dej&�Zd�Zedk(rej6�yy)�)�Path)�unload�CleanImport)�check_warnings�ignore_warningsN)�spec_from_file_locationc�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�PkgutilTestsc���tj�|_|jtj
|j�tjjd|j�y�Nr)	�tempfile�mkdtemp�dirname�
addCleanup�shutil�rmtree�sys�path�insert��selfs �8/opt/alt/python312/lib64/python3.12/test/test_pkgutil.py�setUpzPkgutilTests.setUps>���'�'�)�������
�
�t�|�|�4�������4�<�<�(�c�&�tjd=yr)rrrs r�tearDownzPkgutilTests.tearDowns
���H�H�Q�Krc�T�d}d}tjj|j|�}tj|�ttjj|d�d�}|j
�ttjj|d�d�}|j|�|j
�tjtjj|d��ttjj|dd�d�}|j|�|j
�tj|d�}|j||�tj|d�}|j||�tj|=y)N�test_getdata_filesys�%Hello, world!
Second line
Third line�__init__.py�wb�res.txt�sub�sub/res.txt)
�osr�joinr�mkdir�open�close�write�pkgutil�get_data�assertEqualr�modules)r�pkg�
RESOURCE_DATA�package_dir�f�res1�res2s       rrz!PkgutilTests.test_getdata_filesyss(��$��D�
��g�g�l�l�4�<�<��5��
�����������k�=�9�4�@��	���	�������k�9�5�t�<��	���
��	���	�
��������k�5�1�2�������k�5�)�<�d�C��	���
��	���	�����Y�/������}�-�����]�3������}�-��K�K��rc�(�d}d}d}tjj|j|�}t	j
|d�}|j
|dzd�|j
|dz|�|j
|dz|�|j�tjjd	|�tj|d
�}|j||�tj|d�}|j||�g}tj|g�D]=}	|j|	tj�|j!|	j"��?|j|dg�tjd	=tj$|=y)N�test_getdata_zipfile.zip�test_getdata_zipfiler�w�/__init__.py��/res.txtz/sub/res.txtrr"r$)r%rr&r�zipfile�ZipFile�writestrr)rrr+r,r-�iter_modules�assertIsInstance�
ModuleInfo�append�namer.)
r�zipr/r0�zip_file�zr3r4�names�
moduleinfos
          rr7z!PkgutilTests.test_getdata_zipfile<sN��(��$��D�
��7�7�<�<����c�2���O�O�H�c�*��	
�
�
�3��'��,�	�
�
�3��#�]�3�	�
�
�3��'��7�	���	�	������8�$�����Y�/������}�-�����]�3������}�-���!�.�.��z�:�	*�J��!�!�*�g�.@�.@�A��L�L����)�	*�	
����!7� 8�9��H�H�Q�K��K�K��rc���d}d}d}tjj|j|�}t	j
|d�}|j
|dzd�|j
|dz|�|j�tjjd|�	tj|d	�}|j||�g}tjt|�g�D]=}|j|tj �|j#|j$��?|j||g�tjd=tj&j)|d�d
}	|j+t,|	�5t/tjd��ddd�y#tjd=tj&j)|d�wxYw#1swYyxYw)Nr6r7rr8r9r:r;rr"z9path must be None or list of paths to look for modules in�invalid_path)r%rr&rr<r=r>r)rrr+r,r-r?rr@rArBrCr.�pop�assertRaisesRegex�
ValueError�list)
rrDr/r0rErF�resrGrH�expected_msgs
          r�test_issue44061_iter_modulesz)PkgutilTests.test_issue44061_iter_modules_s���(��$��D�
��7�7�<�<����c�2���O�O�H�c�*��	
�
�
�3��'��,�	�
�
�3��#�]�3�	���	�	������8�$�	'��"�"�3�	�2�C����S�-�0��E�%�2�2�D��N�3C�D�
.�
��%�%�j�'�2D�2D�E����Z�_�_�-�
.�
���U�S�E�*�������K�K�O�O�C��&�S��
�
#�
#�J��
=�	7���%�%�n�5�6�	7�	7��������K�K�O�O�C��&��	7�	7�s�"BF/�G%�/3G"�%G.c�6�d}tjj|j|�}tj|d�|jtj|�tj|jg��D]}|jd��y)N�unreadable_packager)rzunexpected package found)
r%rr&rr'r�rmdirr+�
walk_packages�fail)r�package_name�d�ts    r�test_unreadable_dir_on_syspathz+PkgutilTests.test_unreadable_dir_on_syspath�sm��+���G�G�L�L����|�4��	����A��������!�$��&�&�T�\�\�N�;�	2�A��I�I�0�1�	2rc�~�d}tjj|j|�}tj|�ttjj|d�d�}|j
�tjtjj|d��ttjj|dd�d�}|j
�ttjj|dd�d�}|j
�d}tjj|j|�}tj|�ttjj|d�d�}|j
�tjtjj|d��ttjj|dd�d�}|j
�ttjj|dd�d�}|j
�gd�}tj|jg�D�cgc]}|d��	}}|j||�|D]%}	|	jd�r�tj|	=�'ycc}w)	N�test_walkpackages_filesysr r!r#zmod.py)r#zsub.test_walkpackages_filesysz!sub.test_walkpackages_filesys.modr\ztest_walkpackages_filesys.subz!test_walkpackages_filesys.sub.mod��mod)
r%rr&rr'r(r)r+rUr-�endswithrr.)
r�pkg1�pkg1_dirr2�pkg2�pkg2_dir�expected�e�actualr/s
          rr\z&PkgutilTests.test_walkpackages_filesys�s���*���7�7�<�<����d�3��
�����������h�
�6��=��	���	�
��������h��.�/�������h��}�=�t�D��	���	�������h��x�8�$�?��	���	����7�7�<�<����d�3��
�����������h�
�6��=��	���	�
��������h�(C�D�E�������h�(C�]�S�UY�Z��	���	�������h�(C�X�N�PT�U��	���	�
�� '�4�4�d�l�l�^�D�E�!��1��E��E������*��	!�C��|�|�E�"�����C� �	!��Fs�/J:c��d}d}d}tjj|j|�}t	j
|d�}|j
|dzd�|j
|dz|zdzd�|j
|dz|zdzd�|j
|dzd�|j
|dz|zdzd�|j
|dz|zdzd�|j�tjjd	|�gd
�}tj|g�D�cgc]}|d��	}}|j||�tjd	=|D]%}	|	jd�r�tj|	=�'y
cc}w)zBTests the same as test_walkpackages_filesys, only with a zip file.ztest_walkpackages_zipfile.zip�test_walkpackages_zipfiler#r8r9r:�/z/mod.pyr)r#zsub.test_walkpackages_zipfilez!sub.test_walkpackages_zipfile.modrhztest_walkpackages_zipfile.subz!test_walkpackages_zipfile.sub.modr]r^N)r%rr&rr<r=r>r)rrr+rUr-r_r.)
rrDr`rbrErFrdrerfr/s
          rrhz&PkgutilTests.test_walkpackages_zipfile�sd��.��*�����7�7�<�<����c�2���O�O�H�c�*��	�
�
�4�.�(�"�-�	�
�
�4�#�:��$�~�5�r�:�	�
�
�4�#�:��$�y�0�"�5�	�
�
�4�.�(�"�-�	�
�
�4�#�:��$�~�5�r�:�	�
�
�4�#�:��$�y�0�"�5�	���	�������8�$�
�� '�4�4�h�Z�@�A�!��1��A��A������*��H�H�Q�K��	!�C��|�|�E�"�����C� �	!��	Bs�)Fc�D�d}|jttf�5tt	j
|��ddd�d}|jttf�5tt	j
|��ddd�y#1swY�NxYw#1swYyxYw)N�test_dirstest_dir)�assertRaises�	TypeErrorrMrNr+rU)r�	str_input�bytes_inputs   r�2test_walk_packages_raises_on_string_or_bytes_inputz?PkgutilTests.test_walk_packages_raises_on_string_or_bytes_input�s����	�
�
�
�	�:�6�
7�	3���&�&�y�1�2�	3�"��
�
�
�	�:�6�
7�	5���&�&�{�3�4�	5�	5�		3�	3��	5�	5�s�B
�"B�
B�Bc���ddl}ddl}dtfdtjfdtjjfd|fd|fd|j
fd|j
fd	|j
jfd
|j
jfd|j
jjfd|j
jjfd
tfdtfdtjfdtjfdtfdtfdtjff}dtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfd tfd!tfd"tfd#tff}d$}|D]�}tjj|j |�}	tj"|d�%�tjj|d&�}t'|d'�5}|j)d�|j+�ddd�t-j.�t-j0|�}|||ffz
}t3|�dkDs��||dd(tffz
}��|d)tffz
}|D]G\}	}
|j5|	�*�5t7j8|	�}|j;||
�ddd��I|D]O\}	}|j5|	�*�5|j=|�5t7j8|	�ddd�ddd��Qy#t$$rY���wxYw#1swY��xYw#1swY��xYw#1swY�=xYw#1swY��xYw)+Nrr%zos.pathzos.path:pathsep�loggingzlogging:zlogging.handlerszlogging.handlers:zlogging.handlers:SysLogHandlerzlogging.handlers.SysLogHandlerz(logging.handlers:SysLogHandler.LOG_ALERTz(logging.handlers.SysLogHandler.LOG_ALERTzbuiltins.intzbuiltins:intzbuiltins.int.from_byteszbuiltins:int.from_byteszbuiltins.ZeroDivisionErrorzbuiltins:ZeroDivisionErrorzos:pathr]g@Tr:z?abczabc/foo�foozos.foozos.foo:zos.pth:pathsepzlogging.handlers:NoSuchHandlerz,logging.handlers:SysLogHandler.NO_SUCH_VALUEz,logging.handlers.SysLogHandler.NO_SUCH_VALUE�ZeroDivisionErrorzos.path.9abc�9abc)	u	वमस�é�Èu안녕하세요uさよならuありがとうuХорошоuспасибоu现代汉语常用字表��exist_okr r8���u०वमस)�s)rr�logging.handlersr%r�pathsep�handlers�
SysLogHandler�	LOG_ALERT�int�
from_bytesrtrmrM�ImportError�AttributeErrorr&r�makedirs�UnicodeEncodeErrorr(r*�flush�	importlib�invalidate_caches�
import_module�len�subTestr+�resolve_namer-rl)
rrr�
success_cases�
failure_cases�
unicode_words�uwrXr2r^r{rd�o�excs
             r�test_name_resolutionz!PkgutilTests.test_name_resolution�si�����2�J�
���� �
������0�
�� �
��!�
��!1�!1�2�
 �'�"2�"2�3�
-�w�/?�/?�/M�/M�N�
-�w�/?�/?�/M�/M�N�
7�� � �.�.�8�8�
:�
7�� � �.�.�8�8�
:�
�S�!�
�S�!�
&����7�
&����7�
)�+<�=�
)�+<�=�
���� �)
�
�0�9��
�	�N�
�)��
�9��
���
�Z� �
�
�#�
�K� �
�~�&�
��$�
�{�+�
-�~�>�
;�^�L�
;�^�L�
 �+�.�
�Z�(�
�Z� �#
�
�,M�
� �	9�B������T�\�\�2�.�A�
����A��-�
�����Q�
�.�A��a���
����������	�
�

�'�'�)��)�)�"�-�C��b�#�Y�Z�'�M��2�w��{��"�S�b�'�;�!7�!8�8�
�%	9�*	�4�j�A�B�B�
�(�	.�K�A�x������"�
.��(�(��+��� � ��H�-�
.�
.�	.�
$�	,�F�A�s������"�
,��&�&�s�+�,��(�(��+�,�
,�
,�	,��1'�
��
��

�
��
.�
.��,�,��
,�
,�sN�L3�"M�,(M�8M(�
M� M(�3	M�?M�M
	�M	�M%�!M(�(M1	N)
�__name__�
__module__�__qualname__rrrr7rQrZr\rhrpr��rrr
r
s9��)�
��:!�F%7�N	2�&!�P!!�F5�Y,rr
c�P�eZdZGd�de�ZGd�de�Zd�Zd�Zd�Zd�Z	y	)
�PkgutilPEP302Testsc��eZdZd�Zd�Zd�Zy)�PkgutilPEP302Tests.MyTestLoaderc��y�Nr�)r�specs  r�
create_modulez-PkgutilPEP302Tests.MyTestLoader.create_moduleEs��rc�\�|jjdd�dz|jd<y)N�loadsrr])�__dict__�get)rr^s  r�exec_modulez+PkgutilPEP302Tests.MyTestLoader.exec_moduleHs&��$'�L�L�$4�$4�W�a�$@�1�$D�C�L�L��!rc��y)N�
Hello, world!r�)rrs  rr,z(PkgutilPEP302Tests.MyTestLoader.get_dataLs��"rN)r�r�r�r�r�r,r�rr�MyTestLoaderr�Ds��	�	E�	#rr�c��eZdZdd�Zy)�!PkgutilPEP302Tests.MyTestImporterNc�v�tj�}t|d|jjz|g��S)Nz<%s>)�loader�submodule_search_locations)r�r�r�	__class__r�)r�fullnamer�targetr�s     r�	find_specz+PkgutilPEP302Tests.MyTestImporter.find_specPs;��'�4�4�6�F�*�8�+1�F�4D�4D�4M�4M�+M�28�FH�J�
Jr)NN)r�r�r�r�r�rr�MyTestImporterr�Os��	Jrr�c�`�tjjd|j��yr)r�	meta_pathrr�rs rrzPkgutilPEP302Tests.setUpWs���
�
���Q�� 3� 3� 5�6rc�&�tjd=yr)rr�rs rrzPkgutilPEP302Tests.tearDownZs���M�M�!�rc�r�|jtjdd�d�tjd=y)Nrs�dummyr�)r-r+r,rr.rs r�test_getdata_pep302z&PkgutilPEP302Tests.test_getdata_pep302]s+������)�)�%��9�?�K��K�K��rc���ddl}|j|jd�|jtjdd�d�|j|jd�t
jd=y)Nrr]rsr�r�)rsr-r�r+r,rr.)rrss  r�test_alreadyloadedz%PkgutilPEP302Tests.test_alreadyloadedbsX��	�������A�&�����)�)�%��9�?�K�������A�&��K�K��rN)
r�r�r��objectr�r�rrr�r�r�rrr�r�Bs0��	#�v�	#�J��J�7���
rr�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�ExtendPathTestsc�z�tj�}tjj	d|�t
jj
||�}tj|�tt
jj
|d�d�5}|jd�ddd�|S#1swY|SxYw)Nrr r8zKfrom pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
)
r
rrrrr%r&r'r(r*)r�pkgnamer�pkgdir�fls     r�create_initzExtendPathTests.create_initps����"�"�$��������7�#������g�w�/��
�����
�"�'�'�,�,�v�}�5�s�
;�	f�r��H�H�d�e�	f���	f���s�B0�0B:c���tjj|||dz�}t|d�5}t	dj|�|��ddd�y#1swYyxYw)N�.pyr8zvalue={})�file)r%rr&r(�print�format)rrr��submodule_name�value�module_namer�s       r�create_submodulez ExtendPathTests.create_submodule{sS���g�g�l�l�7�G�^�e�5K�L��
�+�s�
#�	5�r��*�#�#�E�*��4�	5�	5�	5�s�A�A c
��d}|j|�}|j|�}|j||dd�|j||dd�ddl}ddl}|j	|j
jd�|j	|jjd�|j	t|j�ttjj||�tjj||�g��tj|�tj|�tjd=tjd=tj d=tj d=tj d=y)Nrs�barr�bazr]�foo.bar�foo.baz)r�r��foo.bar�foo.bazr-r�r�r��sorted�__path__r%rr&rrrr.�rr��	dirname_0�	dirname_1rss     r�test_simplezExtendPathTests.test_simple�s'�����$�$�W�-�	��$�$�W�-�	����i��%��;����i��%��;������������*����������*�	
�������-�������i��!A�!#�����i��!A�!C�D�	E�
	�
�
�i� ��
�
�i� ��H�H�Q�K��H�H�Q�K��K�K����K�K�	�"��K�K�	�"rc��tj}tj}d}d}|j|�}tj
j
||�}dj||�}tjj|d�tjj|d�	|j|||d�tj|�t||��}||�}	|D]�}
|
j|�}|j }	|j }|j%|
tj&j(�|j+|
|	�|j%|tj&j,�|j/|
j|����|j1t2�5t|d��ddd�|j1t2�5t|d��ddd�t5j6|�tj
d=	tjd=tjd=y#t"$rY��<wxYw#1swY��xYw#1swY�oxYw#t8$rYywxYw#t5j6|�tj
d=	tjd=tjd=w#t8$rYwwxYwxYw)N�spam�eggsz{}.{}rzinvalid.modulez.spamz	spam.eggs)r+�iter_importers�get_importerr�r%rr&r�rr.rKr�r�r�rNr�r�r�r@�	machinery�
FileFinderr-�SourceFileLoader�assertIsNonerlr�rr�KeyError)
rr�r�r��modnamer�pathitemr��	importers�expected_importer�finderr�r�s
             r�test_iter_importersz#ExtendPathTests.test_iter_importers�se�� �/�/���+�+�������"�"�7�+���7�7�<�<���1���>�>�'�7�3��������$�'��������&�"	��!�!�'�7�G�Q�?��#�#�H�-��^�H�5�6�I� ,�X� 6��#�

=���'�'��1�������#�]�]�F�
�%�%�f�i�.A�.A�.L�.L�M�� � ��):�;��%�%�f�&/�&9�&9�&J�&J�L��!�!�&�"2�"2�7�";�<�

=��"�"�;�/�
7��^�$4�5�6�
7��"�"�;�/�
.��^�G�,�-�
.�
�M�M�'�"������
��K�K��'��K�K��,��)&�����
7�
7��
.�
.���
��
��
�M�M�'�"������
��K�K��'��K�K��,���
��
�s��)A$J�I
�BJ�7I�	J�&I&�8J�'"I2�
	I�J�I�J�I#�J�&I/�+J�2	I>�=I>�'K�)"K�K�	K�K�K�Kc
��d}|j|�}|j|�}|j||dd�tjtjj||d��|j||dd�ddl}ddl}|j|jjd�|j|jjd�|jt|j�ttjj||�tjj||�g��tj|�tj|�t jd=t jd=t j"d=t j"d=t j"d=y)	Nrsr�rr r�r]r�r�)r�r�r%�unlinkrr&r�r�r-r�r�r�r�r�rrrr.r�s     r�test_mixed_namespacez$ExtendPathTests.test_mixed_namespace�sD�����$�$�W�-�	��$�$�W�-�	����i��%��;�
�	�	�"�'�'�,�,�y�'�=�A�B����i��%��;������������*����������*�	
�������-�������i��!A�!#�����i��!A�!C�D�	E�
	�
�
�i� ��
�
�i� ��H�H�Q�K��H�H�Q�K��K�K����K�K�	�"��K�K�	�"rN)r�r�r�r�r�r�r�r�r�rrr�r�os��	�5�
#�:-�`#rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�NestedNamespacePackageTestc�f�tj�|_tjdd|_yr�)r
r�basedirrr�old_pathrs rrz NestedNamespacePackageTest.setUp�s!���'�'�)���������
rc�|�|jtjddtj|j
�yr�)r�rrrrr�rs rrz#NestedNamespacePackageTest.tearDown�s#���m�m�������
�
�d�l�l�#rc��|jdd�\}}tjj|j|jdtjj��}tj|d��ttjj||dz�d�5}|j|�ddd�y#1swYyxYw)N�.r]Trxr�r8)
�rsplitr%rr&r��replace�sepr�r(r*)rrC�contents�base�final�	base_pathr2s       rr�z(NestedNamespacePackageTest.create_module�s����k�k�#�q�)���e��G�G�L�L����t�|�|�C������/M�N�	�
���I��-�
�"�'�'�,�,�y�%�%�-�8�#�
>�	�!�
�G�G�H��	�	�	�s�,C�Cc�p�d}|jd|�|jd|�|jd|�|jd|�|jdd�|jdd	�tjjd
tjj|jd��tjjd
tjj|jd��d
dl}|jtd
�|jt|j�d�d
dl
}|jtd�|jt|jj�d�d
dlm}d
dlm}|j|d�|j|d�y)NzBimport pkgutil; __path__ = pkgutil.extend_path(__path__, __name__)za.pkg.__init__zb.pkg.__init__za.pkg.subpkg.__init__zb.pkg.subpkg.__init__za.pkg.subpkg.czc = 1zb.pkg.subpkg.dzd = 2r�a�br/�z
pkg.subpkg)�c)rXr])r�rrrr%r&r�r/rrr-r�r��
pkg.subpkg�subpkg�pkg.subpkg.cr��pkg.subpkg.drX)r�pkgutil_boilerplater/r�rXs     r�test_nestedz&NestedNamespacePackageTest.test_nested�sC��
A�	�	
���+�-@�A����+�-@�A����2�4G�H����2�4G�H����+�W�5����+�W�5�������2�7�7�<�<����c�:�;�������2�7�7�<�<����c�:�;�������&�����S�\�\�*�A�.�������-�����S�Z�Z�0�0�1�1�5�"�"�����A������A�rN)r�r�r�rrr�rr�rrr�r��s��$�$��rr�c���eZdZejedk(d�ee��d���Zee��d��Zee��d��Z	ee��d��Z
d�Zd	�Zee��d
��Z
d�Zd�Zd
�Zy)�ImportlibMigrationTests�__main__znot compatible with __main__)�categoryc�v�t}b	|jtjt��|ay#|awxYwr�)�
__loader__�assertIsNotNoner+�
get_loaderr�)r�this_loaders  r�0test_get_loader_handles_missing_loader_attributezHImportlibMigrationTests.test_get_loader_handles_missing_loader_attributes5��!���	%�� � ��!3�!3�H�!=�>�$�J���J�s�(4�8c���d}tt�|�}|`t|�5|tj|<tj|�}ddd�|j�y#1swY�xYw�Nr���typer�__spec__rr.r+r
r��rrCr^r�s    r�.test_get_loader_handles_missing_spec_attributezFImportlibMigrationTests.test_get_loader_handles_missing_spec_attribute%sf�����d�3�i��o���L�
��
�	.� #�C�K�K����'�'��-�F�	.�	
���&�!�	.�	.�s�)A(�(A1c���d}tt�|�}d|_t|�5|tj|<tj|�}ddd�|j�y#1swY�xYwrrrs    r�+test_get_loader_handles_spec_attribute_nonezCImportlibMigrationTests.test_get_loader_handles_spec_attribute_none/sh�����d�3�i��o�����
��
�	.� #�C�K�K����'�'��-�F�	.�	
���&�!�	.�	.�s�)A-�-A6c���d}dtj|<	tj|�}tj|=|j	|�y#tj|=wxYw�Nz
totally bogus)rr.r+r
r��rrCr�s   r�#test_get_loader_None_in_sys_modulesz;ImportlibMigrationTests.test_get_loader_None_in_sys_modules9sT���� ����D��	"��'�'��-�F����D�!����&�!�����D�!�s�A�A"c��tdtf�5tjd�}ddd�|j	�y#1swY�xYw)Nz.*\bpkgutil.get_loader\b.*r)r�DeprecationWarningr+r
r�rrOs  r�test_get_loader_is_deprecatedz5ImportlibMigrationTests.test_get_loader_is_deprecatedCsJ��
�
*�,>�?�
�	,��$�$�U�+�C�	,�	
���S�!�		,�	,���A�Ac��tdtf�5tjd�}ddd�|j	�y#1swY�xYw)Nz.*\bpkgutil.find_loader\b.*r)rrr+�find_loaderrrs  r�test_find_loader_is_deprecatedz6ImportlibMigrationTests.test_find_loader_is_deprecatedJsJ��
�
+�-?�@�
�	-��%�%�e�,�C�	-�	
���S�!�		-�	-�r!c�T�d}tj|�}|j|�yr)r+r#r�rs   r�test_find_loader_missing_modulez7ImportlibMigrationTests.test_find_loader_missing_moduleQs%�����$�$�T�*�����&�!rc���t�5}|jtjd��|j	t|j�d�ddd�y#1swYyxYw)Nz*??r)rr�r+r�r-r��warnings)rr8s  r�"test_get_importer_avoids_emulationz:ImportlibMigrationTests.test_get_importer_avoids_emulationWsP��
�
�	1�����g�2�2�5�9�:����S����_�a�0�	1�	1�	1�s�A
A�A'c��	tjtd��y#t$r|j	d�YywxYw)Nz/homez3Unexpected AttributeError when calling get_importer)r+r�rr�rVrs r�test_issue44061z'ImportlibMigrationTests.test_issue44061]s8��	M�� � ��g��/���	M��I�I�K�L�	M�s�!�>�>c��t�5}tj�D]}�|jt	|j
�d�ddd�y#1swYyxYwr)rr+r�r-r�r()rr8�importers   r�$test_iter_importers_avoids_emulationz<ImportlibMigrationTests.test_iter_importers_avoids_emulationcsK��
�
�	1��#�2�2�4�:��:����S����_�a�0�	1�	1�	1�s�?A�AN)r�r�r��unittest�skipIfrrrrrrr r$r&r)r+r.r�rrrrs���
�X�_�_�X��+�-K�L��0�1�%�2�M�%��0�1�"�2�"��0�1�"�2�"��0�1�"�2�"�"�"��0�1�"�2�"�
1�M�1rrc�j�ddl}ddl}|jj�|j�yr)�	zipimportr��_zip_directory_cache�clearr�)r2r�s  r�tearDownModuler5is(����
�"�"�(�(�*��I���!rr)�pathlibr�test.support.import_helperrr�test.support.warnings_helperrrr/rr��importlib.utilrr+r%�os.pathr
rr<�TestCaser
r�r�r�rr5r��mainr�rr�<module>r=s����:�H��
��2��	���
��j,�8�$�$�j,�Z	(��*�*�(�Zx#�h�'�'�x#�z&��!2�!2�&�RQ1�h�/�/�Q1�h"��z���H�M�M�O�r