Your IP : 216.73.216.60


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



��Yf�F�@s?ddlZddlZddlZddlZddlZddlmZddlmZmZm	Z	m
Z
mZmZm
Z
mZddlZddlmZmZmZmZmZmZmZmZmZmZmZddlZGdd�dej�ZGdd�dej�Zd	d
�Ze dkr;e�dS)�N)�copy)�run_unittest�
import_module�TESTFN�unlink�check_warnings�captured_stdout�skip_unless_symlink�
change_cwd)�	get_paths�get_platform�get_config_vars�get_path�get_path_names�_INSTALL_SCHEMES�_get_default_scheme�_expand_vars�get_scheme_names�get_config_var�_maincseZdZ�fdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zedd��Zdd�Zdd�Zejejdkd �d!d"��Zejejd#kd$�d%d&��Zd'd(�Zd)d*�Zejejd+�d,kd-�d.d/��Zejejd+�d,kd-�d0d1��Zejejd+�d,kd-�d2d3��Z ejejd4kd5�d6d7��Z!ejejd#kd8�d9d:��Z"�S);�
TestSysConfigcsVtt|�j�tjdd�|_ttd�rVtj|_tj�|_	nd|_|j
d�|jt_tj|_tj
|_
tj|_tj|_tjj|_tjj|_tjj|_tjttj�f|_g|_g|_xMdD]E}|tjkr>|jj|tj|f�q	|jj|�q	WdS)	N�uname���MACOSX_DEPLOYMENT_TARGET�PATH)r)rrrrr)rr)�superr�setUp�sys�path�sys_path�hasattr�osr�_uname�
_set_uname�
_get_uname�name�platform�version�sep�join�isabs�
splitdrive�	sysconfig�_CONFIG_VARSr�_config_vars�_added_envvars�_changed_envvars�environ�append)�self�var)�	__class__��8/opt/alt/python35/lib64/python3.5/test/test_sysconfig.pyrs,	
		
 zTestSysConfig.setUpcs:|jtjdd�<|j�|jdk	r>|jt_nt`|jt_|jt_|jt_|j	t_	|j
tj_
|jtj_|jtj_|j
dt_tjj�tjj|j
d�x$|jD]\}}|tj|<q�Wx$|jD]}tjj|d�qWtt|�j�dS)Nr�)r rr�_cleanup_testfnrr"r&r'r(r)r*r+r,r/r-r.�clear�updater1r2r0�poprr�tearDown)r4r5�value)r6r7r8r>1s(

zTestSysConfig.tearDowncCstj|�|_dS)N)r"�uname_resultr#)r4rr7r7r8r$IszTestSysConfig._set_unamecCs|jS)N)r#)r4r7r7r8r%LszTestSysConfig._get_unamecCsKt}tjj|�r(tj|�ntjj|�rGtj|�dS)N)rr"r�isfile�remove�isdir�shutilZrmtree)r4rr7r7r8r:Os
zTestSysConfig._cleanup_testfncCs|jt�tj�dS)N)�assertEqualrr-�_SCHEME_KEYS)r4r7r7r8�test_get_path_namesVsz!TestSysConfig.test_get_path_namescCsYt�}t�}t|d�}t|j��}t|j��}|j||�dS)N)rrr�sorted�itemsrE)r4�schemeZdefault_scheme�wantedr7r7r8�test_get_pathsYs		zTestSysConfig.test_get_pathscCs9x2tD]*}x!t|D]}t||�}qWqWdS)N)rr)r4rJr&�resr7r7r8�
test_get_pathas
zTestSysConfig.test_get_pathcCs*t�}|j|t�|j|�dS)N)r
ZassertIsInstance�dict�
assertTrue)r4Zcvarsr7r7r8�test_get_config_varsgs	z"TestSysConfig.test_get_config_varscCs<dt_dt_dt_|jt�d�dt_dt_dt_|jt�d�dt_dt_dt_|jt�d�dt_d	t_d
t_|jd3�tj	t
��dt
�d<dt
�d<tj}z<dt_|jt�d�dt_|jt�d�Wd|t_X|jd4�tj	t
��dt
�d<dt
�d<tj}z<dt_|jt�d�dt_|jt�d�Wd|t_Xtj	t
��dt
�d<dt
�d<|jt�d�tj	t
��dt
�d<|jt�d�tj	t
��d t
�d<|jt�d!�tj	t
��d"t
�d<|jt�d#�tj	t
��d$t
�d<|jt�d%�xFd5D]>}tj	t
��d)|t
�d<|jt�d*|�q�Wdt_d+t_d,t_|jd6�|jt�d2�dS)7N�ntz>2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)]�win32z>2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Amd64)]z	win-amd64z@2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Itanium)]zwin-ia64�posixzU2.5 (r25:51918, Sep 19 2006, 08:49:13) 
[GCC 4.0.1 (Apple Computer, Inc. build 5341)]�darwin�Darwin�macziade�8.11.1�]Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386�PowerPCz10.3rzF-fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes�CFLAGSi���zmacosx-10.3-ppcl����zmacosx-10.3-ppc64�i386zmacosx-10.3-i386zmacosx-10.3-x86_64z10.4zy-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-fatz|-arch x86_64 -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-intelz�-arch x86_64 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-fat3z�-arch ppc64 -arch x86_64 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-universalz}-arch x86_64 -arch ppc64 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-fat64�ppc�x86_64�ppc64zm-arch %s -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-%szV2.3.5 (#1, Jul  4 2007, 17:28:59) 
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]Zlinux2�Linux�aglae�2.6.21.1dedibox-r7� #1 Mon Apr 30 17:25:38 CEST 2007�i686z
linux-i686)rVrWrXrYrZ)rVrWrXrYr\)r]r\r^r_)r`rarbrcrd)r"r&rr(r'rErr$�_osx_supportZ_remove_original_valuesr
�maxsize)r4ZmaxintZarchr7r7r8�test_get_platformls�												

			


			







			zTestSysConfig.test_get_platformcCs,tj�}|jtjj|�|�dS)N)r-�get_config_h_filenamerPr"rrA)r4�config_hr7r7r8�test_get_config_h_filename�sz(TestSysConfig.test_get_config_h_filenamecCsd}|jt�|�dS)NrR�nt_user�osx_framework_user�
