Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/test/test_importlib/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/test/test_importlib/__pycache__/test_main.cpython-312.pyc

�

)Μg
7�
��ddlZddlZddlZddlZddlZddlZddlZ	ddlm	Z
ddl
mZddlmZddlmZmZmZmZmZmZmZmZmZej4d��ZGd�d	ej8ej:�ZGd
�dej8ej:�ZGd�d
ej@ejBej:�Z"Gd�dej@ejBej:�Z#Gd�dejHejJejLejNej8ej:�Z(Gd�dej@ejBej:�Z)Gd�dej@ej:�Z*Gd�dej@e
j:�Z+Gd�dej:�Z,Gd�dej@ejBejZej:�Z.Gd�dej^ej:�Z0Gd�dej@ejBej:�Z1Gd �d!ejHejJejLejNej:�Z2y#e$r
ddlm	Z
Y��gwxYw)"�N�)�fake_filesystem_unittest)�fixtures)�suppress)	�Distribution�
EntryPoint�PackageNotFoundError�_unique�
distributions�entry_points�metadata�packages_distributions�versionc#�K�tjd��5}tjdt��|��ddd�y#1swYyxYw�w)NT)�record�default)�category)�warnings�catch_warnings�simplefilter�DeprecationWarning)�ctxs �:/usr/local/lib/python3.12/test/test_importlib/test_main.py�suppress_known_deprecationrs7����	�	 �	 ��	-�����i�2D�E��	�
.�	-�	-�s�A� A�	A�A�Ac��eZdZdZd�Zd�Zd�Zee�e	�d���Z
eje
d��e
d���d	��Zy)
�
BasicTestsz\d+\.\d+(\.\d)?c��tjd�}t|jt�sJ�tj|j|j�sJ�y)N�distinfo-pkg)r�	from_name�
isinstancer�str�re�match�version_pattern)�self�dists  r�test_retrieves_version_of_selfz)BasicTests.test_retrieves_version_of_self'sD���%�%�n�5���$�,�,��,�,�,��x�x��,�,�d�l�l�;�;�;�c��|jt�5tjd�ddd�y#1swYyxYw)N�does-not-exist)�assertRaisesr	rr�r%s r�test_for_name_does_not_existz'BasicTests.test_for_name_does_not_exist,s,��
�
�
�3�
4��"�"�#3�4�5�
4�
4���5�>c��|jt�5}tjd�ddd�dt	j
�vsJ�y#1swY�#xYw)z�
        When a package is not found, that could indicate that the
        package is not installed or that it is installed without
        metadata. Ensure the exception mentions metadata to help
        guide users toward the cause. See #124.
        r*Nr
)r+r	rrr!�	exception)r%rs  r�(test_package_not_found_mentions_metadataz3BasicTests.test_package_not_found_mentions_metadata0sK���
�
�3�
4���"�"�#3�4�5��S����/�/�/�/�5�
4�s�A�Ac��|jt�5tdtfi��ddd�y#1swYyxYw)N�DistributionSubclass)r+�	TypeError�typerr,s r�test_abc_enforcedzBasicTests.test_abc_enforced=s2���
�
�y�
)�=�D�'�,��"�=�?�*�
)�
)�s	�7�AN��name�c��|jt�5tj|�ddd�y#1swYyxYw�N)r+�
ValueErrorrr)r%r8s  r� test_invalid_inputs_to_from_namez+BasicTests.test_invalid_inputs_to_from_nameCs,��
�
�
�z�
*��"�"�4�(�+�
*�
*�r.)�__name__�
__module__�__qualname__r$r'r-r1r�AssertionErrorrr6r�parameterize�dictr=�r(rrr$sk��(�O�<�
5�
0��n���!�@�"��@��X����$���"�
��)�	�)r(rc�$�eZdZd�Zd�Zd�Zd�Zy)�ImportTestsc��|jt�5tjd�ddd�y#1swYyxYw)N�does_not_exist)r+�ImportError�	importlib�
import_moduler,s r�test_import_nonexistent_modulez*ImportTests.test_import_nonexistent_moduleMs-���
�
�{�
+��#�#�$4�5�,�
+�
+�r.c�v�td��d}|j|j�jd�y)N�entries��group�main)r�assertEqual�loadr>�r%�eps  r�test_resolvezImportTests.test_resolveSs-��
�	�
*�6�
2���������+�+�V�4r(c�Z�td��d}|j|jd�y)NrNrOzns:subzmod:main)rrR�valuerTs  r�"test_entrypoint_with_colon_in_namez.ImportTests.test_entrypoint_with_colon_in_nameWs%��
�	�
*�8�
4��������:�.r(c�d�tddd��}|j�tjusJ�y)NrUzimportlib.metadata�grp�r8rXrP)rrSrJr
rTs  r�test_resolve_without_attrz%ImportTests.test_resolve_without_attr[s1��
��&��
��
�w�w�y�I�.�.�.�.�.r(N)r>r?r@rLrVrYr]rDr(rrFrFLs��6�5�/�/r(rFc�.�eZdZed��Zd�Zd�Zd�Zy)�NameNormalizationTestsc��|�d�ddiiS)zu
        Create minimal metadata for a dist-info package with
        the indicated name on the file system.
        �
