Current File : //usr/local/apps/python3/lib/python3.11/distutils/tests/__pycache__/test_dist.cpython-311.pyc
�

�Ke�J���dZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
ddlmZddl
mZmZmZddlmZddlmZdd	lmZGd
�de��ZGd�d
e	��ZGd�dejejejej��ZGd�dejejej��Zd�Ze dkree����dSdS)zTests for distutils.dist.�N)�mock)�Distribution�fix_help_options)�Command)�captured_stdout�captured_stderr�run_unittest)�TESTFN)�support)�logc��eZdZdZdgZd�ZdS)�	test_distz#Sample distutils extension command.)zsample-option=�Sz	help textc��d|_dS�N)�
sample_option��selfs �C/usr/local/apps/python3/lib/python3.11/distutils/tests/test_dist.py�initialize_optionsztest_dist.initialize_optionss��!�����N)�__name__�
__module__�__qualname__�__doc__�user_optionsr�rrrrs5������-�-�	-��L�"�"�"�"�"rrc��eZdZdZd�ZdS)�TestDistributionz�Distribution subclasses that avoids the default search for
    configuration files.

    The ._config_files attribute must be set before
    .parse_config_files() is called.
    c��|jSr)�
_config_filesrs r�find_config_filesz"TestDistribution.find_config_files)s���!�!rN)rrrrr"rrrrr!s-��������"�"�"�"�"rrc�f��eZdZ�fd�Z�fd�Zdd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Z�xZS)�DistributionTestCasec���tt|�����tjtjdd�f|_tjdd�=dS)N�)�superr$�setUp�sys�argv�r�	__class__s �rr(zDistributionTestCase.setUp2sI���
�"�D�)�)�/�/�1�1�1��H�c�h�q�q�q�k�)��	��H�Q�R�R�L�L�Lrc���|jdt_|jdtjdd�<tt|�����dS�Nrr&)r*r)r'r$�tearDownr+s �rr/zDistributionTestCase.tearDown7sH����9�Q�<����i��l�������
�"�D�)�)�2�2�4�4�4�4�4rrc��t��}||_|���|���|Sr)rr!�parse_config_files�parse_command_line)r�configfiles�ds   r�create_distributionz(DistributionTestCase.create_distribution<s=������%���	������	�������rc��tj�d��|���}|�|���dg��dS)N�build�distutils.command)r)r*�appendr5�assertEqual�get_command_packages)rr4s  r�!test_command_packages_unspecifiedz6DistributionTestCase.test_command_packages_unspecifiedCsS������� � � ��$�$�&�&������/�/�1�1�4G�3H�I�I�I�I�Irc�\�ddlm}tj�gd���|���}|�|���gd���|�d��}|�	||��|�|j
d��dS)Nr)r)�--command-packageszfoo.bar,distutils.testsrz
-Ssometext)r8�foo.barzdistutils.testsr�sometext)�distutils.tests.test_distrr)r*�extendr5r:r;�get_command_obj�assertIsInstancer)rrr4�cmds    r�test_command_packages_cmdlinez2DistributionTestCase.test_command_packages_cmdlineHs���7�7�7�7�7�7��������	�	�	�

�$�$�&�&������/�/�1�1�L�L�L�	N�	N�	N�����,�,�����c�9�-�-�-�����*�J�7�7�7�7�7rc���tj�d��|�tjt��d}ttd��5}td�	|��|���ddd��n#1swxYwYtj�tdd���5}|�
tg��}ddd��n#1swxYwYt|f}|||||||||||||d�
}|�t|j�d�������t|�������|j�d�����D]!\}}|�|||���"tj�tdd	���5}|�
tg��}ddd��n#1swxYwY|���D]1}|�||j�di�����2dS)
N�installz/somedir�wz�[install]
install-base = {0}
install-platbase = {0}
install-lib = {0}
install-platlib = {0}
install-purelib = {0}
install-headers = {0}
install-scripts = {0}
install-data = {0}
prefix = {0}
exec-prefix = {0}
home = {0}
user = {0}
root = {0}��filez/a)�prefix�base_prefix)
�install_base�install_platbase�install_lib�install_platlib�install_purelib�install_headers�install_scripts�install_datarL�exec_prefix�home�user�rootz/b)r)r*r9�
addCleanup�os�unlinkr
�open�print�formatr�patch�multipler5r:�sorted�command_options�get�keys�items�assertNotIn)	r�fakepath�f�valuesr4�option_tuple�result_dict�key�values	         r�test_venv_install_optionsz.DistributionTestCase.test_venv_install_optionsWs
������	�"�"�"�����	�6�*�*�*���
�&�#�
�
�	;�!��
 �"(���!1�!1��

