Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/distutils/tests/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/distutils/tests/__pycache__/test_sysconfig.cpython-35.pyc



��Yf� �@s�dZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZddl
mZmZmZGdd�dejej�Zd	d
�Zedkr�ee��dS)zTests for distutils.sysconfig.�N)�	sysconfig)�get_default_compiler)�support)�TESTFN�run_unittest�check_warningscs�eZdZ�fdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zej
e�dkd�dd��Zdd�Zdd�Zdd�Zejejd�d�dd ��Zejejd!�d"kd#�d$d%��Zejejd!�d"kd#�d&d'��Zejejd!�d"kd#�d(d)��Zd*d+�Z�S),�SysconfigTestCasecs tt|�j�d|_dS)N)�superr�setUp�makefile)�self)�	__class__��C/opt/alt/python35/lib64/python3.5/distutils/tests/test_sysconfig.pyr
szSysconfigTestCase.setUpcs@|jdk	rtj|j�|j�tt|�j�dS)N)r�os�unlink�cleanup_testfnr	r�tearDown)r)r
rrrs
zSysconfigTestCase.tearDowncCsEtjjt�r"tjt�ntjjt�rAtjt�dS)N)r�path�isfiler�remove�isdir�shutilZrmtree)rrrrrsz SysconfigTestCase.cleanup_testfncCs,tj�}|jtjj|�|�dS)N)r�get_config_h_filename�
assertTruerrr)r�config_hrrr�test_get_config_h_filenamesz,SysconfigTestCase.test_get_config_h_filenamecCs&|jtj�tjdt��dS)N�prefix)ZassertNotEqualrZget_python_libr)rrrr�test_get_python_lib#sz%SysconfigTestCase.test_get_python_libcCs]tj�}|jtjj|�|�tjj|d�}|jtjj|�|�dS)NzPython.h)rZget_python_incrrrr�joinr)r�inc_dirZpython_hrrr�test_get_python_inc*sz%SysconfigTestCase.test_get_python_inccCs-tj�}|j|t�|j|�dS)N)r�get_config_varsZassertIsInstance�dictr)rZcvarsrrr�test_get_config_vars3sz&SysconfigTestCase.test_get_config_varscCs�tjd�}|jtjj|�|�|jtjj|�|�tjr�tjj|dd�}|jtjj	|�|�|jtj
|��n1tjdkr�|jtjj
tj��|�dS)N�srcdirZIncludezPython.h�posix)r�get_config_varrrr�isabsrZpython_buildr�exists�_is_python_source_dir�name�assertEqual�dirname�get_makefile_filename)rr%ZPython_hrrr�test_srcdir8s	zSysconfigTestCase.test_srcdircCs`tjd�}tj�}z tjd�tjd�}Wdtj|�X|j||�dS)Nr%z..)rr'r�getcwd�chdirr,)rr%�cwdZsrcdir2rrr�test_srcdir_independent_of_cwdJs
z0SysconfigTestCase.test_srcdir_independent_of_cwd�unixz+not testing if default compiler is not unixcCs^dtjd<dtjd<Gdd�d�}|�}tj|�|j|jdd�dS)	NZmy_ar�ARz-arflags�ARFLAGSc@s"eZdZdZdd�ZdS)z;SysconfigTestCase.test_customize_compiler.<locals>.compilerr4c[s
||_dS)N)�exes)r�kwrrr�set_executables`szKSysconfigTestCase.test_customize_compiler.<locals>.compiler.set_executablesN)�__name__�
__module__�__qualname__Z
compiler_typer9rrrr�compiler]sr=Zarchiverzmy_ar -arflags)r�environrZcustomize_compilerr,r7)rr=�comprrr�test_customize_compilerVs

	
z)SysconfigTestCase.test_customize_compilercCsyt|_t|jd�}z|jd�|jd�Wd|j�Xtj|j�}|j|ddddi�dS)N�wz)CONFIG_ARGS=  '--arg1=optarg1' 'ENV=LIB'
zVAR=$OTHER
OTHER=foo�CONFIG_ARGSz'--arg1=optarg1' 'ENV=LIB'�OTHER�foo)rr�open�write�closer�parse_makefiler,)r�fd�drrr�test_parse_makefile_basegs	
z*SysconfigTestCase.test_parse_makefile_basecCsyt|_t|jd�}z|jd�|jd�Wd|j�Xtj|j�}|j|ddddi�dS)NrAz,CONFIG_ARGS=  '--arg1=optarg1' 'ENV=\$$LIB'
zVAR=$OTHER
OTHER=foorBz'--arg1=optarg1' 'ENV=\$LIB'rCrD)rrrErFrGrrHr,)rrIrJrrr�"test_parse_makefile_literal_dollarss	
z4SysconfigTestCase.test_parse_makefile_literal_dollarcCsTddl}|j|jd�tjd��|j|jd�tjd��dS)Nr�CFLAGS�LDFLAGS)rr,r')r�global_sysconfigrrr�test_sysconfig_module�s
z'SysconfigTestCase.test_sysconfig_module�CUSTOMIZED_OSX_COMPILERzcompiler flags customizedcCspddl}tjd�r(|jd�|j|jd�tjd��|j|jd�tjd��dS)NrrQzcompiler flags customized�LDSHARED�CC)rr'ZskipTestr,)rrOrrr�test_sysconfig_compiler_vars�s
z.SysconfigTestCase.test_sysconfig_compiler_vars�
EXT_SUFFIXNz!EXT_SUFFIX required for this testcCs|jttjd�dS)N�SO)ZassertWarns�DeprecationWarningrr')rrrr�test_SO_deprecation�s	z%SysconfigTestCase.test_SO_deprecationcCs@tdtf��'|jtjd�tjd��WdQRXdS)N�rVrU)rrWr,rr')rrrr�
test_SO_value�szSysconfigTestCase.test_SO_valuecCs9tj�}|j|d�|j|d|d�dS)NrVrU)rr"ZassertIsNotNoner,)r�varsrrr�test_SO_in_vars�sz!SysconfigTestCase.test_SO_in_varscCs�ttd��}|jtjd��WdQRXtjttj	�tgdtj
dtjdd�}|j�\}}|j
d|jd|�dS)	NrAaB                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;')
                �stdout�stderrZuniversal_newlinesTrzSubprocess failed: )rEr�
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)r:r;r<r
rrrrr!r$r/r3�unittestZ
skipUnlessrr@rKrLrPZskipIfrr'rTrXrZr\rkrr)r
rrs.	
rcCs&tj�}|jtjt��|S)N)rlZ	TestSuiteZaddTestZ	makeSuiter)Zsuiterrr�
test_suite�srm�__main__)�__doc__rrrbrer`rlZ	distutilsrZdistutils.ccompilerrZdistutils.testsrZtest.supportrrrZEnvironGuardZTestCaserrmr:rrrr�<module>s