.dist-info�METADATAz
VERSION: 1.0
rDr7s r�make_pkgzNameNormalizationTests.make_pkges#���f�J���,�"�
�	
r(c��tj|jd�|j�t	d�dk(sJ�y)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_filesrc�site_dirrr,s r�-test_dashes_in_dist_name_found_as_underscoreszDNameNormalizationTests.test_dashes_in_dist_name_found_as_underscoresqs4��
	���T�]�]�8�4�d�m�m�D��x� �E�)�)�)r(c��d}tj|j|�|j�t	|�dk(sJ�t	|j��dk(sJ�t	|j
��dk(sJ�y)zG
        Ensure the metadata loads when queried with any case.
        �CherryPyrfN)rrgrcrhr�lower�upper)r%�pkg_names  r� test_dist_name_found_as_any_casez7NameNormalizationTests.test_dist_name_found_as_any_caseysm�������T�]�]�8�4�d�m�m�D��x� �E�)�)�)��x�~�~�'�(�E�1�1�1��x�~�~�'�(�E�1�1�1r(c��tj|jd�|j�t	tt
���}|jjtj��}|jj|j|��tj|jd�|�t	tt
���}t|�t|�k(sJ�y)z~
        Two distributions varying only by non-normalized name on
        the file system should resolve as the same.
        �abc�ABCN)rrgrcrh�listr
r�
enter_context�tempdir�add_sys_path�len)r%�before�alt_site_dir�afters    r�test_unique_distributionsz0NameNormalizationTests.test_unique_distributions�s���
	���T�]�]�5�1�4�=�=�A��g�m�o�.�/���}�}�2�2�8�3C�3C�3E�F���
�
�#�#�D�$5�$5�l�$C�D����T�]�]�5�1�<�@��W�]�_�-�.���5�z�S��[�(�(�(r(N)r>r?r@�staticmethodrcriror{rDr(rr_r_ds#���	
��	
�*�2�
)r(r_c�8�eZdZed��Zed��Zd�Zd�Zy)�
NonASCIITestsc�<�dddii}tj||�y)zb
        Create minimal metadata for a package with non-ASCII in
        the description.
        �portend.dist-inforbuDescription: pôrˈtend�portend�rrg�rh�contentss  r�pkg_with_non_ascii_descriptionz,NonASCIITests.pkg_with_non_ascii_description�s.��
 ��5�"�
��
	���X�x�0�r(c�<�dddii}tj||�y)zl
        Create minimal metadata for an egg-info package with
        non-ASCII in the description.
        r�rbu:
                Name: portend

                pôrˈtendr�r�r�s  r�'pkg_with_non_ascii_description_egg_infoz5NonASCIITests.pkg_with_non_ascii_description_egg_info�s0��
 ���"�
