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.10/distutils/tests/__pycache__/test_sysconfig.cpython-310.opt-2.pyc
o

�ip+�@s�	ddlZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZddl
mZmZddlmZddlmZGdd	�d	ejej�Zd
d�Zedkr]ee��dSdS)
�N)�	sysconfig)�get_default_compiler)�support)�run_unittest�	swap_item)�TESTFN)�check_warningscseZdZ�fdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Ze�
e�dkd�dd��Zdd�Zdd�Zdd�Ze�e�d�d�dd ��Ze�e�d!�d"ud#�d$d%��Ze�e�d!�d"ud#�d&d'��Ze�e�d!�d"ud#�d(d)��Zd*d+�Z�ZS),�SysconfigTestCasecstt|���d|_dS�N)�superr	�setUp�makefile��self��	__class__��;/usr/local/lib/python3.10/distutils/tests/test_sysconfig.pyrs
zSysconfigTestCase.setUpcs0|jdurt�|j�|��tt|���dSr
)r
�os�unlink�cleanup_testfnrr	�tearDownrrrrrs
zSysconfigTestCase.tearDowncCs8tj�t�r
t�t�dStj�t�rt�t�dSdSr
)r�path�isfiler�remove�isdir�shutil�rmtreerrrrrs
�z SysconfigTestCase.cleanup_testfncCs t��}|�tj�|�|�dSr
)rZget_config_h_filename�
assertTruerrr)rZconfig_hrrr�test_get_config_h_filename#sz,SysconfigTestCase.test_get_config_h_filenamecCs|�t��tjtd��dS)N)�prefix)ZassertNotEqualrZget_python_librrrrr�test_get_python_lib's

�z%SysconfigTestCase.test_get_python_libcCs"t��}|�|t�|�|�dSr
)r�get_config_varsZassertIsInstance�dictr)rZcvarsrrr�test_get_config_vars.sz&SysconfigTestCase.test_get_config_varscCs�t�d�}|�tj�|�|�|�tj�|�|�tjr8tj�|dd�}|�tj�	|�|�|�t�
|��dStjdkrK|�tj�
t���|�dSdS)N�srcdirZIncludezPython.h�posix)r�get_config_varrrr�isabsrZpython_build�join�existsZ_is_python_source_dir�name�assertEqual�dirnameZget_makefile_filename)rr%ZPython_hrrr�test_srcdir3s

��zSysconfigTestCase.test_srcdirc	CsRt�d�}t��}zt�d�t�d�}Wt�|�nt�|�w|�||�dS)Nr%z..)rr'r�getcwd�chdirr,)rr%�cwdZsrcdir2rrr�test_srcdir_independent_of_cwdEs

z0SysconfigTestCase.test_srcdir_independent_of_cwdc
Cs�Gdd�d�}ddddddd	d
dd�	}|�}t���!}|��D]\}}|�ttj||��qt�|�Wd�|S1s>wY|S)
Nc@seZdZdZdd�ZdS)z6SysconfigTestCase.customize_compiler.<locals>.compiler�unixc[s
||_dSr
)�exes)r�kwrrr�set_executablesVs
zFSysconfigTestCase.customize_compiler.<locals>.compiler.set_executablesN)�__name__�
__module__�__qualname__Z
compiler_typer6rrrr�compilerSsr:Zsc_ar�sc_cc�sc_cxxz--sc-arflagsz--sc-cflagsz
--sc-ccshared�sc_ldshared�sc_shutil_suffix�True)	�AR�CC�CXX�ARFLAGS�CFLAGSZCCSHARED�LDSHAREDZSHLIB_SUFFIX�CUSTOMIZED_OSX_COMPILER)�
contextlib�	ExitStack�items�
enter_contextrrZ_config_vars�customize_compiler)rr:Zsysconfig_vars�comp�cm�key�valuerrrrKQs(�

��z$SysconfigTestCase.customize_compilerr3z+not testing if default compiler is not unixcCs�t��dtjd<dtjd<dtjd<dtjd<d	tjd
<dtjd<d
tjd<dtjd<dtjd<|��}|�|jdd�|�|jdd�|�|jdd�|�|jdd�|�|jdd�|�|jdd�|�|jdd�|�|jd�tjd=tjd=tjd=tjd=tjd
=tjd=tjd=tjd=tjd=|��}|�|jdd �|�|jdd!�|�|jdd"�|�|jdd#�|�|jdd$�|�|jdd%�|�|jdd&�|�|jd�dS)'NZenv_arr@Zenv_ccrAZenv_cppZCPPzenv_cxx --env-cxx-flagsrBZenv_ldsharedrEz
--env-ldflags�LDFLAGSz
--env-arflagsrCz--env-cflagsrDz--env-cppflagsZCPPFLAGSZarchiverzenv_ar --env-arflagsZpreprocessorzenv_cpp --env-cppflagsr:z.env_cc --sc-cflags --env-cflags --env-cppflagsZcompiler_soz<env_cc --sc-cflags --env-cflags --env-cppflags --sc-ccsharedZcompiler_cxxZ
linker_exeZ	linker_soz6env_ldshared --env-ldflags --env-cflags --env-cppflagsr>zsc_ar --sc-arflagszsc_cc -Ezsc_cc --sc-cflagszsc_cc --sc-cflags --sc-ccsharedr<r;r=)rr"r�environrKr,r4Zshared_lib_extension)rrLrrr�test_customize_compileros�








