HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/numpy/distutils/tests/__pycache__/test_system_info.cpython-310.pyc
o

��c�*�@s"ddlZddlZddlZddlmZmZddlmZmZddl	m
Z
ddlmZm
Z
mZddlmZmZddlmZmZmZddlmZdd	lmZmZdd
lmZddd
�ZdatadZdd�Ze�ZGdd�de�Z Gdd�de �Z!Gdd�de �Z"Gdd�de �Z#Gdd�d�Z$dd�Z%dS)�N)�mkstemp�mkdtemp)�Popen�PIPE)�DistutilsError)�assert_�assert_equal�
assert_raises)�	ccompiler�customized_ccompiler)�system_info�ConfigParser�mkl_info)�AliasedOptionError)�default_lib_dirs�default_include_dirs)�_shell_utils�cCstttd��|��t�}|�S)zg
    notfound_action:
      0 - do nothing
      1 - display warning message
      2 - raise error
    )�temp1�temp2�duplicate_options)�	Temp1Info�	Temp2Info�DuplicateOptionInfo�get�lower�_system_info)�name�notfound_action�cl�r �H/usr/lib/python3/dist-packages/numpy/distutils/tests/test_system_info.py�	get_classs��r"a�
[ALL]
library_dirs = {dir1:s}{pathsep:s}{dir2:s}
libraries = {lib1:s},{lib2:s}
extra_compile_args = -I/fake/directory -I"/path with/spaces" -Os
runtime_library_dirs = {dir1:s}

[temp1]
library_dirs = {dir1:s}
libraries = {lib1:s}
runtime_library_dirs = {dir1:s}

[temp2]
library_dirs = {dir2:s}
libraries = {lib2:s}
extra_link_args = -Wl,-rpath={lib2_escaped:s}
rpath = {dir2:s}

[duplicate_options]
mylib_libs = {lib1:s}
libraries = {lib2:s}
z�
/* This file is generated from numpy/distutils/testing/test_system_info.py */
#include<stdio.h>
void foo(void) {
   printf("Hello foo");
}
void bar(void) {
   printf("Hello bar");
}
cCs�t�}z|j}Wn$ty,z	|js|��Wn
ttfy%YYdSw|jg}Ynwzt|t	t	d�}|j
��|j��|�
�WdStyOYdSw)z? Return True if there appears to be an executable compiler
    F)�stdout�stderrT)r�compiler�AttributeError�initialized�
initializer�
ValueError�ccrrr#�closer$�wait�OSError)r%�cmd�pr r r!�
have_compiler@s,
���


