Your IP : 216.73.216.213


Current Path : /opt/alt/python311/lib64/python3.11/test/test_importlib/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/test/test_importlib/__pycache__/test_main.cpython-311.pyc

�

�0�i+)��@�ddlZddlZddlZddlZddlZddlZ	ddlmZ	n#e
$r	ddlmZ	YnwxYwddlm
Z
ddlmZmZmZmZmZmZmZmZmZGd�de
jej��ZGd�d	e
jej��ZGd
�de
je
jej��ZGd�d
e
je
jej��ZGd�de
je
jej��Z Gd�de
je
jej��Z!Gd�de
jej��Z"Gd�de
je	j��Z#Gd�dej��Z$Gd�de
je
je
j%ej��Z&Gd�de
j'ej��Z(Gd�de
je
jej��Z)dS)�N�)�fake_filesystem_unittest)�fixtures)	�Distribution�
EntryPoint�PackageNotFoundError�_unique�
distributions�entry_points�metadata�packages_distributions�versionc��eZdZdZd�Zd�Zd�Zd�Zej	e
d���e
d�����d	���ZdS)
�
BasicTestsz\d+\.\d+(\.\d)?c��tjd��}t|jt��sJ�tj|j|j��sJ�dS)N�distinfo-pkg)r�	from_name�
isinstancer�str�re�match�version_pattern)�self�dists  �D/opt/alt/python311/lib64/python3.11/test/test_importlib/test_main.py�test_retrieves_version_of_selfz)BasicTests.test_retrieves_version_of_selfsM���%�n�5�5���$�,��,�,�,�,�,��x��,�d�l�;�;�;�;�;�;�;�c��|�t��5tjd��ddd��dS#1swxYwYdS)N�does-not-exist)�assertRaisesrrr�rs r�test_for_name_does_not_existz'BasicTests.test_for_name_does_not_exist#s���
�
�
�3�
4�
4�	5�	5��"�#3�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5��=�A�Ac���|�t��5}tjd��ddd��n#1swxYwYdt	|j��vsJ�dS)z�
        When a package is not found, that could indicate that the
        packgae is not installed or that it is installed without
        metadata. Ensure the exception mentions metadata to help
        guide users toward the cause. See #124.
        rNr)r rrrr�	exception)r�ctxs  r�(test_package_not_found_mentions_metadataz3BasicTests.test_package_not_found_mentions_metadata's����
�
�3�
4�
4�	5���"�#3�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5��S���/�/�/�/�/�/�/�/s�<�A�Ac�F�|�tt��dS�N)�assertIsInstancer�typer!s r�test_new_style_classesz!BasicTests.test_new_style_classes3s�����l�D�1�1�1�1�1rN��name�c��|�t��5tj|��ddd��dS#1swxYwYdSr))r �
ValueErrorrr)rr.s  r� test_invalid_inputs_to_from_namez+BasicTests.test_invalid_inputs_to_from_name6s���
�
�
�z�
*�
*�	)�	)��"�4�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)r#)�__name__�
__module__�__qualname__rrr"r'r,r�parameterize�dictr2�rrrrs�������(�O�<�<�<�
5�5�5�
0�
0�
0�2�2�2��X����$������"�
�
�
���)�)�	��)�)�)rrc�&�eZdZd�Zd�Zd�Zd�ZdS)�ImportTestsc��|�t��5tjd��ddd��dS#1swxYwYdS)N�does_not_exist)r �ImportError�	importlib�
import_moduler!s r�test_import_nonexistent_modulez*ImportTests.test_import_nonexistent_module@s����
�
�{�
+�
+�	6�	6��#�$4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6r#c��td���d}|�|���jd��dS)N�entries��group�main)r�assertEqual�loadr3�r�eps  r�test_resolvezImportTests.test_resolveFs>��
�	�
*�
*�
*�6�
2����������+�V�4�4�4�4�4rc�h�td���d}|�|jd��dS)NrBrCzns:subzmod:main)rrF�valuerHs  r�"test_entrypoint_with_colon_in_namez.ImportTests.test_entrypoint_with_colon_in_nameJs5��
�	�
*�
*�
*�8�
4�������:�.�.�.�.�.rc�n�tddd���}|���tjusJ�dS)NrIzimportlib.metadata�grp�r.rLrD)rrGr>rrHs  r�test_resolve_without_attrz%ImportTests.test_resolve_without_attrNsC��
��&��
�
�
��
�w�w�y�y�I�.�.�.�.�.�.�.rN)r3r4r5r@rJrMrQr8rrr:r:?sP������6�6�6�5�5�5�/�/�/�/�/�/�/�/rr:c�6�eZdZed���Zd�Zd�Zd�ZdS)�NameNormalizationTestsc��|�d�ddiiS)zu
        Create minimal metadata for a dist-info package with
        the indicated name on the file system.
        z
