HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/distutils/tests/__pycache__/test_dist.cpython-37.opt-1.pyc
B

!��g�J�@sdZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZddlm
Z
ddlmZmZmZmZddlmZddlmZGd	d
�d
e
�ZGdd�de	�ZGd
d�dejejejej�ZGdd�dejejej�Zdd�Ze dk�ree��dS)zTests for distutils.dist.�N)�mock)�Distribution�fix_help_options�DistributionMetadata)�Command)�TESTFN�captured_stdout�captured_stderr�run_unittest)�support)�logc@seZdZdZdgZdd�ZdS)�	test_distz#Sample distutils extension command.)zsample-option=�Sz	help textcCs
d|_dS)N)�
sample_option)�self�r�5/usr/local/lib/python3.7/distutils/tests/test_dist.py�initialize_optionssztest_dist.initialize_optionsN)�__name__�
__module__�__qualname__�__doc__Zuser_optionsrrrrrr
sr
c@seZdZdZdd�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.
    cCs|jS)N)�
_config_files)rrrr�find_config_files(sz"TestDistribution.find_config_filesN)rrrrrrrrrr srcszeZdZ�fdd�Z�fdd�Zddd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Z�ZS)�DistributionTestCasecs4tt|���tjtjdd�f|_tjdd�=dS)N�)�superr�setUp�sys�argv)r)�	__class__rrr1szDistributionTestCase.setUpcs2|jdt_|jdtjdd�<tt|���dS)Nrr)r rrr�tearDown)r)r!rrr"6szDistributionTestCase.tearDownrcCs t�}||_|��|��|S)N)rrZparse_config_files�parse_command_line)rZconfigfiles�drrr�create_distribution;s
z(DistributionTestCase.create_distributioncCs*tj�d�|��}|�|��dg�dS)N�buildzdistutils.command)rr �appendr%�assertEqual�get_command_packages)rr$rrr�!test_command_packages_unspecifiedBsz6DistributionTestCase.test_command_packages_unspecifiedcCsfddlm}tj�ddddg�|��}|�|��ddd	g�|�d�}|�	||�|�|j
d
�dS)Nr)r
z--command-packageszfoo.bar,distutils.testsr
z
-Ssometextzdistutils.commandzfoo.barzdistutils.testsZsometext)Zdistutils.tests.test_distr
rr �extendr%r(r)Zget_command_obj�assertIsInstancer)rr
r$�cmdrrr�test_command_packages_cmdlineGs

z2DistributionTestCase.test_command_packages_cmdlinec	CsBtj�d�|�tjt�d}ttd��}td�	|�|d�WdQRXt
jjtddd��}|�
tg�}WdQRXt|f}|||||||||||||d�
}|�t|j�d����t|����x,|j�d���D]\}}|�|||�q�Wt
jjtdd	d��}|�
tg�}WdQRXx(|��D]}|�||j�di���qWdS)
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)
Zinstall_baseZinstall_platbaseZinstall_libZinstall_platlibZinstall_purelibZinstall_headersZinstall_scriptsZinstall_datar2�exec_prefix�home�user�rootz/b)rr r'�
addCleanup�os�unlinkr�open�print�formatrZpatchZmultipler%r(�sortedZcommand_options�get�keys�items�assertNotIn)	rZfakepath�f�valuesr$�option_tupleZresult_dict�key�valuerrr�test_venv_install_optionsVs>
z.DistributionTestCase.test_venv_install_optionscCs�tj�d�|�tjt�ttd�}ztd|d�td|d�Wd|�	�X|�
tg�}|�|��dddg�d	d
dgtjdd�<|�
tg�}|�|��dd
g�d	ddgtjdd�<|�
tg�}|�|��dg�dS)
Nr&r0z[global])r1z!command_packages = foo.bar, splatzdistutils.commandzfoo.barZsplatz--command-packagesZsporkr�)
rr r'r8r9r:rr;r<�closer%r(r))rrCr$rrr� test_command_packages_configfile�s"




