o
    NZh                     @   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)supportZ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pytestZraisesr   )selfdistcmd r   [/var/www/auris/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   fZpyc_fileZ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_nameZget_outputslen)r   r#   r   r   r$   Zoutputsr   r   r   test_get_outputs8      



zTestInstallLib.test_get_outputsc                 C   r&   )	Nr'   r   r(   r)   r   r*   r+   r   )r   r   r   r-   r   r   r   r.   r/   r   r   r   r   r0   r1   r2   r3   Z
get_inputsr4   )r   r#   r   r   r$   Zinputsr   r   r   test_get_inputsL   r6   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   Zcaplogr   r   Zold_dont_write_bytecoder   r   r   test_dont_write_bytecode`   s   z'TestInstallLib.test_dont_write_bytecodeN)__name__
__module____qualname__r   r   markZskipifr%   r5   r7   r;   r   r   r   r   r      s    

r   )__doc__importlib.utilr   r   r8   Zdistutils.command.install_libr   Zdistutils.errorsr   Zdistutils.extensionr   Zdistutils.testsr   r   Zcombine_markersr?   ZusefixturesZTempdirManagerr   r   r   r   r   <module>   s    