.dist-info�METADATAz
VERSION: 1.0
r8r-s r�make_pkgzNameNormalizationTests.make_pkgXs%�������,�"�
�	
rc��tj|�d��|j��t	d��dksJ�dS)z�
        For a package with a dash in the name, the dist-info metadata
        uses underscores in the name. Ensure the metadata loads.
        �my_pkgzmy-pkg�1.0N)r�build_filesrV�site_dirrr!s r�-test_dashes_in_dist_name_found_as_underscoreszDNameNormalizationTests.test_dashes_in_dist_name_found_as_underscoresdsD��
	��T�]�]�8�4�4�d�m�D�D�D��x� � �E�)�)�)�)�)�)rc�*�d}tj|�|��|j��t	|��dksJ�t	|�����dksJ�t	|�����dksJ�dS)zG
        Ensure the metadata loads when queried with any case.
        �CherryPyrYN)rrZrVr[r�lower�upper)r�pkg_names  r� test_dist_name_found_as_any_casez7NameNormalizationTests.test_dist_name_found_as_any_casels�������T�]�]�8�4�4�d�m�D�D�D��x� � �E�)�)�)�)��x�~�~�'�'�(�(�E�1�1�1�1��x�~�~�'�'�(�(�E�1�1�1�1�1�1rc�D�tj|�d��|j��t	tt
������}|j�tj����}|j�|�	|����tj|�d��|��t	tt
������}t|��t|��ksJ�dS)z~
        Two distributions varying only by non-normalized name on
        the file system should resolve as the same.
        �abc�ABCN)rrZrVr[�listr	r
�
enter_context�tempdir�add_sys_path�len)r�before�alt_site_dir�afters    r�test_unique_distributionsz0NameNormalizationTests.test_unique_distributionsvs���
	��T�]�]�5�1�1�4�=�A�A�A��g�m�o�o�.�.�/�/���}�2�2�8�3C�3E�3E�F�F���
�#�#�D�$5�$5�l�$C�$C�D�D�D���T�]�]�5�1�1�<�@�@�@��W�]�_�_�-�-�.�.���5�z�z�S��[�[�(�(�(�(�(�(rN)r3r4r5�staticmethodrVr\rbrnr8rrrSrSWsZ�������	
�	
��\�	
�*�*�*�2�2�2�
)�
)�
)�
)�
)rrSc�F�eZdZed���Zed���Zd�Zd�ZdS)�
NonASCIITestsc�<�dddii}tj||��dS)zb
        Create minimal metadata for a package with non-ASCII in
        the description.
        �portend.dist-inforUuDescription: pôrˈtend�portend�rrZ�r[�contentss  r�pkg_with_non_ascii_descriptionz,NonASCIITests.pkg_with_non_ascii_description�s3��
 ��5�"�
��
	��X�x�0�0�0��yrc�<�dddii}tj||��dS)zl
        Create minimal metadata for an egg-info package with
        non-ASCII in the description.
        rsrUu:
                Name: portend

                pôrˈtendrtrurvs  r�'pkg_with_non_ascii_description_egg_infoz5NonASCIITests.pkg_with_non_ascii_description_egg_info�s5��
 ���"�
