o
    LK&h                     @   s|   d 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ZejejdG dd	 d	ejZdS )
z)Tests for distutils.command.install_data.    N)install_lib)DistutilsOptionError)	Extension)supportsave_envc                   @   s@   e Zd Zdd Zejddd Zdd Zdd	 Z	d
d Z
dS )TestInstallLibc                 C   s   |   d }t|}|  |jdksJ |jdksJ d|_tt |  W d    n1 s3w   Y  d|_tt |  W d    n1 sOw   Y  d|_|  |jdksbJ d S )N   r   foo42   )create_distr   finalize_optionscompileoptimizepytestraisesr   )selfdistcmd r   _/var/www/html/venv/lib/python3.10/site-packages/setuptools/_distutils/tests/test_install_lib.pytest_finalize_options   s    

z$TestInstallLib.test_finalize_optionszsys.dont_write_bytecodec                 C   s   |   \}}t| t|}d |_|_tj|d}| |d |	|g t
jjddd}t
jjd|jd}tj|sAJ tj|sIJ 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exists)r   project_dirr   r   fpyc_filepyc_opt_filer   r   r   test_byte_compile'   s   
z TestInstallLib.test_byte_compilec                 C      |   \}}t| td t|}d |_|_|  |_tj	
|dd}| |d tddgg|j_dg|j_d|j_| }t|dksMJ |d S )	Nspamr   __init__.py# python packager	   xxxsetup.py   )r   r   r   mkdirr   r   r   mkdtempinstall_dirr   r   r   r   distributionext_modulespackagesscript_nameget_outputslen)r   r%   r   r   r&   outputsr   r   r   test_get_outputs8      



zTestInstallLib.test_get_outputsc                 C   r*   )	Nr+   r   r,   r-   r	   r.   r/   r   )r   r   r   r1   r   r   r   r2   r3   r   r   r   r   r4   r5   r6   r7   
get_inputsr9   )r   r%   r   r   r&   inputsr   r   r   test_get_inputsL   r<   zTestInstallLib.test_get_inputsc                 C   s`   |   d }t|}d|_d|_tj}dt_z
|g  W |t_n|t_w d|jd v s.J d S )Nr   Tzbyte-compiling is disabledr   )r   r   r   r   sysdont_write_bytecoder    messages)r   caplogr   r   old_dont_write_bytecoder   r   r   test_dont_write_bytecode`   s   z'TestInstallLib.test_dont_write_bytecodeN)__name__
__module____qualname__r   r   markskipifr)   r;   r?   rE   r   r   r   r   r      s    

r   )__doc__importlib.utilr!   r   r@   distutils.command.install_libr   distutils.errorsr   distutils.extensionr   distutils.testsr   r   combine_markersrI   usefixturesTempdirManagerr   r   r   r   r   <module>   s    

