o
    5‘ði  ã                   @   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   úk/root/parts/websockify/install/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    

ÿ