��	��X�x�0�0�0��yrc�t�|�|j��}t|��}|ddksJ�dS�N�Descriptionu
pôrˈtend)rxr[r�rra�metas   r�test_metadata_loadsz!NonASCIITests.test_metadata_loads�s@���6�6�t�}�E�E����!�!���M�"�l�2�2�2�2�2�2rc�t�|�|j��}t|��}|ddksJ�dSr|)rzr[rr~s   r�test_metadata_loads_egg_infoz*NonASCIITests.test_metadata_loads_egg_info�s@���?�?��
�N�N����!�!���M�"�l�2�2�2�2�2�2rN)r3r4r5rorxrzr�r�r8rrrqrq�sf����������\������\�� 3�3�3�
3�3�3�3�3rrqc��eZdZd�Zd�ZdS)�DiscoveryTestsc���tt����}td�|D����sJ�td�|D����sJ�td�|D����sJ�dS)Nc3�@K�|]}t|t��V��dSr))rr��.0rs  r�	<genexpr>z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s,����D�D�d�:�d�L�1�1�D�D�D�D�D�Drc3�8K�|]}|jddkV��dS)�Namezegginfo-pkgN�rr�s  rr�z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s.����L�L�d�4�=��(�M�9�L�L�L�L�L�Lrc3�8K�|]}|jddkV��dS)r�rNr�r�s  rr�z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s.����M�M�t�4�=��(�N�:�M�M�M�M�M�Mr)rfr
�all�any)r�distss  r�test_package_discoveryz%DiscoveryTests.test_package_discovery�s����]�_�_�%�%���D�D�e�D�D�D�D�D�D�D�D��L�L�e�L�L�L�L�L�L�L�L��M�M�u�M�M�M�M�M�M�M�M�M�Mrc��|�t��5ttdd�����ddd��dS#1swxYwYdS)N�	something�else)�contextr.)r r1rfr
r!s r�test_invalid_usagez!DiscoveryTests.test_invalid_usage�s���
�
�
�z�
*�
*�	B�	B���{��@�@�@�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs�A�A�AN)r3r4r5r�r�r8rrr�r��s:������N�N�N�B�B�B�B�Brr�c��eZdZd�Zd�ZdS)�
DirectoryTestc���|j�d�����|�t��5td��ddd��dS#1swxYwYdS)NzEGG-INFOzunknown-package)r[�joinpath�mkdirr rrr!s r�
test_egg_infozDirectoryTest.test_egg_info�s����
���z�*�*�0�0�2�2�2�
�
�
�3�
4�
4�	'�	'��%�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's�A$�$A(�+A(c�@�|j�d��}|���|�|��5|�t
��5t
d��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nzfoo-3.6.egg�foo)r[r�r�rir rr)r�eggs  r�test_eggzDirectoryTest.test_egg�s���m�$�$�]�3�3���	�	����
�
�
�s�
#�
#�	�	��"�"�#7�8�8�
�
������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s6�B�A;�/B�;A?	�?B�A?	�B�B�BN)r3r4r5r�r�r8rrr�r��s2������'�'�'�����rr�c��eZdZdZd�ZdS)�MissingSysPathz/does-not-existc�B�tj���dS�zp
        Discovering distributions should succeed even if
        there is an invalid path on sys.path.
        N)r>rr
r!s r�test_discoveryzMissingSysPath.test_discovery�s��
	��(�(�*�*�*�*�*rN)r3r4r5r[r�r8rrr�r��s(������ �H�+�+�+�+�+rr�c�(��eZdZdZ�fd�Zd�Z�xZS)�InaccessibleSysPathz/access-deniedc���t�����|���|j�|jd���dS)Nr)�	perm_bits)�super�setUp�
setUpPyfakefs�fs�
create_dirr[)r�	__class__s �rr�zInaccessibleSysPath.setUp�sI���
���
�
��������������4�=�C��8�8�8�8�8rc�\�ttj�����dSr�)rfr>rr
r!s rr�z"InaccessibleSysPath.test_discovery�s'��
	
�Y�
�
-�
-�
/�
/�0�0�0�0�0r)r3r4r5r[r�r��
__classcell__�r�s@rr�r��sL��������H�9�9�9�9�9�
1�1�1�1�1�1�1rr�c�T��eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Z�xZ
S)�TestEntryPointsc���t��j|�tj�ddd���|_dS)Nr.rLrDrP)r��__init__r>rrrI)r�argsr�s  �rr�zTestEntryPoints.__init__�sA��������$����$�/�/��w�g�0�
�
����rc�v�tjtj|j����}||jksJ�dSr))�pickle�loads�dumpsrI)r�reviveds  r�test_entry_point_pickleablez+TestEntryPoints.test_entry_point_pickleable�s6���,�v�|�D�G�4�4�5�5���$�'�!�!�!�!�!�!rc�(�tddd��dS)zH
        Capture legacy (namedtuple) construction, discouraged.
        r.rLrDN)rr!s r�test_positional_argsz$TestEntryPoints.test_positional_args�s��	�6�7�G�,�,�,�,�,rc��|�t��5d|j_ddd��dS#1swxYwYdS)zEntryPoints should be immutable�badactorN)r �AttributeErrorrIr.r!s r�test_immutablezTestEntryPoints.test_immutable�s���
