a
    
¼3jí  ã                   @   s¨   d Z ddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
 ddlZddlmZ ddlmZ dZdZdZd	ZG d
d„ dejejƒZdd„ Zedkr¤e
eƒ ƒ dS )zTests for distutils.core.é    N)Úcaptured_stdoutÚrun_unittest)Úsupport)Úlogz4
__file__

from distutils.core import setup
setup()
zH
import os
print(os.getcwd())

from distutils.core import setup
setup()
z)from distutils.core import setup
setup()
zÎfrom distutils.core import setup
from distutils.command.install import install as _install

class install(_install):
    sub_commands = _install.sub_commands + ['cmd']

setup(cmdclass={'install': install})
c                       sh   e Zd Z‡ fdd„Z‡ fdd„Zdd„ Zejjfdd„Z	d	d
„ Z
dd„ Zdd„ Zdd„ Zdd„ Z‡  ZS )ÚCoreTestCasec                    sJ   t t| ƒ ¡  tj| _|  ¡  tjtjd d … f| _|  	t
jt
jj¡ d S ©N)Úsuperr   ÚsetUpÚsysÚstdoutÚ
old_stdoutÚcleanup_testfnÚargvÚold_argvZ
addCleanupr   Zset_thresholdZ_global_logZ	threshold©Úself©Ú	__class__© úU/www/server/python_manager/versions/3.9.10/lib/python3.9/distutils/tests/test_core.pyr	   2   s
    zCoreTestCase.setUpc                    sB   | j t_|  ¡  | jd t_| jd tjd d …< tt| ƒ ¡  d S )Nr   é   )	r   r
   r   r   r   r   r   r   ÚtearDownr   r   r   r   r   9   s
    zCoreTestCase.tearDownc                 C   s:   t jj}tj |¡r t |¡ ntj |¡r6t 	|¡ d S r   )
Útestr   ÚTESTFNÚosÚpathÚisfileÚremoveÚisdirÚshutilÚrmtree)r   r   r   r   r   r   @   s
    zCoreTestCase.cleanup_testfnc                 C   s0   t |dƒ}z| |¡ W | ¡  n
| ¡  0 |S )NÚw)ÚopenÚwriteÚclose)r   Útextr   Úfr   r   r   Úwrite_setupG   s
    
zCoreTestCase.write_setupc                 C   s   t j |  t¡¡ d S r   )Ú	distutilsÚcoreÚ	run_setupr'   Úsetup_using___file__r   r   r   r   Útest_run_setup_provides_fileO   s    ÿz)CoreTestCase.test_run_setup_provides_filec                 C   s.   t j ¡ }tj |  t¡¡ |  t j|¡ d S r   )	r
   r   Úcopyr(   r)   r*   r'   Úsetup_does_nothingÚassertEqual)r   Z	argv_copyr   r   r   Ú!test_run_setup_preserves_sys_argvU   s
    
ÿz.CoreTestCase.test_run_setup_preserves_sys_argvc                 C   s.   t j |  t¡¡}| d¡}|  d|j¡ d S )NÚinstallÚcmd)r(   r)   r*   r'   Úsetup_defines_subclassZget_command_objZassertInZsub_commands)r   Údistr1   r   r   r   Útest_run_setup_defines_subclass\   s
    ÿ
z,CoreTestCase.test_run_setup_defines_subclassc                 C   sx   t  ¡ t_t ¡ }t tjj	¡ tj
 tjj	d¡}tj | jt|d¡ tj ¡ }| d¡rh|d d… }|  ||¡ d S )Núsetup.py)r   Ú
éÿÿÿÿ)ÚioÚStringIOr
   r   r   ÚgetcwdÚmkdirr   r   r   r   Újoinr(   r)   r*   r'   Úsetup_prints_cwdÚgetvalueÚendswithr/   )r   ÚcwdZsetup_pyÚoutputr   r   r   Útest_run_setup_uses_current_dird   s    
ÿ

z,CoreTestCase.test_run_setup_uses_current_dirc                 C   sÒ   ddgt _tƒ }tjjdd W d   ƒ n1 s40    Y  | d¡ |  | ¡ d¡ dtj_	z@tƒ }tjjdd W d   ƒ n1 sŒ0    Y  W dtj_	n
dtj_	0 | d¡ d	}|  | 
¡ d |¡ d S )
Nr6   z--nameZbar)Únamer   zbar
TFz&options (after parsing config files):
)r
   r   r   r(   r)   ZsetupÚseekr/   ÚreadÚDEBUGÚ	readlines)r   r   Zwantedr   r   r   Útest_debug_modev   s    
,
.
zCoreTestCase.test_debug_mode)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r   r'   r,   r0   r5   rC   rI   Ú__classcell__r   r   r   r   r   0   s   r   c                   C   s
   t  t¡S r   )ÚunittestZ	makeSuiter   r   r   r   r   Ú
test_suiteˆ   s    rO   Ú__main__)Ú__doc__r9   Zdistutils.corer(   r   r   r
   Ztest.supportr   r   r   rN   Zdistutils.testsr   r   r+   r>   r.   r3   ZEnvironGuardZTestCaser   rO   rJ   r   r   r   r   Ú<module>   s$   	
X