z5DistributionTestCase.test_command_packages_configfilecsbg��fdd�}|�ttdtj�|t_tddddid�d�}|�t��d�|�d	t|��dS)
Ncs��|�dS)N)r')�msg)�warnsrr�_warn�sz6DistributionTestCase.test_empty_options.<locals>._warn�warn�xxxZxxxx)Zauthor�name�versionZurl�options)�attrsrrS)	r8�setattr�warningsrOrr(�lenrB�dir)rrN�distr)rMr�test_empty_options�sz'DistributionTestCase.test_empty_optionscCs�ddd�}t|d�}|��|�|jjddg�|�|jjddg�ddd�}t|d�}|��|�|jjdg�|�|jjdg�dS)Nzone,two)�keywords�	platforms)rT�one�twozfoo bar)rZfinalize_optionsr(�metadatar\r[)rrTrYrrr�test_finalize_options�s

z*DistributionTestCase.test_finalize_optionscCs^t�}|�|jd�|��}|�|dg�|�|jdg�d|_|��}|�|dddg�dS)Nzdistutils.commandzone,twor]r^)rr(Zcommand_packagesr))rrYZcmdsrrr�test_get_command_packages�sz.DistributionTestCase.test_get_command_packagescCs(t�}d}ddi}|�t|j||�dS)N)�ok�levelZok2)r�assertRaises�
ValueErrorZannounce)rrY�args�kwargsrrr�
test_announce�sz"DistributionTestCase.test_announcec	s�|���tjdkr"tj��d�}ntj��d�}t|d��}|�d�WdQRX�fdd�}tjj}|tj_z*t�}|�	�}tdd	gid
�}|�	�}Wd|tj_X|�
t|�dt|��dS)N�posixz.pydistutils.cfgzpydistutils.cfgr0z[distutils]
cs�S)Nr)�path)�	temp_homerr�	_expander�szFDistributionTestCase.test_find_config_files_disable.<locals>._expanderZscript_argsz
--no-user-cfg)rTr)�mkdtempr9rQrj�joinr;�write�
expanduserrrr(rW)r�
user_filenamerCrlZold_expanderr$Z	all_files�filesr)rkr�test_find_config_files_disable�s 

z3DistributionTestCase.test_find_config_files_disable)r)rrrrr"r%r*r.rHrKrZr`rarhrs�
__classcell__rr)r!rr,s
:rcs�eZdZ�fdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Z�ZS)1�MetadataTestCasecs(tt|���tjtjdd�f|_dS)N)rrurrr )r)r!rrrszMetadataTestCase.setUpcs2|jdt_|jdtjdd�<tt|���dS)Nrr)r rrrur")r)r!rrr"szMetadataTestCase.tearDowncCst��}|j�|�|��S)N)�io�StringIOr_�write_pkg_file�getvalue)rrYZsiorrr�format_metadatasz MetadataTestCase.format_metadatacCs\ddd�}t|�}|�|�}|�d|�|�d|���|�d|���|�d|���dS)N�packagez1.0)rQrRzMetadata-Version: 1.0z	provides:z	requires:z
obsoletes:)rrz�assertInrB�lower)rrTrY�metarrr�test_simple_metadatas
z%MetadataTestCase.test_simple_metadatacCs|ddddgd�}t|�}|�|j��ddg�|�|��ddg�|�|�}|�d|�|�d|���|�d|���dS)Nr{z1.0zpackage.sub)rQrR�provideszMetadata-Version: 1.1z	requires:z
obsoletes:)rr(r_Zget_providesrzr|rBr})rrTrYr~rrr�
test_providess



zMetadataTestCase.test_providescCs|�ttdddgd��dS)Nr{z1.0zmy.pkg (splat))rQrRr�)rdrer)rrrr�test_provides_illegal(sz&MetadataTestCase.test_provides_illegalcCs�ddddgd�}t|�}|�|j��ddg�|�|��ddg�|�|�}|�d|�|�d|���|�d|�|�d	|�|�d
|���dS)Nr{z1.0�otherzanother (==1.0))rQrR�requireszMetadata-Version: 1.1z	provides:zRequires: otherzRequires: another (==1.0)z
obsoletes:)rr(r_Zget_requiresrzr|rBr})rrTrYr~rrr�
test_requires.s



zMetadataTestCase.test_requirescCs|�ttdddgd��dS)Nr{z1.0zmy.pkg (splat))rQrRr�)rdrer)rrrr�test_requires_illegal>sz&MetadataTestCase.test_requires_illegalcCs,dtdg�d�}t|�}|�|jjt�dS)Nr{r�)rQr�)�iterrr,r_r��list)rrTrYrrr�test_requires_to_listDsz&MetadataTestCase.test_requires_to_listcCs�ddddgd�}t|�}|�|j��ddg�|�|��ddg�|�|�}|�d|�|�d|���|�d|���|�d	|�|�d
|�dS)Nr{z1.0r�zanother (<1.0))rQrR�	obsoleteszMetadata-Version: 1.1z	provides:z	requires:zObsoletes: otherzObsoletes: another (<1.0))rr(r_Z
get_obsoletesrzr|rBr})rrTrYr~rrr�test_obsoletesKs



zMetadataTestCase.test_obsoletescCs|�ttdddgd��dS)Nr{z1.0zmy.pkg (splat))rQrRr�)rdrer)rrrr�test_obsoletes_illegal[sz'MetadataTestCase.test_obsoletes_illegalcCs,dtdg�d�}t|�}|�|jjt�dS)Nr{r�)rQr�)r�rr,r_r�r�)rrTrYrrr�test_obsoletes_to_listasz'MetadataTestCase.test_obsoletes_to_listcCsBdddgd�}t|�}|�|��dg�|�|�}|�d|�dS)N�Boaz3.0z#Programming Language :: Python :: 3)rQrR�classifierszMetadata-Version: 1.1)rr(Zget_classifiersrzr|)rrTrYr~rrr�test_classifiergs


