o
    5‘ði@  ã                   @   sb   d 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G dd„ de
jƒZdS )	z*Tests for distutils.command.build_scripts.é    N)Ú	sysconfig)Úbuild_scripts)ÚDistribution)Úsupportc                   @   s8   e Zd Zdd„ Zdd„ Zdd„ Zedd„ ƒZd	d
„ ZdS )ÚTestBuildScriptsc                 C   sH   |   dg ¡}|jrJ ‚|jd u sJ ‚| ¡  |jsJ ‚|jdks"J ‚d S )Nz/foo/bar)Úget_build_scripts_cmdÚforceÚ	build_dirÚfinalize_options)ÚselfÚcmd© r   úm/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/_distutils/tests/test_build_scripts.pyÚtest_default_settings   s   

z&TestBuildScripts.test_default_settingsc                    sh   |   ¡ ‰ |   ¡ }|  ˆ ¡}|  |‡ fdd„|D ƒ¡}| ¡  | ¡  t |¡}|D ]}||v s1J ‚q)d S )Nc                    ó   g | ]	}t j ˆ |¡‘qS r   ©ÚosÚpathÚjoin©Ú.0Úfn©Úsourcer   r   Ú
<listcomp>   ó    z/TestBuildScripts.test_build.<locals>.<listcomp>)ÚmkdtempÚwrite_sample_scriptsr   r
   Úrunr   Úlistdir)r   ÚtargetÚexpectedr   ÚbuiltÚnamer   r   r   Ú
test_build   s   
ÿ
ÿzTestBuildScripts.test_buildc                 C   s4   dd l }tƒ }||_tj|d|jd�|jd< t|ƒS )Nr   T)r   r   Ú
executableÚbuild)Úsysr   Úscriptsr   ÚDummyCommandr%   Úcommand_objr   )r   r    r(   r'   Údistr   r   r   r   '   s   ÿz&TestBuildScripts.get_build_scripts_cmdc                 C   s@   t  d¡ ¡ t  d¡ ¡ t  d¡ ¡ dœ}tj || ¡ t|ƒS )Nz�
                #! /usr/bin/env python2.3
                # bogus script w/ Python sh-bang
                pass
                zy
                #!/usr/bin/python
                # bogus script w/ Python sh-bang
                pass
                zr
                #!/bin/sh
                # bogus shell script w/ sh-bang
                exit 0
                )z
script1.pyz
script2.pyzshell.sh)ÚtextwrapÚdedentÚlstripÚjaracor   r&   Úlist)ÚdirÚspecr   r   r   r   1   s   ñz%TestBuildScripts.write_sample_scriptsc              	      s¬   |   ¡ ‰ |   ¡ }|  ˆ ¡}|  |‡ fdd„|D ƒ¡}| ¡  t ¡  d¡}dtjd< z| ¡  W |d ur9|tjd< n
|d urC|tjd< w t	 
|¡}|D ]}||v sSJ ‚qKd S )Nc                    r   r   r   r   r   r   r   r   M   r   z5TestBuildScripts.test_version_int.<locals>.<listcomp>ÚVERSIONé   )r   r   r   r
   r   Úget_config_varsÚgetÚ_config_varsr   r   r   )r   r    r!   r   Úoldr"   r#   r   r   r   Útest_version_intG   s(   
ÿ


€ÿ
ÿz!TestBuildScripts.test_version_intN)	Ú__name__Ú
__module__Ú__qualname__r   r$   r   Ústaticmethodr   r9   r   r   r   r   r      s    


r   )Ú__doc__r   r,   Ú	distutilsr   Údistutils.command.build_scriptsr   Údistutils.corer   Údistutils.testsr   Újaraco.pathr/   ÚTempdirManagerr   r   r   r   r   Ú<module>   s    