a
    zeY                     @   s   d Z ddl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ZzddlZdZW n ey~   d	ZY n0 G d
d dejejejejZdd Zedkree  dS )z'Tests for distutils.command.bdist_dumb.    N)run_unittest)Distribution)
bdist_dumb)supportzfrom distutils.core import setup
import foo

setup(name='foo', version='0.1', py_modules=['foo'],
      url='xxx', author='xxx', author_email='xxx')

TFc                       s<   e Zd Z fddZ fddZeeddd Z  Z	S )BuildDumbTestCasec                    s2   t t|   t | _tjtjd d  f| _d S N)	superr   setUposgetcwdold_locationsysargvold_sys_argvself	__class__ 5/usr/lib/python3.9/distutils/tests/test_bdist_dumb.pyr	   "   s    
zBuildDumbTestCase.setUpc                    s>   t | j | jd t_| jd tjd d < tt|   d S )Nr      )	r
   chdirr   r   r   r   r   r   tearDownr   r   r   r   r   '   s    zBuildDumbTestCase.tearDownzNeed zlib support to runc           
      C   sr  |   }tj|d}t| | |dft | |dfd | |dfd | |dfd tdd	dgd
d
d
d}d|_t	| dgt
_t|}d|_|  |  ttj|d}d| |jf }| ||g ttjd|}z| }W |  n
|  0 ttd ttjj|}dt
jd d  dg}	t
js^|	dt
jj   | |t|	 d S )NZfoozsetup.pyzfoo.py#zMANIFEST.inzinclude foo.pyZREADME z0.1Zxxx)nameversionZ
py_modulesurlZauthorZauthor_emailzipdistz	%s.%s.zipzfoo-0.1-py%s.%s.egg-info   z
foo.%s.pyc)!mkdtempr
   pathjoinmkdirZ
write_fileSETUP_PYr   Zscript_namer   r   r   r   formatZensure_finalizedrunlistdirZget_fullnameZ	plat_nameZassertEqualzipfileZipFileZnamelistclosesortedfiltermapbasenameversion_infodont_write_bytecodeappendimplementation	cache_tag)
r   Ztmp_dirZpkg_dirr   cmdZdist_createdbasefpcontentsZwantedr   r   r   test_simple_built-   s>    


z#BuildDumbTestCase.test_simple_built)
__name__
__module____qualname__r	   r   unittestZ
skipUnlessZLIB_SUPPORTr9   __classcell__r   r   r   r   r      s   
r   c                   C   s
   t tS r   )r=   Z	makeSuiter   r   r   r   r   
test_suite]   s    r@   __main__)__doc__r
   r   r)   r=   Ztest.supportr   Zdistutils.corer   Zdistutils.command.bdist_dumbr   Zdistutils.testsr   r%   zlibr>   ImportErrorZTempdirManagerZLoggingSilencerZEnvironGuardZTestCaser   r@   r:   r   r   r   r   <module>   s,   	
@