��r0c@s$eZdZeedfdd�Zdd�ZdS)rrc	Cs2i|j_g|_ddddddddd�}t|�|_dS)N��0)�library_dirs�include_dirs�runtime_library_dirs�rpath�src_dirs�search_static_first�extra_compile_args�extra_link_args)�	__class__�info�local_prefixesr
�cp)�selfrr�	verbosity�defaultsr r r!�__init__\s�z_system_info.__init__cCs||d�}|S)z-Override _check_libs to return with all dirs )�	librariesr3r )r?�lib_dirs�libs�opt_libs�extsr<r r r!�_check_libsos
z_system_info._check_libsN)�__name__�
__module__�__qualname__rrrBrHr r r r!rZs
�rc@�eZdZdZdZdS)r�For testing purposesrN�rIrJrK�__doc__�sectionr r r r!ru�rc@rL)rrMrNrNr r r r!rzrQrc@rL)rrMrNrNr r r r!r~rQrc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	j
jed
d�e	j
j
dd�dd���Ze	j
jed
d�e	j
jdee���vdd�e	j
j
dd�dd����Zdd�ZdS)�TestSystemInfoReadingcCs�t�|_tj�|jd�|_tj�|jd�|_t�|_tj�|jd�|_tj�|jd�|_	t
jdi|j|j|j|j	tjt
j�|j	g�d���at�\}|_t�|�t|jd��
}|�t�Wd�n1sgwYt|jd��
}|�t�Wd�n1s�wYt|jd��
}|�t�Wd�n1s�wYdd	�}|td
�|j�|_|td�|j�|_|td�|j�|_|td
�|j�|_dS)z Create the libraries zfoo.cz	libfoo.sozbar.cz	libbar.so)�dir1�lib1�dir2�lib2�pathsep�lib2_escaped�wNcSs|g|_|��|S�N)�files�parse_config_files)�c�site_cfgr r r!�site_and_parse�sz3TestSystemInfoReading.setup.<locals>.site_and_parse�defaultrrrr )r�_dir1�os�path�join�_src1�_lib1�_dir2�_src2�_lib2�simple_site�formatrWr�NativeParserr^r�_sitecfgr+�open�write�fakelib_c_textr"�	c_default�c_temp1�c_temp2�
c_dup_options)r?�fdr_r r r!�setup�s@
�	
���
�zTestSystemInfoReading.setupcCspzt�|j�Wn	tyYnwzt�|j�Wn	ty#Ynwz	t�|j�WdSty7YdSwrZ)�shutil�rmtreera�	Exceptionrgrb�removerm)r?r r r!�teardown�s���zTestSystemInfoReading.teardowncCsb|j}t|��|j|jg�t|��|j|jg�t|��|jg�|�	�}t|dgd��dS)Nr9)z-I/fake/directoryz-I/path with/spacesz-Os)
rqr�get_lib_dirsrarg�
get_librariesrfri�get_runtime_lib_dirs�calc_extra_info�r?�tsi�extrar r r!�test_all�szTestSystemInfoReading.test_allcCs@|j}t|��|jg�t|��|jg�t|��|jg�dSrZ)rrrr|rar}rfr~�r?r�r r r!�
test_temp1�sz TestSystemInfoReading.test_temp1cCsb|j}t|��|jg�t|��|jg�t|jdd�|jg�|��}t|dd|jg�dS)Nr6)�keyr:z-Wl,-rpath=)rsrr|rgr}rir~rr�r r r!�
test_temp2�sz TestSystemInfoReading.test_temp2cCsN|j}tt|jdd�t|�d|jg�|jg�t|�d|jg�|jg�dS)N�
mylib_libsrC)rtr	r�get_option_singler�get_libsrfrir�r r r!�test_duplicate_options�sz,TestSystemInfoReading.test_duplicate_optionszMissing compiler)�reasonz,Debian: disabled as we cant properly compilec	Cs�t�}t��}z4t�|j�|jtj�|j�g|jd�t	tj�
|j�dd��p2tj�
|j�dd���Wt�|�dSt�|�w)N)�
output_dir�.c�.oz.obj)rrb�getcwd�chdirra�compilerc�basenamerer�isfile�replace)r?r]�previousDirr r r!�
test_compile1�s�z#TestSystemInfoReading.test_compile1�msvczFails with MSVC compiler c	Cs�|j}t�}|��d}t��}z*t�|j�|jtj�	|j
�g|j|d�ttj�|j
�
dd���Wt�|�dSt�|�w)Nr:)r��extra_postargsr�r�)rsrrrbr�r�rgr�rcr�rhrr�r�)r?r�r]r:r�r r r!�
test_compile2�s�z#TestSystemInfoReading.test_compile2c	Cs�t��}tj�|jd�}t�|j|�z�t�|j�t	�}|j
dd�tj�}|�
�|ks0J�t|d��}|���ddd�}Wd�n1sIwYt|d��
}|�|�Wd�n1scwYt	�}|�
�|kssJ�t|d��}|���dd	d�}Wd�n1s�wYt|d��
}|�|�Wd�n1s�wYt	�}|�
�|ks�J�Wt�|�dSt�|�w)
Nzsite.cfg�ALLr3�rz[ALL]z[mkl]rrYz	[DEFAULT])rbr�rcrdrarw�copyrmr�rr>�splitrWr|rn�readr�ro)r?r��cfgr<rD�fid�mkl�dfltr r r!�test_overridess2����z$TestSystemInfoReading.test_overridesN)rIrJrKrvr{r�r�r�r��pytest�mark�skipif�
HAVE_COMPILER�skipr��reprr
�new_compilerr�r�r r r r!rR�s"*	
�rRcCs|ddlm}d}td�}|�|d�|||�\}}t|�dks!J�|td�ks)J�t|�dks1J�|�|d	�|||�\}}t|�dksFJ�t|�dksNJ�d
D]*}|�||�d��|||�\}}t|�dksjJ�|td
�ksrJ�t|�dkszJ�qPt�t��|�|d�|||�Wd�n1s�wYt�t��|�|d�|||�Wd�dS1s�wYdS)Nr)�_parse_env_order�#NPY_TESTS_DISTUTILS_PARSE_ENV_ORDER�abcdefzb,i,e,f��befrr1z^!zb,i,e��acdfzb,^e,iz!b,^e,i)�numpy.distutils.system_infor��list�setenv�lenr��raisesr))�monkeypatchr��env�
base_order�order�unknown�prefixr r r!�test_distutils_parse_env_order#s4�"�r�)r)&rbrwr��tempfilerr�
subprocessrr�distutils.errorsr�
numpy.testingrrr	�numpy.distutilsr
rr�rr
rrrrrr"rjr^rpr0r�rrrrrRr�r r r r!�<module>s2

!