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_build_ext.cpython-37.pyc
B

!��g[L�@s�ddlZddlZddlmZddlZddlmZddlmZddl	m
Z
ddlmZm
Z
mZmZddlmZddlmZmZmZmZddlZdd	lmZd
aGdd�dee
ej�ZGd
d�de�Zdd�Zedkr�e� e�dS)�N)�StringIO)�Distribution)�	build_ext)�	sysconfig)�TempdirManager�LoggingSilencer�copy_xxmodule_c�fixup_build_ext)�	Extension)�CompileError�DistutilsPlatformError�DistutilsSetupError�UnknownFileError)�supportFcs�eZdZ�fdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Ze�ejdkd�dd��Ze�ejdkd�dd ��Ze�ejdkd�d!d"��Zd#d$�Z�ZS)%�BuildExtTestCasecs�tt|���|��|_tjtjdd�f|_tj�|j�ddl	}|j
|_|��|_
ddlm
}|j
|_
t��|_|j��|�|jjddd�dS)Nr)r)�superr�setUp�mkdtemp�tmp_dir�sys�path�sys_path�append�site�	USER_BASE�
old_user_base�distutils.commandrrZtemp_cwd�	__enter__�
addCleanup�__exit__)�selfrr)�	__class__��:/usr/local/lib/python3.7/distutils/tests/test_build_ext.pyrs



zBuildExtTestCase.setUpcs`t�d�|jdt_|jdtjdd�<ddl}|j|_ddlm	}|j|_t
t|���dS)N�xxr�)r)
rZunloadrrrrrrrrrr�tearDown)r rr)r!r"r#r&/s
zBuildExtTestCase.tearDowncOs
t||�S)N)r)r �args�kwargsr"r"r#r:szBuildExtTestCase.build_extc	Csrt��}|dk	r|�d|�t|j�tj�|jd�}td|g�}t	d|gd��}|j|_
|�|�}t|�|j|_
|j|_tj}tjs�t�t_z|��|��Wd|t_Xtr�|�dt�n
t|�jaddl}xdD]}|�t||��q�W|�|�dd	�d
�|�|�dd�d
�|�|����d�tj�rJd}|�|j |�|�!|�"�|j"�|�!|�#�|j#�dS)NzThe %r command is not foundz
xxmodule.cr$)�name�ext_moduleszAlready tested in %sr)�error�foo�newZroj����
��z/This is a template module just for instruction.)$r�missing_compiler_executable�skipTestrr�osr�joinr
r�package_dirrr	�	build_lib�
build_tempr�stdout�verboser�ensure_finalized�run�ALREADY_TESTED�type�__name__r$�
assertTrue�hasattr�assertEqualr,r-ZdemoZHAVE_DOCSTRINGS�__doc__�assertIsInstanceZNullZStr)	r �cmdZxx_cZxx_ext�dist�
old_stdoutr$�attr�docr"r"r#�test_build_ext=sB



zBuildExtTestCase.test_build_extc	Cs�tddi�}|�|�}tj}dt_ddlm}|�d�}d|d<z|��Wd|t_|dkrd|d=n||d<X|�t	|j
�d�dS)Nr)r$Zsunosr)�_config_varsZPy_ENABLE_SHAREDr%)rrr�platformZdistutils.sysconfigrM�getr=Z
assertGreater�len�library_dirs)r rHrG�oldrMZold_varr"r"r#�test_solaris_enable_sharedis


z+BuildExtTestCase.test_solaris_enable_sharedcCs�ddl}tddi�}|�|�}dd�|jD�}|�d|�d|_tj�|j	d�}tj�|j	d	�}t�
|�t�
|�|��|�||j�|�||j
�|�||j�dS)
Nrr)r$cSsg|]\}}}|�qSr"r")�.0r)ZshortZlabler"r"r#�
<listcomp>�sz3BuildExtTestCase.test_user_site.<locals>.<listcomp>�userr%�libZinclude)rrrZuser_options�assertInrVr6rr7r�mkdirr=rQ�rpath�include_dirs)r rrHrG�optionsrWZinclr"r"r#�test_user_site~s



zBuildExtTestCase.test_user_sitecCs�tddgdd�g}td|d��}|�|�}|��|�ttf|j�tddgdd�g}td|d��}|�|�}|��|��dS)Nr,�xxxF)�optionalr$)r)r*T)r
rrr=�assertRaisesrrr>)r �modulesrHrGr"r"r#�test_optional_extension�s


z(BuildExtTestCase.test_optional_extensioncCs�tddgdd�g}td|d��}|�|�}|��t��}x$|�tjj	�D]}|�
||j�qJWtjdd�}x$|�tjj	�D]}|�
||j�q|W|�|�}d	|_|��|�
|jd
ddg�|�|�}d
tj	|_|��|�
d|j�|�
d|j�|�|�}dtj	|_|��|�
|jddg�t|�}d|_|��|�
|jdddg�|�|�}d|_|��|�
|jddg�|�|�}d|_|��|�
|jddg�|�|�}d|_|��|�
|jg�|�|�}d|_|��|�
|jddg�dS)Nr,r^F)r_r$)r)r*r%)Z
plat_specificzmy_lib, other_lib lastlibZmy_libZ	other_libZlastlibzmy_lib_dir%sother_lib_dirZ
my_lib_dirZ
other_lib_dirzone%stwo�one�twoz
one two,threeZthreezone,two)rc�1)rdrez1 2re�2)r
rr�finalize_optionsrZget_python_inc�splitr6r�pathseprXr[�	librariesrDrQrZZlink_objectsZdefineZundefZ	swig_opts)r rarHrGZ
py_include�pZplat_py_includer"r"r#�test_finalize_options�sV







z&BuildExtTestCase.test_finalize_optionscCs0t�}|�|�}|��|�t|jd�ddg}|�t|j|�dg}|�t|j|�dg}|�t|j|�ddgddd�fg}|�|�|d	}|�|t�|�|j	d�|�
t|d
��ddgddddgd�fg}|�t|j|�d
dg|d	dd<|�|�|�|d	jdg�|�|d	j
d
g�dS)Nr,)�barr,rm)zfoo-bar�)zfoo.barrnzfoo.barrnrm)�sourcesrj�somerrp)rerf�3)rorjrp�macros)rerf)rqr%rrrq)rrrgr`r
Zcheck_extensions_listrFr
rDrjZassertFalserCZundef_macrosZ
define_macros)r rHrGZexts�extr"r"r#�test_check_extensions_list�s2