��������������z)SysconfigTestCase.test_customize_compilercC�`t|_t|jd�}z|�d�|�d�W|��n|��wt�|j�}|�|ddd��dS)N�wz)CONFIG_ARGS=  '--arg1=optarg1' 'ENV=LIB'
�VAR=$OTHER
OTHER=fooz'--arg1=optarg1' 'ENV=LIB'�foo�ZCONFIG_ARGSZOTHER�rr
�open�write�closerZparse_makefiler,�r�fd�drrr�test_parse_makefile_base��
�z*SysconfigTestCase.test_parse_makefile_basecCrS)NrTz,CONFIG_ARGS=  '--arg1=optarg1' 'ENV=\$$LIB'
rUz'--arg1=optarg1' 'ENV=\$LIB'rVrWrXr\rrr�"test_parse_makefile_literal_dollar�r`z4SysconfigTestCase.test_parse_makefile_literal_dollarcCs<ddl}|�|�d�t�d��|�|�d�t�d��dS)NrrDrP)rr,r'�rZglobal_sysconfigrrr�test_sysconfig_module�s��z'SysconfigTestCase.test_sysconfig_modulerF�compiler flags customizedcCsPddl}t�d�r|�d�|�|�d�t�d��|�|�d�t�d��dS)NrrFrdrErA)rr'ZskipTestr,rbrrr�test_sysconfig_compiler_vars�s

��z.SysconfigTestCase.test_sysconfig_compiler_vars�
EXT_SUFFIXNz!EXT_SUFFIX required for this testcCs|�ttjd�dS)N�SO)ZassertWarns�DeprecationWarningrr'rrrr�test_SO_deprecation�s�z%SysconfigTestCase.test_SO_deprecationcCsJtdtf��|�t�d�t�d��Wd�dS1swYdS)N�rgrf)rrhr,rr'rrrr�
test_SO_value�s
�"�zSysconfigTestCase.test_SO_valuecCs.t��}|�|d�|�|d|d�dS)Nrgrf)rr"ZassertIsNotNoner,)r�varsrrr�test_SO_in_vars�sz!SysconfigTestCase.test_SO_in_varscCs~ttd��}|�t�d��Wd�n1swYtjttj	�tgtj
tjdd�}|��\}}|�
d|jd|�dS)NrTaB                from distutils.core import Distribution
                config = Distribution().get_command_obj('config')
                # try_compile may pass or it may fail if no compiler
                # is found but it should not raise an exception.
                rc = config.try_compile('int x;')
                T)�stdout�stderr�universal_newlinesrzSubprocess failed: )rYr�
writelines�textwrap�dedent�
subprocess�Popen�str�sys�
executable�PIPE�STDOUT�communicater,�
returncode)r�f�pZoutsZerrsrrr�.test_customize_compiler_before_get_config_vars�s��z@SysconfigTestCase.test_customize_compiler_before_get_config_vars)r7r8r9rrrrr!r$r.r2rK�unittestZ
skipUnlessrrRr_rarcZskipIfrr'rerirkrmr�
__classcell__rrrrr	sD�
<
�
�
�
�
r	cCst��}|�t�t��|Sr
)r�Z	TestSuiteZaddTestZ	makeSuiter	)Zsuiterrr�
test_suitesr��__main__)rGrrrtrwrrr�Z	distutilsrZdistutils.ccompilerrZdistutils.testsrZtest.supportrrZtest.support.os_helperrZtest.support.warnings_helperrZEnvironGuardZTestCaser	r�r7rrrr�<module>s(}