��	���X�x�0�r(c�d�|j|j�}t|�}|ddk(sJ�y�N�Descriptionu
pôrˈtend)r�rhr
�r%rn�metas   r�test_metadata_loadsz!NonASCIITests.test_metadata_loads�s3���6�6�t�}�}�E����!���M�"�l�2�2�2r(c�d�|j|j�}t|�}|ddk(sJ�yr�)r�rhr
r�s   r�test_metadata_loads_egg_infoz*NonASCIITests.test_metadata_loads_egg_info�s3���?�?��
�
�N����!���M�"�l�2�2�2r(N)r>r?r@r|r�r�r�r�rDr(rr~r~�s2���������� 3�
3r(r~c��eZdZd�Zd�Zy)�DiscoveryTestsc��tt��}td�|D��sJ�td�|D��sJ�td�|D��sJ�td�|D��sJ�td�|D��sJ�td�|D��sJ�y)Nc3�<K�|]}t|t����y�wr;)r r��.0r&s  r�	<genexpr>z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s����D�e�d�:�d�L�1�e�s�c3�@K�|]}|jddk(���y�w)�Name�egginfo-pkgN�r
r�s  rr�z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s����L�e�d�4�=�=��(�M�9�e���c3�@K�|]}|jddk(���y�w)r��egg_with_module-pkgNr�r�s  rr�z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s ����T�e�d�4�=�=��(�,A�A�e�r�c3�@K�|]}|jddk(���y�w)r��egg_with_no_modules-pkgNr�r�s  rr�z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s"����X�RW�$�4�=�=��(�,E�E�RW�r�c3�@K�|]}|jddk(���y�w)r��sources_fallback-pkgNr�r�s  rr�z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s ����U�u�t�4�=�=��(�,B�B�u�r�c3�@K�|]}|jddk(���y�w)r�rNr�r�s  rr�z8DiscoveryTests.test_package_discovery.<locals>.<genexpr>�s����M�u�t�4�=�=��(�N�:�u�r�)rsr�all�any)r%�distss  r�test_package_discoveryz%DiscoveryTests.test_package_discovery�s����]�_�%���D�e�D�D�D�D��L�e�L�L�L�L��T�e�T�T�T�T��X�RW�X�X�X�X��U�u�U�U�U�U��M�u�M�M�M�Mr(c��|jt�5ttdd���ddd�y#1swYyxYw)N�	something�else)�contextr8)r+r<rsrr,s r�test_invalid_usagez!DiscoveryTests.test_invalid_usage�s+��
�
�
�z�
*���{��@�A�+�
*�
*�s�6�?N)r>r?r@r�r�rDr(rr�r��s��N�Br(r�c��eZdZd�Zd�Zy)�
DirectoryTestc��|jjd�j�|jt�5td�ddd�y#1swYyxYw)NzEGG-INFOzunknown-package)rh�joinpath�mkdirr+r	rr,s r�
test_egg_infozDirectoryTest.test_egg_info�sA���
�
���z�*�0�0�2�
�
�
�3�
4��%�&�5�
4�
4�s�A�Ac��|jjd�}|j�|j|�5|j	t
�5t
d�ddd�ddd�y#1swY�xYw#1swYyxYw)Nzfoo-3.6.egg�foo)rhr�r�rvr+r	r)r%�eggs  r�test_eggzDirectoryTest.test_egg�s`���m�m�$�$�]�3���	�	��
�
�
�s�
#��"�"�#7�8����9�$�
#�8�8��$�
#�s#�A<�A0�A<�0A9	�5A<�<BN)r>r?r@r�r�rDr(rr�r��s��'�r(r�c��eZdZdZd�Zy)�MissingSysPathz/does-not-existc�@�tjj�y�zp
        Discovering distributions should succeed even if
        there is an invalid path on sys.path.
        N)rJr
rr,s r�test_discoveryzMissingSysPath.test_discovery�s��
	���(�(�*r(N)r>r?r@rhr�rDr(rr�r��s�� �H�+r(r�c�(��eZdZdZ�fd�Zd�Z�xZS)�InaccessibleSysPathz/access-deniedc���t�|��|j�|jj	|j
d��y)Nr)�	perm_bits)�super�setUp�
setUpPyfakefs�fs�
create_dirrh)r%�	__class__s �rr�zInaccessibleSysPath.setUp�s3���
��
�����������4�=�=�C��8r(c�R�ttjj��yr�)rsrJr
rr,s rr�z"InaccessibleSysPath.test_discovery�s��
	