z+BuildExtTestCase.test_check_extensions_listcCsHtddgdd�g}td|d��}|�|�}|��|�|��dg�dS)Nr,r^F)r_r$)r)r*)r
rrr=rDZget_source_files)r rarHrGr"r"r#�test_get_source_files#s

z&BuildExtTestCase.test_get_source_filescCs8t�}|�|�}d|_|��|��|�|jd�dS)NZunix)rr�compilerr=r>rD)r rHrGr"r"r#�test_compiler_option*s
z%BuildExtTestCase.test_compiler_optionc	CsPt��}|dk	r|�d|�|��}tj�|d�}|�|d�td|gdd�}t	d|gd��}|�
|�}t|�|��|�
t|���d	�tj�|jd
�|_tj�|jd�|_tj�|���}t��}t�|�zd	|_|��|��d}Wdt�|�X|�tj�|��t�d
�}	|�|�|	��tj�|�}
|�
|
|�d|_d|_|��|��d}|�tj�|��|�|�|	��tj�|�}
|�
|
|j�|�d�}ddi|_ |�!d�}tj�"|�d}|�
||j�d	|_tj�|���}t��}t�|�z|�!d�}Wdt�|�Xtj�"|�d}tj�"|�d}
|�
|
d�dS)NzThe %r command is not foundzfoo.czvoid PyInit_foo(void) {}
r,F)r_r$)r)r*r%ZbuildZtemptr�
EXT_SUFFIX�build_pyrnrm���)#rr4r5rr6rr7Z
write_filer
rrr	r=rDrPZget_outputsrr9r:�realpath�getcwd�chdir�inplacer>rB�existsr�get_config_var�endswith�dirnamerv�get_finalized_commandr8�get_ext_fullpathrh)r rGrZc_filersrHZ
other_tmp_dirZold_wdZso_fileZ
ext_suffixZso_dirryrZlastdirr"r"r#�test_get_outputs5sf