posix_home�posix_prefix�
posix_user)rRrkrlrmrnro)rEr)r4rKr7r7r8�test_get_scheme_names�sz#TestSysConfig.test_get_scheme_namescCs�tjdkr>djtjjtj�tjd�tjd<dd�}tjjtj�}tjj	t
�}tj||�z |j||�||��Wdt
|�XdS)NrSz{};{}rcSs:|ddg}tj|dtjdtj�}|j�S)Nz-cz1import sysconfig; print(sysconfig.get_platform())�stdout�env)�
subprocess�Popen�PIPEr"r2�communicate)�python�cmd�pr7r7r8�get�s	!z'TestSysConfig.test_symlink.<locals>.get)rr'�formatr"r�dirname�
executabler2�realpath�abspathr�symlinkrEr)r4rz�real�linkr7r7r8�test_symlink�s) zTestSysConfig.test_symlinkcCs�td�}td�}tjtjk}x�d
D]�}t|d�}|r|jtjtj�}|jtjtj�}nBtjtjkr�|jtjtj�}|jtjtj�}t|d�}|j||j||d	��q1WdS)N�base�userbase�stdlib�
platstdlib�purelib�platlibrnror9)r�r�r�r�)	rr�base_prefix�base_exec_prefixr�replace�exec_prefix�prefixrE)r4r��userZadaptr&Zglobal_pathZ	user_pathr7r7r8�test_user_similars
zTestSysConfig.test_user_similarcCsFt��}t�WdQRX|jt|j�jd��dk�dS)N�
r)rrrP�len�getvalue�split)r4�outputr7r7r8�	test_mainszTestSysConfig.test_mainrSzDoes not apply to WindowscCs2tjd�}tjd�}|j||�dS)N�LDFLAGS�LDSHARED)r-rZassertIn)r4ZldflagsZldsharedr7r7r8�test_ldshared_value$sz!TestSysConfig.test_ldshared_valuerUztest only relevant on MacOSXcCsStj�}tjj�}d|kr.|d=tjtjddgdtj	dtj
d|�}|j�dj�}|j
d�}|j�}|j|d�|j||�tjj�}d	|d<tjtjddgdtj	dtj
d|�}|j�dj�}|j
d�}|j�}|j|d�|j||�dS)
Nrz-cz1import sysconfig; print(sysconfig.get_platform())rq�stderrrrrzutf-8z10.1)r-rr"r2rrsrtrr}ruZDEVNULLrv�strip�decode�waitrE)r4Zmy_platformrrryZ
test_platformZstatusr7r7r8�test_platform_in_subprocess+s8					
					z)TestSysConfig.test_platform_in_subprocesscCs�tjd�}|jtjj|�|�|jtjj|�|�tjr�tjj|dd�}|jtjj	|�|�|jtj
