U
    aÊ¹j¶  ã                   @   st   d 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ƒZe
jd	d
„ ƒZG dd„ dƒZdS )zTests for distutils.cmd.é    N)Údebug)ÚCommand)ÚDistribution)ÚDistutilsOptionErrorc                   @   s   e Zd Zdd„ ZdS )ÚMyCmdc                 C   s   d S ©N© )Úselfr   r   úc/var/www/html/bwave/python/venv/lib/python3.8/site-packages/setuptools/_distutils/tests/test_cmd.pyÚinitialize_options   s    zMyCmd.initialize_optionsN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r
   r      s   r   c                 C   s
   t tƒ ƒS r   )r   r   )Úrequestr   r   r
   Úcmd   s    r   c                   @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )ÚTestCommandc              	   C   sÞ   dddg|_ dddg|_tƒ |_d|_| d¡ | d¡ t t¡� | d¡ W 5 Q R X t t¡� | d	¡ W 5 Q R X d
|_	| d¡ |j	ddgksœt
‚ddg|_| d¡ ddg|_t t¡� | d¡ W 5 Q R X d S )NÚoneé   ÚthreeÚtwoÚokÚyes_string_listÚyes_string_list2Únot_string_listÚnot_string_list2zok,dokÚoption1ZdokÚxxxZwwwÚoption2Úoption3)r   r   Úobjectr   r   Úensure_string_listÚpytestÚraisesr   r   ÚAssertionErrorr   r   ©r	   r   r   r   r
   Útest_ensure_string_list   s$    





z#TestCommand.test_ensure_string_listc              	   C   sR   t  t¡� |jddddd� W 5 Q R X dd„ }d|_||_|jdd	ddd� d S )
NTÚ Úfuncr   )ÚinfilesÚoutfiler'   Úargsc                 S   s   |dkst ‚d S )Nzgenerating out from in)r#   )r'   r*   Úexec_msgÚlevelr   r   r
   Ú_execute6   s    z,TestCommand.test_make_file.<locals>._executeÚinÚout)r!   r"   Ú	TypeErrorÚ	make_fileÚforceÚexecute)r	   r   r-   r   r   r
   Útest_make_file0   s    zTestCommand.test_make_filec                    sN   g ‰ ‡ fdd„}||_ d|_d|_ddg|_| ¡  dddg}ˆ |ksJt‚d S )	Nc                    s   ˆ   | ¡ d S r   )Úappend)Úmsgr,   ©Zmsgsr   r
   Ú	_announce@   s    z0TestCommand.test_dump_options.<locals>._announceé   )r   r&   r&   )r   r&   r&   zcommand options for 'MyCmd':z  option1 = 1z  option2 = 1)Úannouncer   r   Úuser_optionsÚdump_optionsr#   )r	   r   r8   Úwantedr   r7   r
   Útest_dump_options=   s    

zTestCommand.test_dump_optionsc              	   C   sZ   d|_ | d¡ d |_| dd¡ t|dƒs0t‚d|_t t¡� | d¡ W 5 Q R X d S )Nr   r   r   r   r9   r   )	r   Úensure_stringr   Úhasattrr#   r   r!   r"   r   r$   r   r   r
   Útest_ensure_stringL   s    
zTestCommand.test_ensure_stringc              	   C   s:   t |_| d¡ d|_t t¡� | d¡ W 5 Q R X d S ©Nr   r   r   )Ú__file__r   Úensure_filenamer   r!   r"   r   r$   r   r   r
   Útest_ensure_filenameX   s
    
z TestCommand.test_ensure_filenamec              	   C   sH   t j t¡pt j|_| d¡ d|_t 	t
¡� | d¡ W 5 Q R X d S rB   )ÚosÚpathÚdirnamerC   Úcurdirr   Úensure_dirnamer   r!   r"   r   r$   r   r   r
   Útest_ensure_dirname_   s
    
zTestCommand.test_ensure_dirnamec                 C   sJ   |  d¡ | ¡ jdkst‚| tdd¡ |  d¡ | ¡ jdksFt‚d S )Nr   r&   ÚDEBUGTzxxx
)Údebug_printZ
readouterrr/   r#   Úsetattrr   )r	   r   ZcapsysZmonkeypatchr   r   r
   Útest_debug_printf   s
    

zTestCommand.test_debug_printN)
r   r   r   r%   r4   r>   rA   rE   rK   rO   r   r   r   r
   r      s   r   )Ú__doc__rF   Ú	distutilsr   Údistutils.cmdr   Údistutils.distr   Údistutils.errorsr   r!   r   Zfixturer   r   r   r   r   r
   Ú<module>   s   
