Your IP : 216.73.216.213


Current Path : /opt/alt/python310/lib64/python3.10/distutils/tests/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/distutils/tests/__pycache__/test_sysconfig.cpython-310.pyc

o

0�ip+�@s�dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ddlmZmZddlmZddlmZGd	d
�d
e
jej�Zdd�Zed
kr^ee��dSdS)zTests for distutils.sysconfig.�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__��E/opt/alt/python310/lib64/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�shutilZrmtreerrrrrs
�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_typer5rrrr�compilerSsr9Zsc_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)rr9Zsysconfig_vars�comp�cm�key�valuerrrrJQs(�

��z$SysconfigTestCase.customize_compilerr2z+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_ccr@Zenv_cppZCPPzenv_cxx --env-cxx-flagsrAZenv_ldsharedrDz
--env-ldflags�LDFLAGSz
--env-arflagsrBz--env-cflagsrCz--env-cppflagsZCPPFLAGSZarchiverzenv_ar --env-arflagsZpreprocessorzenv_cpp --env-cppflagsr9z.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�environrJr+r3Zshared_lib_extension)rrKrrr�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_basecCrR)NrSz,CONFIG_ARGS=  '--arg1=optarg1' 'ENV=\$$LIB'
rTz'--arg1=optarg1' 'ENV=\$LIB'rUrVrWr[rrr�"test_parse_makefile_literal_dollar�r_z4SysconfigTestCase.test_parse_makefile_literal_dollarcCs<ddl}|�|�d�t�d��|�|�d�t�d��dS)NrrCrO)rr+r&�rZglobal_sysconfigrrr�test_sysconfig_module�s��z'SysconfigTestCase.test_sysconfig_modulerE�compiler flags customizedcCsPddl}t�d�r|�d�|�|�d�t�d��|�|�d�t�d��dS)NrrErcrDr@)rr&ZskipTestr+rarrr�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�rfre)rrgr+rr&rrrr�
test_SO_value�s
�"�zSysconfigTestCase.test_SO_valuecCs.t��}|�|d�|�|d|d�dS)Nrfre)rr!ZassertIsNotNoner+)r�varsrrr�test_SO_in_vars�sz!SysconfigTestCase.test_SO_in_varscCs~ttd��}|�t�d��Wd�n1swYtjttj	�tgtj
tjdd�}|��\}}|�
d|jd|�dS)NrSaB                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�stderrZuniversal_newlinesrzSubprocess failed: )rXr�
writelines�textwrap�dedent�
subprocess�Popen�str�sys�
executable�PIPEZSTDOUTZcommunicater+�
returncode)r�f�pZoutsZerrsrrr�.test_customize_compiler_before_get_config_vars�s��z@SysconfigTestCase.test_customize_compiler_before_get_config_vars)r6r7r8rrrrr r#r-r1rJ�unittestZ
skipUnlessrrQr^r`rbZskipIfrr&rdrhrjrlr{�
__classcell__rrrrr	sD�
<
�
�
�
�
r	cCst��}|�t�t��|Sr
)r|Z	TestSuiteZaddTestZ	makeSuiter	)Zsuiterrr�
test_suitesr~�__main__)�__doc__rFrrrrrurpr|Z	distutilsrZdistutils.ccompilerrZdistutils.testsrZtest.supportrrZtest.support.os_helperrZtest.support.warnings_helperrZEnvironGuardZTestCaser	r~r6rrrr�<module>s(}