B
    18\                 @   s   d Z ddlZddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ G dd	 d	ejejejejZd
d Zedkree  dS )z)Tests for distutils.command.install_data.    N)install_lib)	Extension)support)DistutilsOptionError)run_unittestc               @   sB   e Zd Zdd Zeejddd Zdd Z	dd	 Z
d
d ZdS )InstallLibTestCasec             C   s   |   d }t|}|  | |jd | |jd d|_| t|j d|_| t|j d|_|  | |jd d S )N   r   foo42   )create_distr   finalize_optionsassertEqualcompileoptimizeassertRaisesr   )selfdistcmd r   d/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Lib/distutils/tests/test_install_lib.pytest_finalize_options   s    z(InstallLibTestCase.test_finalize_optionszbyte-compile disabledc             C   s   |   \}}t| t|}d |_|_tj|d}| |d |	|g t
jjddd}t
jjd|jd}| tj| | tj| d S )Nr   zfoo.pyz# python file )optimization)r   oschdirr   r   r   pathjoin
write_filebyte_compile	importlibutilcache_from_source
assertTrueexists)r   project_dirr   r   fpyc_fileZpyc_opt_filer   r   r   test_byte_compile%   s    

z$InstallLibTestCase.test_byte_compilec             C   s   |   \}}t| td t|}d |_|_|  |_tj	
|dd}| |d tddgg|j_dg|j_d|j_| }| t|d| d S )	Nspamr   z__init__.pyz# python packager	   xxxzsetup.py   )r   r   r   mkdirr   r   r   mkdtempinstall_dirr   r   r   r   distributionext_modulespackagesscript_nameget_outputsr   len)r   r&   r   r   r'   outputsr   r   r   test_get_outputs5   s    



z#InstallLibTestCase.test_get_outputsc             C   s   |   \}}t| td t|}d |_|_|  |_tj	
|dd}| |d tddgg|j_dg|j_d|j_| }| t|d| d S )	Nr*   r   z__init__.pyz# python packager	   r+   zsetup.pyr   )r   r   r   r-   r   r   r   r.   r/   r   r   r   r   r0   r1   r2   r3   
get_inputsr   r5   )r   r&   r   r   r'   inputsr   r   r   test_get_inputsI   s    



z"InstallLibTestCase.test_get_inputsc             C   sl   |   d }t|}d|_d|_tj}dt_z|g  W d |t_X | d| jd d | jd d   d S )Nr   Tzbyte-compiling is disabledr   r   )	r   r   r   r   sysdont_write_bytecoder    assertInlogs)r   r   r   old_dont_write_bytecoder   r   r   test_dont_write_bytecode]   s    z+InstallLibTestCase.test_dont_write_bytecodeN)__name__
__module____qualname__r   unittestskipIfr;   r<   r)   r7   r:   r@   r   r   r   r   r      s
   r   c               C   s
   t tS )N)rD   	makeSuiter   r   r   r   r   
test_suiteo   s    rG   __main__)__doc__r;   r   importlib.utilr!   rD   Zdistutils.command.install_libr   distutils.extensionr   distutils.testsr   Zdistutils.errorsr   Ztest.supportr   TempdirManagerLoggingSilencerEnvironGuardTestCaser   rG   rA   r   r   r   r   <module>   s    ^