U
    ui
                     @   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   T/tmp/pip-unpacked-wheel-9osl9suo/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 k	s0ttj|s@t|d|ddksVtd S )Nr   CygwinCCompilerZbashz/usr/libz/usr/lib/libsz.dll.a)distutils.cygwinccompilerr   Zfind_library_fileAssertionErrorr   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$td S )Nr   r   z/foo)r   r   Zruntime_library_dir_optionr    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tdt _t d tks0t| | jd t d tksPt| | jd t d tkspt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    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td S r   )r   r    r   r   r   r   test_get_msvcrI   s    z"TestCygwinCCompiler.test_get_msvcrc                 C   s$   ddl m} | }|jd k	s td S )Nr   r   )r   r   Zdll_librariesr    r$   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   