�
�
�~�
.�
.�	&�	&�%�D�G�L�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s�
5�9�9c��dt|j��vsJ�dt|j��vsJ�dt|j��vsJ�dS)Nrzname=z'name')�reprrIr!s r�	test_reprzTestEntryPoints.test_repr�sS���t�D�G�}�}�,�,�,�,��$�t�w�-�-�'�'�'�'��4���=�=�(�(�(�(�(�(rc�.�t|j��dS)zEntryPoints should be hashableN)�hashrIr!s r�
test_hashablezTestEntryPoints.test_hashables���T�W�
�
�
�
�
rc��|�t��5tjd���5t	j|j��ddd��n#1swxYwYddd��dS#1swxYwYdS)zI
        json should not expect to be able to dump an EntryPoint
        T)�recordN)r �	Exception�warnings�catch_warnings�jsonr�rIr!s r�test_json_dumpzTestEntryPoints.test_json_dumps����
�
�y�
)�
)�	$�	$��(��5�5�5�
$�
$��
�4�7�#�#�#�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$����
$�
$�
$�
$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s4�A/�A�A/�A	�A/�A	�A/�/A3�6A3c�*�|jjdksJ�dS)NrL)rI�moduler!s r�test_modulezTestEntryPoints.test_modules���w�~��(�(�(�(�(�(rc�"�|jj�J�dSr))rI�attrr!s r�	test_attrzTestEntryPoints.test_attrs���w�|�#�#�#�#�#rc�h�ttddd���tddd���g��dS)zK
        EntryPoint objects are sortable, but result is undefined.
        �b�valrDrP�aN)�sortedrr!s r�
test_sortablezTestEntryPoints.test_sortablesI��	���5��@�@�@���5��@�@�@�
�	
�	
�	
�	
�	
r)r3r4r5r�r�r�r�r�r�r�r�r�r�r�r�s@rr�r��s��������
�
�
�
�
�"�"�"�-�-�-�&�&�&�
)�)�)�
���$�$�$�)�)�)�$�$�$�	
�	
�	
�	
�	
�	
�	
rr�c��eZdZd�ZdS)�
FileSystemc��tj|���ii|j���t	t����dS)zb
        Ensure a Unicode subdirectory of a directory on sys.path
        does not crash.
        ��prefixN)rrZ�unicode_filenamer[rfr
r!s r�test_unicode_dir_on_sys_pathz'FileSystem.test_unicode_dir_on_sys_path$sQ��
	��
�
"�
"�
$�
$�b�)��=�	
�	
�	
�	
�	
�]�_�_�����rN)r3r4r5r�r8rrr�r�!s#������	�	�	�	�	rr�c��eZdZd�Zd�ZdS)�!PackagesDistributionsPrebuiltTestc�f�|�d��t��ddgksJ�dS)Nzexample-21.12-py3-none-any.whl�example��_fixture_on_pathr
r!s r�#test_packages_distributions_examplezEPackagesDistributionsPrebuiltTest.test_packages_distributions_example1s;�����>�?�?�?�%�'�'�	�2�y�k�A�A�A�A�A�Arc�f�|�d��t��ddgksJ�dS)zT
        Test packages_distributions on a wheel built
        by trampolim.
        zexample2-1.0.0-py3-none-any.whl�example2Nr�r!s r�$test_packages_distributions_example2zFPackagesDistributionsPrebuiltTest.test_packages_distributions_example25s=��
	
���?�@�@�@�%�'�'�
�3�
�|�C�C�C�C�C�CrN)r3r4r5r�r�r8rrr�r�0s:������B�B�B�D�D�D�D�Drr�c��eZdZd�ZdS)�PackagesDistributionsTestc�`�tjdddii|j���t��dS)zN
        Test a package built without 'top-level.txt' or a file list.
        ztrim_example-1.0.0.dist-inforUzS
                Name: trim_example
                Version: 1.0.0
                r�N)rrZr[r
r!s r�6test_packages_distributions_neither_toplevel_nor_fileszPPackagesDistributionsTest.test_packages_distributions_neither_toplevel_nor_filesAsN��	��.��!�1�
��=�
	
�
	
�
	
�
	
�	� � � � � rN)r3r4r5r�r8rrr�r�>s#������!�!�!�!�!rr�)*rr�r��unittestr��importlib.metadatar>�!pyfakefs.fake_filesystem_unittestr�ffsr=�stubsr/rrrrr	r
rrr
r�DistInfoPkg�TestCaserr:�	OnSysPath�SiteDirrSrq�
EggInfoPkgr�r�r�r�r��FileBuilderr��ZipFixturesr�r�r8rr�<module>r�s���	�	�	�	�����
�
�
�
�������������7�3�3�3�3�3�3�3���7�7�7�6�6�6�6�6�6�6�6�7����������
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�!)�!)�!)�!)�!)��%�x�'8�!)�!)�!)�H/�/�/�/�/�(�&��(9�/�/�/�0,)�,)�,)�,)�,)�X�/��1A�8�CT�,)�,)�,)�^(3�(3�(3�(3�(3�H�&��(8�(�:K�(3�(3�(3�V	B�	B�	B�	B�	B�X�(�(�*>��@Q�	B�	B�	B�
�
�
�
�
�H�&��(8�(�:K�
�
�
� +�+�+�+�+�X�'��):�+�+�+�
1�
1�
1�
1�
1�(�,�c�l�
1�
1�
1� 6
�6
�6
�6
�6
�h�'�6
�6
�6
�r��������(�(�*>��@Q����D�D�D�D�D��(<�h�>O�D�D�D�!�!�!�!�!����(�(�*;�!�!�!�!�!s�!�/�/