;�

;�

;�

;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�"�Z�
 �
 ��T�t�
 �
D�
D�	3���(�(�&��2�2�A�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3���)��)� ,�'�+�+�+�+�(�"�'� � � �
�
�� 	
����1�$�(�(��3�3�8�8�:�:�;�;��;�#�#�%�%�&�&�	(�	(�	(��-�1�1�)�<�<�B�B�D�D�	6�	6�L�S�%����U�K��$4�5�5�5�5��Z�
 �
 ��T�t�
 �
D�
D�	3���(�(�&��2�2�A�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3��#�#�%�%�	H�	H�C����S�!�"3�"7�"7�	�2�"F�"F�G�G�G�G�	H�	Hs6�%B
�
B�B�?C'�'C+�.C+�,H�H�Hc�B�tj�d��|�tjt��ttd��}	td|���td|���|�	��n#|�	��wxYw|�
tg��}|�|���gd���gd�tjdd�<|�
tg��}|�|���d	d
g��gd�tjdd�<|�
tg��}|�|���d	g��dS)Nr7rIz[global]rJz!command_packages = foo.bar, splat)r8r?�splat)r>�sporkr7r&r8rr)r>�r7)
r)r*r9rZr[r\r
r]r^�closer5r:r;)rrir4s   r� test_command_packages_configfilez5DistributionTestCase.test_command_packages_configfile�s�������� � � �����	�6�*�*�*�������	��*�1�%�%�%�%��5�A�>�>�>�>�
�G�G�I�I�I�I��A�G�G�I�I�I�I�����$�$�f�X�.�.������/�/�1�1�B�B�B�	D�	D�	D�@�?�?��������$�$�f�X�.�.������/�/�1�1�-�w�7�	9�	9�	9�
;�:�:��������$�$�f�X�.�.������/�/�1�1�4G�3H�I�I�I�I�Is�"B�B(c�>��g��fd�}|�ttdtj��|t_t	ddddid����}|�t
���d��|�dt|����dS)	Nc�2����|��dSr)r9)�msg�warnss �r�_warnz6DistributionTestCase.test_empty_options.<locals>._warn�s����L�L������r�warn�xxx�xxxx)�author�name�version�url�options��attrsrr�)	rZ�setattr�warningsr{rr:�lenrg�dir)rrz�distrys   @r�test_empty_optionsz'DistributionTestCase.test_empty_options�s����
��	�	�	�	�	�	
�����6�8�=�A�A�A���
��U�E�.3�F�.0�#2�#2�3�3�3��	
����U���Q�'�'�'�����C��I�I�.�.�.�.�.rc��ddd�}t|���}|���|�|jjddg��|�|jjddg��ddd�}t|���}|���|�|jjdg��|�|jjdg��dS)N�one,two)�keywords�	platformsr��one�twozfoo bar)r�finalize_optionsr:�metadatar�r��rr�r�s   r�test_finalize_optionsz*DistributionTestCase.test_finalize_options�s���&�'�)�)���%�(�(�(��������	
�����0�5�%�.�A�A�A������/�%���@�@�@�&�'�)�)���%�(�(�(�������������0�9�+�>�>�>������/�)��=�=�=�=�=rc�L�t��}|�|jd��|���}|�|dg��|�|jdg��d|_|���}|�|gd���dS)Nr8r�)r8r�r�)rr:�command_packagesr;)rr��cmdss   r�test_get_command_packagesz.DistributionTestCase.test_get_command_packages�s����~�~������.��5�5�5��(�(�*�*������ 3�4�5�5�5�����.�-�.�	0�	0�	0�!*����(�(�*�*������B�B�B�C�C�C�C�Crc�r�t��}d}ddi}|�t|j||��dS)N)�ok�level�ok2)r�assertRaises�
ValueError�announce)rr��args�kwargss    r�
test_announcez"DistributionTestCase.test_announce�s<���~�~�����5�!�����*�d�m�T�6�B�B�B�B�Brc����|����tjdkr!tj��d��}n tj��d��}t|d��5}|�d��ddd��n#1swxYwY�fd�}tjj}|tj_	t��}|�	��}tddgi�	��}|�	��}|tj_n#|tj_wxYw|�
t|��d
z
t|����dS)N�posix�.pydistutils.cfg�pydistutils.cfgrIz[distutils]
c����Srr)�path�	temp_homes �r�	_expanderzFDistributionTestCase.test_find_config_files_disable.<locals>._expander�s	����r�script_argsz
--no-user-cfgr�r&)�mkdtempr[rr��joinr]�write�
expanduserrr"r:r�)	r�
user_filenamerir��old_expanderr4�	all_files�filesr�s	        @r�test_find_config_files_disablez3DistributionTestCase.test_find_config_files_disable�s�����L�L�N�N�	�
�7�g����G�L�L��4F�G�G�M�M��G�L�L��4E�F�F�M�
�-��
%�
%�	%��
�G�G�O�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	�	�	�	�	��w�)��&����	.����A��+�+�-�-�I��M�O�3D�#E�F�F�F�A��'�'�)�)�E�!-�B�G�����B�G��-�-�-�-�	
����Y����)�3�u�:�:�6�6�6�6�6s�7B�B� B�A	D'�'D:)r)rrrr(r/r5r<rFrorur�r�r�r�r��
__classcell__�r,s@rr$r$-s��������
�����
5�5�5�5�5�
����J�J�J�

8�
8�
8�8H�8H�8H�tJ�J�J�4/�/�/�&>�>�>�$
D�
D�
D�C�C�C�7�7�7�7�7�7�7rr$c���eZdZ�fd�Z�fd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z�xZS)�MetadataTestCasec���tt|�����tjtjdd�f|_dSr)r'r�r(r)r*r+s �rr(zMetadataTestCase.setUps<���
���%�%�+�+�-�-�-��H�c�h�q�q�q�k�)��	�	�	rc���|jdt_|jdtjdd�<tt|�����dSr.)r*r)r'r�r/r+s �rr/zMetadataTestCase.tearDownsH����9�Q�<����i��l�������
���%�%�.�.�0�0�0�0�0rc��tj��}|j�|��|���Sr)�io�StringIOr��write_pkg_file�getvalue)rr��sios   r�format_metadataz MetadataTestCase.format_metadatas1���k�m�m���
�$�$�S�)�)�)��|�|�~�~�rc�t�ddd�}t|��}|�|��}|�d|��|�d|�����|�d|�����|�d|�����dS)N�package�1.0)rr�zMetadata-Version: 1.0�	provides:�	requires:�
obsoletes:)rr��assertInrg�lower�rr�r��metas    r�test_simple_metadataz%MetadataTestCase.test_simple_metadatas���"�!�#�#���E�"�"���#�#�D�)�)���
�
�-�t�4�4�4�����d�j�j�l�l�3�3�3�����d�j�j�l�l�3�3�3�����t�z�z�|�|�4�4�4�4�4rc���ddddgd�}t|��}|�|j���ddg��|�|���ddg��|�|��}|�d|��|�d|�����|�d|�����dS)Nr�r�zpackage.sub�rr��provides�Metadata-Version: 1.1r�r�)rr:r��get_providesr�r�rgr�r�s    r�
test_provideszMetadataTestCase.test_providess���"�!�'��7�9�9���E�"�"�������3�3�5�5�#�]�3�	5�	5�	5�����*�*�,�,�#�]�3�	5�	5�	5��#�#�D�)�)���
�
�-�t�4�4�4�����d�j�j�l�l�3�3�3�����t�z�z�|�|�4�4�4�4�4rc�R�|�ttdddgd���dS)Nr�r��my.pkg (splat)r��r�r�rrs r�test_provides_illegalz&MetadataTestCase.test_provides_illegal)�>�����*�l�#,�&+�(8�'9�;�;�	<�	<�	<�	<�	<rc�4�ddddgd�}t|��}|�|j���ddg��|�|���ddg��|�|��}|�d|��|�d|�����|�d|��|�d	|��|�d
|�����dS)Nr�r��otherzanother (==1.0)�rr��requiresr�r�zRequires: otherzRequires: another (==1.0)r�)rr:r��get_requiresr�r�rgr�r�s    r�
test_requireszMetadataTestCase.test_requires/s ��"�!�%�'8�9�;�;���E�"�"�������3�3�5�5�!�#4�5�	7�	7�	7�����*�*�,�,�!�#4�5�	7�	7�	7��#�#�D�)�)���
�
�-�t�4�4�4�����d�j�j�l�l�3�3�3��
�
�'��.�.�.��
�
�1�4�8�8�8�����t�z�z�|�|�4�4�4�4�4rc�R�|�ttdddgd���dS)Nr�r�r�r�r�rs r�test_requires_illegalz&MetadataTestCase.test_requires_illegal?r�rc��dtdg��d�}t|��}|�|jjt
��dS)Nr�r�)rr�)�iterrrDr�r��listr�s   r�test_requires_to_listz&MetadataTestCase.test_requires_to_listEsJ��"�!�7�)�_�_�.�.���E�"�"�����d�m�4�d�;�;�;�;�;rc�4�ddddgd�}t|��}|�|j���ddg��|�|���ddg��|�|��}|�d|��|�d|�����|�d|�����|�d	|��|�d
|��dS)Nr�r�r�zanother (<1.0)�rr��	obsoletesr�r�r�zObsoletes: otherzObsoletes: another (<1.0))rr:r��
get_obsoletesr�r�rgr�r�s    r�test_obsoleteszMetadataTestCase.test_obsoletesLs ��"�!�&�(8�9�;�;���E�"�"�������4�4�6�6�!�#3�4�	6�	6�	6�����+�+�-�-�!�#3�4�	6�	6�	6��#�#�D�)�)���
�
�-�t�4�4�4�����d�j�j�l�l�3�3�3�����d�j�j�l�l�3�3�3��
�
�(�$�/�/�/��
�
�1�4�8�8�8�8�8rc�R�|�ttdddgd���dS)Nr�r�r�r�r�rs r�test_obsoletes_illegalz'MetadataTestCase.test_obsoletes_illegal\s>�����*�l�#,�&+�)9�(:�<�<�	=�	=�	=�	=�	=rc��dtdg��d�}t|��}|�|jjt
��dS)Nr�r�)rr�)r�rrDr�r�r�r�s   r�test_obsoletes_to_listz'MetadataTestCase.test_obsoletes_to_listbsJ��"�"�G�9�o�o�/�/���E�"�"�����d�m�5�t�<�<�<�<�<rc���dddgd�}t|��}|�|���dg��|�|��}|�d|��dS)N�Boa�3.0�#Programming Language :: Python :: 3�rr��classifiersr�)rr:�get_classifiersr�r�r�s    r�test_classifierz MetadataTestCase.test_classifierhs����5�!F� G�I�I���E�"�"������-�-�/�/�?�@�	B�	B�	B��#�#�D�)�)���
�
�-�t�4�4�4�4�4rc�|�dddd�}t��5}t|��}ddd��n#1swxYwY|�d|�����|�|jjt��|�|jjt|d����dS)Nr�r�)r�r��should be a listr�)	rrr�r�rDr�r�r�r:�rr��errorr4s    r�test_classifier_invalid_typez-MetadataTestCase.test_classifier_invalid_typeqs����5� H�J�J��
�
�
�	$�%��U�#�#�A�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	
�
�
�(�%�.�.�*:�*:�;�;�;����a�j�4�d�;�;�;������/��e�M�2�3�3�	5�	5�	5�	5�	5��1�5�5c��ddgd�d�}t|��}|�|���gd���dS)N�Montyr���spam�eggsz
life of brian�rr�r�)rr:�get_keywordsr�s   r�
test_keywordszMetadataTestCase.test_keywords}sd�� �U�>�>�>�@�@���E�"�"������*�*�,�,�:�:�:�	<�	<�	<�	<�	<rc�|�dddd�}t��5}t|��}ddd��n#1swxYwY|�d|�����|�|jjt��|�|jjt|d����dS)Nr�r�r�rr�r�)	rrr�r�rDr�r�r�r:r�s    r�test_keywords_invalid_typez+MetadataTestCase.test_keywords_invalid_type�s��� �U�>�@�@��
�
�
�	$�%��U�#�#�A�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	
�
�
�(�%�.�.�*:�*:�;�;�;����a�j�1�4�8�8�8������,�d�5��3D�.E�.E�F�F�F�F�Fr�c��ddddgd�}t|��}|�|���ddg��dS)Nr�r��	GNU/Linux�Some Evil Platform�rr�r�)rr:�
get_platformsr�s   r�test_platformszMetadataTestCase.test_platforms�sd�� �U�*�,@�A�C�C���E�"�"������+�+�-�-�%�';�<�	>�	>�	>�	>�	>rc�|�dddd�}t��5}t|��}ddd��n#1swxYwY|�d|�����|�|jjt��|�|jjt|d����dS)Nr�r�)rrrr�r�)	rrr�r�rDr�r�r�r:r�s    r�test_platforms_invalid_typesz-MetadataTestCase.test_platforms_invalid_types�s��� �U�A�C�C��
�
�
�	$�%��U�#�#�A�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	
�
�
�(�%�.�.�*:�*:�;�;�;����a�j�2�D�9�9�9������-�t�E�+�4F�/G�/G�H�H�H�H�Hr�c��dddd�}t|��}|�|��}|�d|��dS)Nr�r�zhttp://example.org/boa)rr��download_urlr�)rr�r�r�s    r�test_download_urlz"MetadataTestCase.test_download_url�sQ���5�!9�;�;���E�"�"���#�#�D�)�)���
�
�-�t�4�4�4�4�4rc���tjd��}dd|d�}t|��}|�|��}|�dd��}|�||��dS)Nzc        example::
              We start here
            and continue here
          and end here.r�r�)rr��long_descriptionz	
        �
)�textwrap�dedentrr��replacer�)r�	long_descr�r�r�s     r�test_long_descriptionz&MetadataTestCase.test_long_description�s~���O�%���	�
#�!�%.�0�0���E�"�"���#�#�D�)�)���|�|�N�D�1�1���
�
�i��&�&�&�&�&rc���tjdkrd}nd}|���}tj�||��}t|d��}	|�d��|���n#|���wxYw	t��}tj
dvr9|tjd<|���}|�
||��tj
dkr?|tjd	<|���}|�
|||�d
|����tj|��dS#tj|��wxYw)Nr�r�r�rI�.)�linux�darwin�HOME�win32�USERPROFILEz not found in )r[rr�r�r�r]r�rtrr)�platform�environr"r��remove)rr��temp_dirrir�r�s      r�test_custom_pydistutilsz(MetadataTestCase.test_custom_pydistutils�sW���7�g���.�M�M�-�M��<�<�>�>������X�}�=�=�
����$�$��	�
�G�G�C�L�L�L�
�G�G�I�I�I�I��A�G�G�I�I�I�I����	%��>�>�D��|�2�2�2�%-��
�6�"��.�.�0�0���
�
�m�U�3�3�3��|�w�&�&�,4��
�=�)��.�.�0�0���
�
�m�U�6C�m�m�U�U�K�M�M�M�
�I�m�$�$�$�$�$��B�I�m�$�$�$�$���s�B�B�B$E�E/c��ddg}t|��}|�|dd��|�|dd��dS)N)�a�b�cr4)r&���r)r%r&r'r&)r&r(r))rr:)r�help_tuples�
fancy_optionss   r�test_fix_help_optionsz&MetadataTestCase.test_fix_help_options�sU��+�\�:��(��5�5�
�����q�)�?�;�;�;�����q�)�9�5�5�5�5�5rc��|�tjtjj��t��}gt_d|_d|_	t��5}|���ddd��n#1swxYwYd�|����
d��D��}|�|��dS)Nr&zsetup.pyc�B�g|]}|���dk�|��S)rs)�strip)�.0�lines  r�
<listcomp>z3MetadataTestCase.test_show_help.<locals>.<listcomp>�s4��)�)�)�4��Z�Z�\�\�R�'�'��'�'�'rr)rZr�
set_threshold�_global_log�	thresholdrr)r*�help�script_namerr2r��split�
assertTrue)rr��s�outputs    r�test_show_helpzMetadataTestCase.test_show_help�s�������)�3�?�+D�E�E�E��~�~�������	�%���
�
�
�	&�!��#�#�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�)�)�1�:�:�<�<�#5�#5�d�#;�#;�)�)�)����������s�&B�B�Bc��dddddddgdgd	�}t|��}|j}tj��}|�|��|�d
��|�|��|�|jd��|�|j	d��|�|j
d��|�|jd��|�|jddg��|�|j
dg��|�|jd��|�|jdg��dS)Nr�r��descr|zhttp://example.comr�r��foo)rr�r�descriptionrr�r�r�UNKNOWN)rr�r�r�r��seek�
read_pkg_filer:rr�rArr�r�r�r�)rr�r�r��PKG_INFOs     r�test_read_metadataz#MetadataTestCase.test_read_metadata�s\��"�!�%+� %�!5�#�U�^�#�W�
&�&���E�"�"���=���;�=�=������)�)�)��
�
�a�������x�(�(�(������	�2�2�2�����)�5�1�1�1�����-�u�5�5�5�����.�0D�E�E�E�����*�U�E�N�;�;�;�����+�i�[�9�9�9�����+�T�2�2�2�����*�U�G�4�4�4�4�4r)rrrr(r/r�r�r�r�r�r�r�r�r�r�r�r�rrr
rrrr#r-r=rFr�r�s@rr�r�s��������*�*�*�*�*�1�1�1�1�1�
���
5�5�5�5�5�5�<�<�<�5�5�5� <�<�<�<�<�<�9�9�9� =�=�=�=�=�=�5�5�5�
5�
5�
5�<�<�<�	G�	G�	G�>�>�>�	I�	I�	I�5�5�5�
'�
'�
'�!%�!%�!%�F6�6�6� � � �5�5�5�5�5�5�5rr�c�$�tj��}|�tj���t
����|�tj���t����|Sr)�unittest�	TestSuite�addTest�
TestLoader�loadTestsFromTestCaser$r�)�suites r�
test_suiterN
si���� � �E�	�M�M�(�%�'�'�=�=�>R�S�S�T�T�T�	�M�M�(�%�'�'�=�=�>N�O�O�P�P�P��Lr�__main__)!rr[r�r)rHr�rr�distutils.distrr�
distutils.cmdr�test.supportrrr	�test.support.os_helperr
�distutils.testsr�	distutilsrrr�LoggingSilencer�TempdirManager�EnvironGuard�TestCaser$r�rNrrrr�<module>rZs����	�	�	�	�	�	�	�	�
�
�
�
�������������������9�9�9�9�9�9�9�9�!�!�!�!�!�!�����������*�)�)�)�)�)�#�#�#�#�#�#�������"�"�"�"�"��"�"�"�	"�	"�	"�	"�	"�|�	"�	"�	"�Q7�Q7�Q7�Q7�Q7�7�2�"�1�"�/�#�,�Q7�Q7�Q7�fH5�H5�H5�H5�H5�w�-�w�/C��(�H5�H5�H5�T����z����L�����������r