o
    5‘ði�
  ã                   @   sj   d Z ddlZddlZddlmZ ddlmZ ddlZddlm	Z	 ej
dd�d	d
„ ƒZG dd„ dejƒZdS )z$Tests for distutils.cygwinccompiler.é    N)Ú	sysconfig)Úsupporté   )ÚcygwinT)Ú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   )ÚrequestÚmonkeypatchÚdistutils_managed_tempdirÚself© r   úr/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.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   Úfind_library_filer
   r   Úexists)r   r   ÚcompilerÚ	link_nameÚ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   Úruntime_library_dir_option©r   r   r#   r   r   r   Útest_runtime_library_dir_option%   s   z3TestCygwinCCompiler.test_runtime_library_dir_optionc                 C   s„   dt _t ¡ d tjksJ ‚dt _t ¡ d tjksJ ‚|  | jd¡ t ¡ d tjks.J ‚|  | jd¡ t ¡ d tjks@J ‚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 wordÚxxxzxxx __GNUC__ xxx)	r   r   r   Úcheck_config_hÚCONFIG_H_OKÚCONFIG_H_UNCERTAINÚ
write_filer   ÚCONFIG_H_NOTOKr   r   r   r   Útest_check_config_h,   s   ÿz'TestCygwinCCompiler.test_check_config_hc                 C   s   t  ¡ g ksJ ‚d S r   )r   Ú	get_msvcrr   r   r   r   Útest_get_msvcrD   s   z"TestCygwinCCompiler.test_get_msvcrc                 C   s$   ddl m} |ƒ }|jd usJ ‚d S )Nr   r   )r    r   Údll_librariesr(   r   r   r   Útest_dll_libraries_not_noneG   s   z/TestCygwinCCompiler.test_dll_libraries_not_noneN)Ú__name__Ú
__module__Ú__qualname__r   ÚpytestÚmarkÚskipifr&   r)   r0   r2   r4   r   r   r   r   r      s    




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