File: //opt/python38/lib/python3.8/distutils/tests/__pycache__/test_build_clib.cpython-38.pyc
U
�i�_C � @ s� d Z ddlZddlZddlZddlmZmZ ddlmZ ddl m
Z
ddlmZ ddl
mZ G dd � d ejejej�Zd
d� Zedkr�ee� � dS )
z'Tests for distutils.command.build_clib.� N)�run_unittest�missing_compiler_executable)�
build_clib)�DistutilsSetupError)�support)�find_executablec @ sF e Zd Zdd� Zdd� Zdd� Zdd� Ze�e j
d kd
�dd� �Zd
S )�BuildCLibTestCasec C s� | � � \}}t|�}| �t|jd� | �t|jddg� | �t|jddg� | �t|jddg� | �t|jdi fd g� di fdd
difg}|�|� d S )N�foo�foo1�foo2)� r
)�namer )r
r
)zanother/namer r
)Zanotherr �okZgood)�create_distr �assertRaisesr Zcheck_library_list)�self�pkg_dir�dist�cmdZlibs� r �>/opt/python38/lib/python3.8/distutils/tests/test_build_clib.py�test_check_library_dist s*
�
�
��
��z)BuildCLibTestCase.test_check_library_distc C s� | � � \}}t|�}di fg|_| �t|j� dddifg|_| �t|j� ddddgifg|_| �|�� ddg� dddifg|_| �|�� ddg� dddifdddd gifg|_| �|�� dddd g� d S )
Nr
�sourcesr �a�b)r r Zname2�c�d)r r � librariesr r Zget_source_files�assertEqual�r r r r r r r �test_get_source_files/ s
�z'BuildCLibTestCase.test_get_source_filesc C s� | � � \}}t|�}G dd� d�}|� |_dddifg}| �t|j|� ddt� ifg}|�|� ddt� ifg}|�|� d S )Nc @ s e Zd Zdd� ZeZdS )z<BuildCLibTestCase.test_build_libraries.<locals>.FakeCompilerc _ s d S �Nr )�args�kwr r r �compileJ s zDBuildCLibTestCase.test_build_libraries.<locals>.FakeCompiler.compileN)�__name__�
__module__�__qualname__r$ Zcreate_static_libr r r r �FakeCompilerI s r( r
r Znotvalid)r r Zcompilerr r Zbuild_libraries�list�tuple)r r r r r( �libr r r �test_build_librariesE s
z&BuildCLibTestCase.test_build_librariesc C sh | � � \}}t|�}d|_|�� | �|jdg� d |_|�� | �|jg � d|j_| �t|j� d S )Nzone-dirZWONTWORK) r r Zinclude_dirsZfinalize_optionsr Zdistributionr r r r r r r �test_finalize_optionsZ s z'BuildCLibTestCase.test_finalize_options�win32zcan't test on Windowsc C s� | � � \}}t|�}tj�|d�}| �|d� dd|gifg|_tj�|d�}t�|� ||_||_t � }|d k r�| �
d| � |�� | �dt�
|�� d S )Nzfoo.czint main(void) { return 1;}
r r ZbuildzThe %r command is not foundzlibfoo.a)r r �os�path�joinZ
write_filer �mkdir�
build_tempr ZskipTest�runZassertIn�listdir)r r r r Zfoo_cr3 Zccmdr r r �test_runi s
zBuildCLibTestCase.test_runN)r% r&