z!BuildExtTestCase.test_get_outputscCs.t�d�}t�}|�|�}d|_ddi|j_ddg|j_t�	�}tj
�|ddd|�}|�d�}|�
||�d	|_tj
�|d
�|_tj
�|d
dd|�}|�d�}|�
||�|�d�}i|_dd
g|j_|�d
�}tj
�|d
ddd|�}|�
||�d|_|�d
�}tj
�|ddd|�}|�
||�dS)Nrxr%rn�srcZlxmlz	lxml.htmlZetreez
lxml.etreerZtmpdirryZtwistedztwisted.runner.portmapZrunnerZportmap)rr�rrr~Zdistributionr8Zpackagesr6r|rr7r�rDr9r�)r rsrHrG�curdirZwantedrryr"r"r#�test_ext_fullpathws4







z"BuildExtTestCase.test_ext_fullpath�darwinztest only relevant for MacOSXcCs|�dd�dS)Nz==)�_try_compile_deployment_target)r r"r"r#�test_deployment_target_default�sz/BuildExtTestCase.test_deployment_target_defaultcCs|�t|jdd�dS)N�>z10.1)r`rr�)r r"r"r#�test_deployment_target_too_low�sz/BuildExtTestCase.test_deployment_target_too_lowcCsVt�d�}|rRdd�|�d�D�}|dd7<d�dd�|D��}|�d	|�dS)
N�MACOSX_DEPLOYMENT_TARGETcSsg|]}t|��qSr")�int)rT�xr"r"r#rU�szEBuildExtTestCase.test_deployment_target_higher_ok.<locals>.<listcomp>�.rzr%css|]}t|�VqdS)N)�str)rT�ir"r"r#�	<genexpr>�szDBuildExtTestCase.test_deployment_target_higher_ok.<locals>.<genexpr>�<)rr�rhr7r�)r �	deptargetr"r"r#� test_deployment_target_higher_ok�s
z1BuildExtTestCase.test_deployment_target_higher_okc
	Csrtj}|��t_|�ttd|�|dkr>tj�d�rHtjd=n
|tjd<tj�|jd�}t	|d��}|�
t�d|��WdQRXt
�d�}ttt|�d�dd���}|dd�d	kr�d
|}nd|}td|gd
|fgd�}td|gd��}|j|_|�|�}|j|_|j|_y8tj}	tj�s,t�t_z|��|��Wd|	t_XWn t k
�rl|�!d�YnXdS)N�environr�zdeptargetmodule.c�wz�                #include <AvailabilityMacros.h>

                int dummy;

                #if TARGET %s MAC_OS_X_VERSION_MIN_REQUIRED
                #else
                #error "Unexpected target"
                #endif

            r�rr.)�
r�z	%02d%01d0z
%02d%02d00r�z-DTARGET=%s)Zextra_compile_args)r)r*z*Wrong deployment target during compilation)"r6r��copyr�setattrrOrr7r�open�write�textwrap�dedentrr��tuple�mapr�rhr
rr8rr9r:rr;rr<rr=r>rZfail)
r �operator�targetZorig_environZdeptarget_c�fpZ
deptarget_extrHrGrIr"r"r#r��sJ






z/BuildExtTestCase._try_compile_deployment_target)rA�
__module__�__qualname__rr&rrLrSr]rbrlrtrurwr�r��unittestZ
skipUnlessrrNr�r�r�r��
__classcell__r"r")r!r#rs",H0B'
rcseZdZ�fdd�Z�ZS)�ParallelBuildExtTestCasecst�j||�}d|_|S)NT)rrZparallel)r r'r(r)r!r"r#r�sz"ParallelBuildExtTestCase.build_ext)rAr�r�rr�r"r")r!r#r��sr�cCs,t��}|�t�t��|�t�t��|S)N)r�Z	TestSuiteZaddTestZ	makeSuiterr�)Zsuiter"r"r#�
test_suitesr��__main__)!rr6�iorr�Zdistutils.corerZdistutils.command.build_extrZ	distutilsrZdistutils.tests.supportrrrr	Zdistutils.extensionr
Zdistutils.errorsrrr
rr�Ztestrr?ZTestCaserr�r�rAZrun_unittestr"r"r"r#�<module>s,e