B
    Ûö›\  ã               @   s€   d Z ddlZddlZddlmZmZmZ ddlmZ ddl	m
Z
 ddlm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.dep_util.é    N)ÚnewerÚnewer_pairwiseÚnewer_group)ÚDistutilsFileError)Úsupport)Úrun_unittestc               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚDepUtilTestCasec             C   sp   |   ¡ }tj |d¡}tj t¡}|  tt||¡ |  	|¡ |  
t|dƒ¡ |  
t||ƒ¡ |  t||ƒ¡ d S )NÚnewZI_dont_exist)ÚmkdtempÚosÚpathÚjoinÚabspathÚ__file__ÚassertRaisesr   r   Ú
write_fileÚ
assertTrueÚassertFalse)ÚselfÚtmpdirZnew_fileÚold_file© r   ú.lib/python3.7/distutils/tests/test_dep_util.pyÚ
test_newer   s    
zDepUtilTestCase.test_newerc             C   s²   |   ¡ }tj |d¡}tj |d¡}t |¡ t |¡ tj |d¡}tj |d¡}tj t¡}tj |d¡}|  |¡ |  |¡ |  |¡ |  t	||g||gƒ|g|gf¡ d S )NÚsourcesÚtargetsÚoneÚtwoÚfour)
r
   r   r   r   Úmkdirr   r   r   ZassertEqualr   )r   r   r   r   r   r   Úthreer   r   r   r   Útest_newer_pairwise   s    




z#DepUtilTestCase.test_newer_pairwisec             C   sø   |   ¡ }tj |d¡}t |¡ tj |d¡}tj |d¡}tj |d¡}tj t¡}|  |¡ |  |¡ |  |¡ |  t	|||g|ƒ¡ |  
t	|||g|ƒ¡ t |¡ |  tt	|||g|¡ |  
t	|||g|dd¡ |  t	|||g|dd¡ d S )Nr   r   r   r    Úignore)Zmissingr   )r
   r   r   r   r   r   r   r   r   r   r   Úremover   ÚOSError)r   r   r   r   r   r    r   r   r   r   Útest_newer_group0   s$    





z DepUtilTestCase.test_newer_groupN)Ú__name__Ú
__module__Ú__qualname__r   r!   r%   r   r   r   r   r   
   s   r   c               C   s
   t  t¡S )N)ÚunittestZ	makeSuiter   r   r   r   r   Ú
test_suiteL   s    r*   Ú__main__)Ú__doc__r)   r   Zdistutils.dep_utilr   r   r   Zdistutils.errorsr   Zdistutils.testsr   Ztest.supportr   ZTempdirManagerZTestCaser   r*   r&   r   r   r   r   Ú<module>   s   B