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

�Ke�J���	ddlZddlZddlZddlZddlZddlZddlmZddlmZm	Z	ddl
mZddlm
Z
mZmZddlmZddlmZddlmZGd	�d
e��ZGd�de��ZGd
�dejejejej��ZGd�dejejej��Zd�Zedkree����dSdS)�N)�mock)�Distribution�fix_help_options)�Command)�captured_stdout�captured_stderr�run_unittest)�TESTFN)�support)�logc��eZdZ	dgZd�ZdS)�	test_dist)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__�user_optionsr�rrrrs2������-�	-��L�"�"�"�"�"rrc��eZdZ	d�ZdS)�TestDistributionc��|jSr)�
_config_filesrs r�find_config_filesz"TestDistribution.find_config_files)s���!�!rN)rrrr!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)�appendr4�assertEqual�get_command_packages)rr3s  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)r7�foo.barzdistutils.testsr�sometext)�distutils.tests.test_distrr(r)�extendr4r9r:�get_command_obj�assertIsInstancer)rrr3�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_datarK�exec_prefix�home�user�rootz/b)r(r)r8�
addCleanup�os�unlinkr
�open�print�formatr�patch�multipler4r9�sorted�command_options�get�keys�items�assertNotIn)	r�fakepath�f�valuesr3�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)Nr6rHz[global]rIz!command_packages = foo.bar, splat)r7r>�splat)r=�sporkr6r%r7rq)r=�r6)
r(r)r8rYrZr[r
r\r]�closer4r9r:)rrhr3s   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)r8)�msg�warnss �r�_warnz6DistributionTestCase.test_empty_options.<locals>._warn�s����L�L������r�warn�xxx�xxxx)�author�name�version�url�options��attrsrr�)	rY�setattr�warningsrzrr9�lenrf�dir)rry�distrxs   @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_optionsr9�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)Nr7r�)r7r�r�)rr9�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.cfgrHz[distutils]
c����Srr)�path�	temp_homes �r�	_expanderzFDistributionTestCase.test_find_config_files_disable.<locals>._expander�s	����r�script_argsz
--no-user-cfgr�r%)�mkdtemprZr~r��joinr\�write�
expanduserrr!r9r�)	r�
user_filenamerhr��old_expanderr3�	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.r4r;rErnrtr�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)r~rzMetadata-Version: 1.0�	provides:�	requires:�
obsoletes:)rr��assertInrf�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�r~r�provides�Metadata-Version: 1.1r�r�)rr9r��get_providesr�r�rfr�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)�r~r�requiresr�r�zRequires: otherzRequires: another (==1.0)r�)rr9r��get_requiresr�r�rfr�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�)r~r�)�iterrrCr�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)�r~r�	obsoletesr�r�r�zObsoletes: otherzObsoletes: another (<1.0))rr9r��
get_obsoletesr�r�rfr�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�)r~r�)r�rrCr�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�r~r�classifiersr�)rr9�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�rCr�r�r�r9�rr��errorr3s    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�r~rr�)rr9�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�r�r�r�)	rrr�r�rCr�r�r�r9r�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�r~rr�)rr9�
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�rCr�r�r�r9r�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)r~r�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�)r~r�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�rH�.)�linux�darwin�HOME�win32�USERPROFILEz not found in )rZr~r�r�r�r\r�rsrr(�platform�environr!r��remove)rr��temp_dirrhr�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�cr3)r%���r)r$r%r&r%)r%r'r()rr9)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)rr)�strip)�.0�lines  r�
<listcomp>z3MetadataTestCase.test_show_help.<locals>.<listcomp>�s4��)�)�)�4��Z�Z�\�\�R�'�'��'�'�'rr)rYr�
set_threshold�_global_log�	thresholdrr(r)�help�script_namerr1r��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)r~rr�descriptionr
r�r�r�UNKNOWN)rr�r�r�r��seek�
read_pkg_filer9r~rr@r
r�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	rrrr"r,r<rEr�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_suiterM
si���� � �E�	�M�M�(�%�'�'�=�=�>R�S�S�T�T�T�	�M�M�(�%�'�'�=�=�>N�O�O�P�P�P��Lr�__main__) rZr�r(rGr�rr�distutils.distrr�
distutils.cmdr�test.supportrrr	�test.support.os_helperr
�distutils.testsr�	distutilsrrr�LoggingSilencer�TempdirManager�EnvironGuard�TestCaser#r�rMrrrr�<module>rYs���	�	�	�	�	�	�	�	�
�
�
�
�������������������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