Current File : //usr/local/apps/python3/lib/python3.11/distutils/tests/__pycache__/test_sysconfig.cpython-311.pyc
�

�Ke�)���dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ddlmZmZmZmZddlmZddlmZGd	�d
e
jej��Zd�Zedkree����dSdS)
zTests for distutils.sysconfig.�N)�	sysconfig)�get_default_compiler)�support)�run_unittest�	swap_item�requires_subprocess�is_wasi)�TESTFN)�check_warningsc���eZdZ�fd�Z�fd�Zd�Zejed��d���Z	d�Z
d�Zejed��d���Zd	�Z
d
�Zeje��dkd��d
���Zd�Zd�Zd�Zejejd��d��d���Ze��d���Z�xZS)�SysconfigTestCasec�d��tt|�����d|_dS�N)�superr
�setUp�makefile��self�	__class__s ��H/usr/local/apps/python3/lib/python3.11/distutils/tests/test_sysconfig.pyrzSysconfigTestCase.setUps+���
���&�&�,�,�.�.�.���
�
�
�c���|j�tj|j��|���t	t
|�����dSr)r�os�unlink�cleanup_testfnrr
�tearDownrs �rrzSysconfigTestCase.tearDownsR����=�$��I�d�m�$�$�$�������
���&�&�/�/�1�1�1�1�1rc��tj�t��rtjt��dStj�t��rt
jt��dSdSr)r�path�isfiler
�remove�isdir�shutil�rmtree�rs rrz SysconfigTestCase.cleanup_testfnsd��
�7�>�>�&�!�!�	"��I�f������
�W�]�]�6�
"�
"�	"��M�&�!�!�!�!�!�	"�	"rz,Incompatible with WASI mapdir and OOT buildsc��tj��}|�tj�|��|��dSr)r�get_config_h_filename�
assertTruerrr)r�config_hs  r�test_get_config_h_filenamez,SysconfigTestCase.test_get_config_h_filename#s8���2�4�4���������x�0�0�(�;�;�;�;�;rc��|�tj��tjt�����dS)N)�prefix)�assertNotEqualr�get_python_libr
r$s r�test_get_python_libz%SysconfigTestCase.test_get_python_lib(sG��	
���I�4�6�6�%�4�F�C�C�C�	E�	E�	E�	E�	Erc��tj��}|�|t��|�|��dSr)r�get_config_vars�assertIsInstance�dictr')r�cvarss  r�test_get_config_varsz&SysconfigTestCase.test_get_config_vars/s>���)�+�+�����e�T�*�*�*���������rc��tjd��}|�tj�|��|��|�tj�|��|��tjr�tj�|dd��}|�tj�	|��|��tj�|dd��}|�tj�	|��|��tj�|d��}|�tj�	|��|��dStj
dkrF|�tj�tj
����|��dSdS)N�srcdir�IncludezPython.h�PCz
pyconfig.hz
pyconfig.h.in�posix)r�get_config_varr'rr�isabsr!�python_build�join�exists�name�assertEqual�dirname�get_makefile_filename)rr6�Python_h�
pyconfig_h�
pyconfig_h_ins     r�test_srcdirzSysconfigTestCase.test_srcdir4sh���)�(�3�3�������
�
�f�-�-�v�6�6�6������
�
�f�-�-�v�6�6�6��!�
	��w�|�|�F�I�z�B�B�H��O�O�B�G�N�N�8�4�4�h�?�?�?�����f�d�L�A�A�J��O�O�B�G�N�N�:�6�6�
�C�C�C��G�L�L���A�A�M��O�O�B�G�N�N�=�9�9�=�I�I�I�I�I�
�W��
�
��������	� ?� A� A�B�B��
�
�
�
�
� �
rc�.�tjd��}tj��}	tjd��tjd��}tj|��n#tj|��wxYw|�||��dS)Nr6z..)rr:r�getcwd�chdirr@)rr6�cwd�srcdir2s    r�test_srcdir_independent_of_cwdz0SysconfigTestCase.test_srcdir_independent_of_cwdKs~���)�(�3�3���i�k�k��	��H�T�N�N�N��.�x�8�8�G��H�S�M�M�M�M��B�H�S�M�M�M�M���������)�)�)�)�)s�(A&�&A<c
�Z�Gd�d��}ddddddd	d
dd�	}|��}tj��5}|���D]3\}}|�t	t
j||�����4tj|��ddd��n#1swxYwY|S)
Nc��eZdZdZd�ZdS)�6SysconfigTestCase.customize_compiler.<locals>.compiler�unixc��||_dSr)�exes)r�kws  r�set_executableszFSysconfigTestCase.customize_compiler.<locals>.compiler.set_executables\s
����	�	�	rN)�__name__�
__module__�__qualname__�
compiler_typerT�rr�compilerrOYs(������"�M�
�
�
�
�
rrZ�sc_ar�sc_cc�sc_cxxz--sc-arflagsz--sc-cflagsz
--sc-ccshared�sc_ldshared�sc_shutil_suffix�True)	�AR�CC�CXX�ARFLAGS�CFLAGS�CCSHARED�LDSHARED�SHLIB_SUFFIX�CUSTOMIZED_OSX_COMPILER)�
contextlib�	ExitStack�items�
enter_contextrr�_config_vars�customize_compiler)rrZ�sysconfig_vars�comp�cm�key�values       rroz$SysconfigTestCase.customize_compilerWs"��	�	�	�	�	�	�	�	����%�#�'�%�.�(.�
�
���x�z�z��
�
!�
#�
#�	/�r�,�2�2�4�4�
P�
P�
��U�� � ��9�+A�3��!N�!N�O�O�O�O��(��.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�s�AB � B$�'B$rPz+not testing if default compiler is not unixc�|�tj��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)'N�env_arra�env_ccrb�env_cpp�CPPzenv_cxx --env-cxx-flagsrc�env_ldsharedrgz
--env-ldflags�LDFLAGSz
--env-arflagsrdz--env-cflagsrez--env-cppflags�CPPFLAGS�archiverzenv_ar --env-arflags�preprocessorzenv_cpp --env-cppflagsrZz.env_cc --sc-cflags --env-cflags --env-cppflags�compiler_soz<env_cc --sc-cflags --env-cflags --env-cppflags --sc-ccshared�compiler_cxx�
linker_exe�	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^)rr0r�environror@rR�shared_lib_extension)rrqs  r�test_customize_compilerz)SysconfigTestCase.test_customize_compilerus<��	�!�#�#�#�#��
�4��#��
�4��%��
�5��5��
�5��!/��
�:�� /��
�9�� /��
�9��-��
�8��!1��
�:���&�&�(�(�������:�.�/�	1�	1�	1������>�2�1�	3�	3�	3������:�.�I�	K�	K�	K������=�1�H�	J�	J�	J�	
�����>�2�2�	4�	4�	4������<�0�!�	#�	#�	#������;�/�,�	.�	.�	.�	
����2�4F�G�G�G��J�t���J�t���J�u���J�u���J�z�"��J�y�!��J�y�!��J�x� ��J�z�"��&�&�(�(�������:�.�-�	/�	/�	/������>�2�#�	%�	%�	%������:�.�,�	.�	.�	.������=�1�:�	<�	<�	<������>�2�!�	#�	#�	#������<�0� �	"�	"�	"������;�/�&�	(�	(�	(�����2�4F�G�G�G�G�Grc�^�t|_t|jd��}	|�d��|�d��|���n#|���wxYwtj|j��}|�|ddd���dS)N�wz)CONFIG_ARGS=  '--arg1=optarg1' 'ENV=LIB'
�VAR=$OTHER
OTHER=fooz'--arg1=optarg1' 'ENV=LIB'�foo��CONFIG_ARGS�OTHER�r
r�open�write�closer�parse_makefiler@�r�fd�ds   r�test_parse_makefile_basez*SysconfigTestCase.test_parse_makefile_base�s�����
�
�$�-��
%�
%��	��H�H�E�F�F�F��H�H�,�-�-�-��H�H�J�J�J�J��B�H�H�J�J�J�J�����$�T�]�3�3������,H�&+�-�-�	.�	.�	.�	.�	.��*A"�"A8c�^�t|_t|jd��}	|�d��|�d��|���n#|���wxYwtj|j��}|�|ddd���dS)Nr�z,CONFIG_ARGS=  '--arg1=optarg1' 'ENV=\$$LIB'
r�z'--arg1=optarg1' 'ENV=\$LIB'r�r�r�r�s   r�"test_parse_makefile_literal_dollarz4SysconfigTestCase.test_parse_makefile_literal_dollar�s�����
�
�$�-��
%�
%��	��H�H�H�I�I�I��H�H�,�-�-�-��H�H�J�J�J�J��B�H�H�J�J�J�J�����$�T�]�3�3������,K�&+�-�-�	.�	.�	.�	.�	.r�c��ddl}|�|�d��tjd����|�|�d��tjd����dS)Nrrer{)rr@r:�r�global_sysconfigs  r�test_sysconfig_modulez'SysconfigTestCase.test_sysconfig_module�s���,�,�,�,����)�8�8��B�B�"�1�(�;�;�	=�	=�	=����)�8�8��C�C�"�1�)�<�<�	>�	>�	>�	>�	>rri�compiler flags customizedc�L�ddl}tjd��r|�d��|�|�d��tjd����|�|�d��tjd����dS)Nrrir�rgrb)rr:�skipTestr@r�s  r�test_sysconfig_compiler_varsz.SysconfigTestCase.test_sysconfig_compiler_vars�s���"	-�,�,�,��#�$=�>�>�	7��M�M�5�6�6�6����)�8�8��D�D�"�1�*�=�=�	?�	?�	?����)�8�8��>�>�"�1�$�7�7�	9�	9�	9�	9�	9rc��ttd��5}|�tjd����ddd��n#1swxYwYtjttj	��tgt
j
t
jd���}|���\}}|�
d|jd|z��dS)Nr�aB                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�stderr�universal_newlinesrzSubprocess failed: )r�r
�
writelines�textwrap�dedent�
subprocess�Popen�str�sys�
executable�PIPE�STDOUT�communicater@�
returncode)r�f�p�outs�errss     r�.test_customize_compiler_before_get_config_varsz@SysconfigTestCase.test_customize_compiler_before_get_config_vars�s��
�&�#�
�
�	�!�
�L�L���*���
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
��c�#�.�1�1�6�:�!��!�(�#'�
)�
)�
)���]�]�_�_�
��d�����A�L�*?�$�*F�G�G�G�G�Gs�(A
�
A�A)rUrVrWrrr�unittest�skipIfr	r)r.r4rFrLro�
skipUnlessrr�r�r�r�rr:r�rr��
__classcell__)rs@rr
r
s�������������2�2�2�2�2�"�"�"��X�_�W�L�M�M�<�<�N�M�<�E�E�E����
�X�_�W�L�M�M���N�M��,
*�
*�
*����<�X��-�-�/�/�6�9�F�H�H�:H�:H�H�H�:H�x
.�
.�
.�
.�
.�
.�>�>�>��X�_�-�Y�-�.G�H�H�0�2�2�9�9�2�2�9�.����H�H���H�H�H�H�Hrr
c��tj��}|�tj���t
����|Sr)r��	TestSuite�addTest�
TestLoader�loadTestsFromTestCaser
)�suites r�
test_suiter�s?���� � �E�	�M�M�(�%�'�'�=�=�>O�P�P�Q�Q�Q��Lr�__main__)�__doc__rjrr"r�r�r�r��	distutilsr�distutils.ccompilerr�distutils.testsr�test.supportrrrr	�test.support.os_helperr
�test.support.warnings_helperr�EnvironGuard�TestCaser
r�rUrYrr�<module>r�sQ��$�$�����	�	�	�	�
�
�
�
�����
�
�
�
���������������4�4�4�4�4�4�#�#�#�#�#�#�N�N�N�N�N�N�N�N�N�N�N�N�)�)�)�)�)�)�7�7�7�7�7�7�lH�lH�lH�lH�lH��,�h�.?�lH�lH�lH�^����z����L�����������r