o
    Zh
                     @   sz   d Z ddlZddlZddlmZ ddlmZmZmZm	Z	m
Z
 ddlmZ ddlZejdddd	 ZG d
d dejZdS )z$Tests for distutils.cygwinccompiler.    N)	sysconfig)CONFIG_H_NOTOKCONFIG_H_OKCONFIG_H_UNCERTAINcheck_config_h	get_msvcr)supportT)Zautousec                 C   s>   | j }tj| d|_|td|j |t	dt	j
 d S )Nzpython.hget_config_h_filenameversion)instanceospathjoinmkdtemppython_hsetattrr   _get_config_h_filenamesysr
   )requestZmonkeypatchZdistutils_managed_tempdirself r   g/var/www/html/lang_env/lib/python3.10/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.pystuff   s   r   c                   @   sl   e Zd Zdd Zejdejddd Zejddd Zd	d
 Z	dd Z
ejddd ZdS )TestCygwinCCompilerc                 C   s   | j S N)r   r   r   r   r   r      s   z*TestCygwinCCompiler._get_config_h_filenamezsys.platform != "cygwin"z,not os.path.exists("/usr/lib/libbash.dll.a")c                 C   sZ   ddl m} | }d}|dg|}|d usJ tj|s J |d|ddks+J d S )Nr   CygwinCCompilerbashz/usr/libz/usr/lib/libsz.dll.a)distutils.cygwinccompilerr   Zfind_library_filer   r   exists)r   r   compilerZ	link_nameZlinkable_filer   r   r   test_find_library_file   s   z*TestCygwinCCompiler.test_find_library_filec                 C   s(   ddl m} | }|dg ksJ d S )Nr   r   z/foo)r    r   Zruntime_library_dir_optionr   r   r"   r   r   r   test_runtime_library_dir_option*   s   z3TestCygwinCCompiler.test_runtime_library_dir_optionc                 C   st   dt _t d tksJ dt _t d tksJ | | jd t d tks(J | | jd t d tks8J d S )NzX2.6.1 (r261:67515, Dec  6 2008, 16:42:21) 
[GCC 4.0.1 (Apple Computer, Inc. build 5370)]r   zsomething without the *CC wordZxxxzxxx __GNUC__ xxx)r   r
   r   r   r   
write_filer   r   r   r   r   r   test_check_config_h1   s   z'TestCygwinCCompiler.test_check_config_hc                 C   s   t  g ksJ d S r   )r   r   r   r   r   test_get_msvcrI   s   z"TestCygwinCCompiler.test_get_msvcrc                 C   s$   ddl m} | }|jd usJ d S )Nr   r   )r    r   Zdll_librariesr$   r   r   r   test_dll_libraries_not_noneL   s   z/TestCygwinCCompiler.test_dll_libraries_not_noneN)__name__
__module____qualname__r   pytestmarkZskipifr#   r%   r'   r(   r)   r   r   r   r   r      s    





r   )__doc__r   r   	distutilsr   r    r   r   r   r   r   Zdistutils.testsr   r-   Zfixturer   ZTempdirManagerr   r   r   r   r   <module>   s    