|��nItjdkr�tjjtj
��}tjj|�}|j||�dS)N�srcdirZIncludezPython.hrT)r-rrPr"rr+rC�
_PYTHON_BUILDr*�exists�_is_python_source_dirr&r|�get_makefile_filenamer~rE)r4r�ZPython_hZmakefile_dirr7r7r8�test_srcdirVs	zTestSysConfig.test_srcdirc
CsItjd�}ttj��tjd�}WdQRX|j||�dS)Nr�)r-rr
r"�pardirrE)r4r�Zsrcdir2r7r7r8�test_srcdir_independent_of_cwdisz,TestSysConfig.test_srcdir_independent_of_cwd�
EXT_SUFFIXNz!EXT_SUFFIX required for this testcCs|jttjd�dS)N�SO)ZassertWarns�DeprecationWarningr-r)r4r7r7r8�test_SO_deprecationqs	z!TestSysConfig.test_SO_deprecationcCs@tdtf��'|jtjd�tjd��WdQRXdS)Nrr�r�)rr�rEr-r)r4r7r7r8�
test_SO_valuewszTestSysConfig.test_SO_valuecCs9tj�}|j|d�|j|d|d�dS)Nr�r�)r-r
ZassertIsNotNonerE)r4�varsr7r7r8�test_SO_in_vars~szTestSysConfig.test_SO_in_vars�linuxzLinux-specific testcCs�td�}ddl}ddl}|j�}tjd�}|jd|�rg|jd|k|�|jd|�r�|j|j	��dkr�|j|j
d�p�|j
d	�|�n|j|j
d
�|�dS)N�ctypesrr�z)(aarch64|arm|mips|ppc|powerpc|s390|sparc)r�z(i[3-6]86|x86_64)$�zi386-linux-gnu.sozx86_64-linux-gnux32.sozx86_64-linux-gnu.so)rr'�re�machiner-r�matchrPZsizeofZc_char_p�endswith)r4r�r'r�r��suffixr7r7r8�test_triplet_in_ext_suffix�s
z(TestSysConfig.test_triplet_in_ext_suffixzOS X-specific testcCs,tjd�}|j|jd�|�dS)Nr�z
-darwin.so)r-rrPr�)r4r�r7r7r8�test_osx_ext_suffix�sz!TestSysConfig.test_osx_ext_suffix)#�__name__�
__module__�__qualname__rr>r$r%r:rGrLrNrQrgrjrpr	r�r�r��unittest�skipIfrr'r�Z
skipUnlessr�r�r�r-rr�r�r�r�r�r7r7)r6r8rs6}''+'rc@sFeZdZejejjd�d�dd��Zdd�Z	dS)�
MakefileTests�winzTest is not Windows compatiblecCs,tj�}|jtjj|�|�dS)N)r-r�rPr"rrA)r4�makefiler7r7r8�test_get_makefile_filename�sz(MakefileTests.test_get_makefile_filenamecCs�|jtt�ttd��g}tdd|�tdd|�tdd|�tdd|�tdd|�tdd|�WdQRXtjt�}|j|d	d
ddd
dddddddi�dS)N�wz
var1=a$(VAR2)�filez
VAR2=b$(var3)zvar3=42zvar4=$/invalidzvar5=dollar$$5zAvar6=${var3}/lib/python3.5/config-$(VAR2)$(var5)-x86_64-linux-gnuZvar1Zab42ZVAR2Zb42Zvar3�*Zvar4z	$/invalidZvar5zdollar$5Zvar6z442/lib/python3.5/config-b42dollar$5-x86_64-linux-gnu)Z
addCleanuprr�open�printr-�_parse_makefilerE)r4r�r�r7r7r8�test_parse_makefile�s"		z!MakefileTests.test_parse_makefileN)
r�r�r�r�r�rr'�
startswithr�r�r7r7r7r8r��sr�cCsttt�dS)N)rrr�r7r7r7r8r��sr��__main__)!r�rr"rsrDrZtest.supportrrrrrrr	r
r-rrr
rrrrrrrrreZTestCaserr�r�r�r7r7r7r8�<module>s:L��