�Y�
�
�
-�
-�
/�0r()r>r?r@rhr�r��
__classcell__�r�s@rr�r��s����H�9�
1r(r�c�N��eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Z�xZS)
�TestEntryPointsc�l��t�|�|�tjj	ddd��|_y)Nr8rXrPr\)r��__init__rJr
rrU)r%�argsr�s  �rr�zTestEntryPoints.__init__s4���
���$���$�$�/�/��w�g�0�
��r(c��tjtj|j��}||jk(sJ�yr;)�pickle�loads�dumpsrU)r%�reviveds  r�test_entry_point_pickleablez+TestEntryPoints.test_entry_point_pickleables/���,�,�v�|�|�D�G�G�4�5���$�'�'�!�!�!r(c��tddd�y)zH
        Capture legacy (namedtuple) construction, discouraged.
        r8rXrPN)rr,s r�test_positional_argsz$TestEntryPoints.test_positional_args
s��	�6�7�G�,r(c�z�|jt�5d|j_ddd�y#1swYyxYw)zEntryPoints should be immutable�badactorN)r+�AttributeErrorrUr8r,s r�test_immutablezTestEntryPoints.test_immutables'��
�
�
�~�
.�%�D�G�G�L�/�
.�
.�s�1�:c��dt|j�vsJ�dt|j�vsJ�dt|j�vsJ�y)Nrzname=z'name')�reprrUr,s r�	test_reprzTestEntryPoints.test_reprsD���t�D�G�G�}�,�,�,��$�t�w�w�-�'�'�'��4����=�(�(�(r(c�.�t|j�y)zEntryPoints should be hashableN)�hashrUr,s r�
test_hashablezTestEntryPoints.test_hashables
���T�W�W�
r(c�:�|jjdk(sJ�y)NrX)rU�moduler,s r�test_modulezTestEntryPoints.test_modules���w�w�~�~��(�(�(r(c�4�|jj�J�yr;)rU�attrr,s r�	test_attrzTestEntryPoints.test_attr!s���w�w�|�|�#�#�#r(c�N�ttddd��tddd��g�y)zK
        EntryPoint objects are sortable, but result is undefined.
        �b�valrPr\�aN)�sortedrr,s r�
test_sortablezTestEntryPoints.test_sortable$s)��	���5��@���5��@�
�	
r()
r>r?r@r�r�r�r�r�r�r�r�r�r�r�s@rr�r��s0���
�"�-�&�
)�
�)�$�	
r(r�c��eZdZd�Zy)�
FileSystemc��tj|j�ii|j��t	t��y)zb
        Ensure a Unicode subdirectory of a directory on sys.path
        does not crash.
        ��prefixN)rrg�unicode_filenamerhrsrr,s r�test_unicode_dir_on_sys_pathz'FileSystem.test_unicode_dir_on_sys_path3s6��
	���
�
"�
"�
$�b�)��=�=�	
�	
�]�_�r(N)r>r?r@r�rDr(rr�r�0s��	r(r�c��eZdZd�Zd�Zy)�!PackagesDistributionsPrebuiltTestc�L�|jd�t�ddgk(sJ�y)Nzexample-21.12-py3-none-any.whl�example��_fixture_on_pathrr,s r�#test_packages_distributions_examplezEPackagesDistributionsPrebuiltTest.test_packages_distributions_example@s)�����>�?�%�'�	�2�y�k�A�A�Ar(c�L�|jd�t�ddgk(sJ�y)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_example2Ds+��
	
���?�@�%�'�
�3�
�|�C�C�Cr(N)r>r?r@r�r�rDr(rr�r�?s��B�Dr(r�c��eZdZd�Zd�Zy)�PackagesDistributionsTestc�b�tjdddii|j��t�y)zN
        Test a package built without 'top-level.txt' or a file list.
        ztrim_example-1.0.0.dist-inforbzS
                Name: trim_example
                Version: 1.0.0
                r�N)rrgrhrr,s r�6test_packages_distributions_neither_toplevel_nor_fileszPPackagesDistributionsTest.test_packages_distributions_neither_toplevel_nor_filesPs8��	���.��!�1�
��=�=�
	