z MetadataTestCase.test_classifierc	Csbdddd�}t��}t|�}WdQRX|�d|���|�|jjt�|�|jjt|d��dS)Nr�z3.0)z#Programming Language :: Python :: 3)rQrRr�zshould be a listr�)	r	rr|ryr,r_r�r�r()rrT�errorr$rrr�test_classifier_invalid_typeps
z-MetadataTestCase.test_classifier_invalid_typecCs4dddddgd�}t|�}|�|��dddg�dS)N�Montyz1.0�spam�eggsz
life of brian)rQrRr[)rr(Zget_keywords)rrTrYrrr�
test_keywords|s

zMetadataTestCase.test_keywordsc	Csbdddd�}t��}t|�}WdQRX|�d|���|�|jjt�|�|jjt|d��dS)Nr�z1.0)r�r�z
life of brian)rQrRr[zshould be a listr[)	r	rr|ryr,r_r[r�r()rrTr�r$rrr�test_keywords_invalid_type�sz+MetadataTestCase.test_keywords_invalid_typecCs0ddddgd�}t|�}|�|��ddg�dS)Nr�z1.0z	GNU/LinuxzSome Evil Platform)rQrRr\)rr(Z
get_platforms)rrTrYrrr�test_platforms�s

zMetadataTestCase.test_platformsc	Csbdddd�}t��}t|�}WdQRX|�d|���|�|jjt�|�|jjt|d��dS)Nr�z1.0)z	GNU/LinuxzSome Evil Platform)rQrRr\zshould be a listr\)	r	rr|ryr,r_r\r�r()rrTr�r$rrr�test_platforms_invalid_types�sz-MetadataTestCase.test_platforms_invalid_typescCs.dddd�}t|�}|�|�}|�d|�dS)Nr�z3.0zhttp://example.org/boa)rQrR�download_urlzMetadata-Version: 1.1)rrzr|)rrTrYr~rrr�test_download_url�s

z"MetadataTestCase.test_download_urlcCsDt�d�}dd|d�}t|�}|�|�}|�dd�}|�||�dS)Nzc        example::
              We start here
            and continue here
          and end here.r{z1.0)rQrR�long_descriptionz	
        �
)�textwrap�dedentrrz�replacer|)rZ	long_descrTrYr~rrr�test_long_description�s
z&MetadataTestCase.test_long_descriptionc	Cs�tjdkrd}nd}|��}tj�||�}t|d�}z|�d�Wd|��Xzdt�}t	j
dkr~|tjd<|��}|�
||�t	j
dkr�|tjd<|��}|�
||d	||f�Wdt�|�XdS)
Nriz.pydistutils.cfgzpydistutils.cfgr0�.)Zlinux�darwin�HOME�win32z%r not found in %r)r9rQrmrjrnr;rorJrr�platform�environrr|�remove)rrqZtemp_dirrCrYrrrrr�test_custom_pydistutils�s*






z(MetadataTestCase.test_custom_pydistutilscCs4ddg}t|�}|�|dd�|�|dd�dS)N)�a�b�cr$)r���r)r�r�r�r)rr�r�)rr()rZhelp_tuplesZ
fancy_optionsrrr�test_fix_help_options�sz&MetadataTestCase.test_fix_help_optionsc	Csj|�tjtjj�t�}gt_d|_d|_	t
��}|��WdQRXdd�|���
d�D�}|�|�dS)Nrzsetup.pycSsg|]}|��dkr|�qS)rI)�strip)�.0�linerrr�
<listcomp>�sz3MetadataTestCase.test_show_help.<locals>.<listcomp>r�)r8rZ
set_thresholdZ_global_logZ	thresholdrrr �helpZscript_namerr#ry�splitZ
assertTrue)rrY�s�outputrrr�test_show_help�szMetadataTestCase.test_show_helpcCs�dddddddgdgd	�}t|�}|j}t��}|�|�|�d
�|�|�|�|jd�|�|j	d�|�|j
d�|�|jd�|�|jddg�|�|j
dg�|�|jd�|�|jdg�dS)Nr{z1.0ZdescrPzhttp://example.comr]r^Zfoo)rQrRr��descriptionr�r[r�rZUNKNOWN)rr_rvrwrx�seekZ
read_pkg_filer(rQrRr�r�r[r\r�r�)rrTrYr_ZPKG_INFOrrr�test_read_metadata�s*



z#MetadataTestCase.test_read_metadata)rrrrr"rzrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rtrr)r!rru�s0
	#rucCs,t��}|�t�t��|�t�t��|S)N)�unittestZ	TestSuiteZaddTestZ	makeSuiterru)Zsuiterrr�
test_suite	sr��__main__)!rr9rvrr�rVr�rZdistutils.distrrrZ
distutils.cmdrZtest.supportrrr	r
Zdistutils.testsrZ	distutilsrr
rZLoggingSilencerZTempdirManagerZEnvironGuardZTestCaserrur�rrrrr�<module>s4Q