�	� r(c�2�tjj�}td��}d|i}t	|�D]3\}}|jd|�|��dd|��d|��did|��d	dd|��dii��5|j
t
j|��
�t
j||j��t�}tt|��D],}|d|��dgk(sJ�|d|��dgk(sJ�|d|��dgk(r�,J�td
�|D��rJ�y)zW
        Test top-level modules detected on a package without 'top-level.txt'.
        zX
                Name: all_distributions
                Version: 1.0.0
                )rbz!all_distributions-1.0.0.dist-infozimportable-name r9�
in_namespace_�mod�in_package_z__init__.py)�RECORDr��all_distributionsc3�>K�|]}|jd����y�w)raN)�endswith)r�r8s  rr�zYPackagesDistributionsTest.test_packages_distributions_all_module_types.<locals>.<genexpr>�s����M�}�t�t�}�}�\�2�}�s�N)rJ�	machinery�all_suffixesrC�	enumerate�updater�build_recordrgrhr�rangerwr�)r%�suffixesr
�files�i�suffixrs       r�,test_packages_distributions_all_module_typeszFPackagesDistributionsTest.test_packages_distributions_all_module_typesasd���&�&�3�3�5����
��
0��
��#�8�,�I�A�v��L�L�&�q�c�&��2�B�#�A�3�'��f�X���*�"�!��%�%�r��f�X���(�	�
�-�	����x�4�4�U�;�<����U�4�=�=�9�.�0�
��s�8�}�%�A� �#3�A�3�!7�8�=P�<Q�Q�Q�Q� �=���!4�5�:M�9N�N�N�N� �;�q�c�!2�3�8K�7L�L�L�L�&�
�M�}�M�M�M�M�Mr(N)r>r?r@r�rrDr(rr�r�Ms
��!�"%Nr(r�c��eZdZd�Zy)�PackagesDistributionsEggTestc���t���fd�}|d�dhk(sJ�|d�dhk(sJ�|d�t�k(sJ�|d�dhk(sJ�y	)
z�
        Test old-style egg packages with a variation of 'top_level.txt',
        'SOURCES.txt', and 'installed-files.txt', available.
        c�`���j�D��chc]\}}||vr|��
c}}Scc}}wr;)�items)�package_name�import_name�
package_namesrs   �r�import_names_from_packagezcPackagesDistributionsEggTest.test_packages_distributions_on_eggs.<locals>.import_names_from_package�sC���3F�-�2E�2E�2G��2G�.�K���=�0��2G��
��s�*r�rr��egg_with_moduler�r��sources_fallbackN)r�set)r%rrs  @r�#test_packages_distributions_on_eggsz@PackagesDistributionsEggTest.test_packages_distributions_on_eggs�su���
/�0�
�	�)��7�E�7�B�B�B�)�)>�?�DU�CV�V�V�V�)�)B�C�s�u�L�L�L�)�)?�@�EW�DX�X�X�Xr(N)r>r?r@rrDr(rrr�s��Yr(r)3r"r��unittestr�importlib.metadatarJ�
contextlib�	itertools�!pyfakefs.fake_filesystem_unittestr�ffsrI�stubsr9r�_contextrrrr	r
rrr
rr�contextmanagerr�DistInfoPkg�TestCaserrF�	OnSysPath�SiteDirr_r~�
EggInfoPkg� EggInfoPkgPipInstalledNoToplevel�EggInfoPkgPipInstalledNoModules�EggInfoPkgSourcesFallbackr�r�r�r�r��FileBuilderr��ZipFixturesr�r�rrDr(r�<module>r3s5��	�
������7�3���
�
�
�������%)��%�%�x�'8�'8�%)�P/�(�&�&��(9�(9�/�0,)�X�/�/��1A�1A�8�CT�CT�,)�^(3�H�&�&��(8�(8�(�:K�:K�(3�VB�����-�-��,�,��&�&�������
B�,
�H�&�&��(8�(8�(�:K�:K�
� +�X�'�'��):�):�+�
1�(�,�,�c�l�l�
1� .
�h�'�'�.
�b�����(�(�(�*>�*>��@Q�@Q��D��(<�(<�h�>O�>O�D�9N�����(�(�(�*;�*;�9N�x"Y�����-�-��,�,��&�&����"Y��}�7�6�6�7�s�I=�=J�J

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists