Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/distutils/tests/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/distutils/tests/__pycache__/test_archive_util.cpython-35.pyc



��Yf�7�.@s'dZddlZddlZddlZddlZddlmZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZddlmZddlmZmZmZmZy"ddlZddlZd	ZWnek
rd
ZYnXyddlZd	ZWnek
rEed�ZYnXyddl Z d	Z!Wnek
rvd
Z!YnXyddl"Z"Wnek
r�dZ"YnXyddl#Z#Wnek
r�dZ#YnXdd
�Z$Gdd�dej%ej&ej'�Z(dd�Z)e*dkr#ee)��dS)z!Tests for distutils.archive_util.�N)�
splitdrive)�archive_util)�check_archive_formats�make_tarball�make_zipfile�make_archive�ARCHIVE_FORMATS)�find_executable�spawn)�support)�check_warnings�run_unittest�patch�
change_cwdTF�zipcCsDtjjrdSy|jtj��Wntk
r?dSYnXdS)zF
    Return True if the filename can be saved in the file system.
    TF)�os�path�supports_unicode_filenames�encode�sys�getfilesystemencoding�UnicodeEncodeError)�filename�r�F/opt/alt/python35/lib64/python3.5/distutils/tests/test_archive_util.py�
can_fs_encode/s
	rc@s_eZdZejed�ddd��Zejed�dd��Zejed�dd	��Z	eje
d
�dd��Zejed
�d�dd��Z
ejed�d�dd��Zdd�Zdd�ZdEZdd�Zejed �oed!�oed"�d#d$��Zejed%�d&�d'd(��Zejeobed)�d*d+��Zejed,�d-d.��Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zejed�d7d8��Zejed�d9d:��Zeje
d;�d<d=��Zd>d?�Z ejed@�eje!dA�dBdC���Z"dDS)F�ArchiveUtilTestCasezNeed zlib support to run�archivecCs<|j�}|j||d�|j||ddd�dS)Nz.tar.gzz.tar�compress)�
_create_files�
_make_tarball)�self�name�tmpdirrrr�test_make_tarball@sz%ArchiveUtilTestCase.test_make_tarballcCs)|j�}|j|dddd�dS)Nrz.tar.gzr�gzip)rr )r!r#rrr�test_make_tarball_gzipHsz*ArchiveUtilTestCase.test_make_tarball_gzipzNeed bz2 support to runcCs)|j�}|j|dddd�dS)Nrz.tar.bz2rZbzip2)rr )r!r#rrr�test_make_tarball_bzip2Msz+ArchiveUtilTestCase.test_make_tarball_bzip2zNeed lzma support to runcCs)|j�}|j|dddd�dS)Nrz.tar.xzrZxz)rr )r!r#rrr�test_make_tarball_xzRsz(ArchiveUtilTestCase.test_make_tarball_xzuårchivz'File system cannot handle this filenamecCs|jd�dS)zV
        Mirror test_make_tarball, except filename contains latin characters.
        uårchivN)r$)r!rrr�test_make_tarball_latin1Wsz,ArchiveUtilTestCase.test_make_tarball_latin1uのアーカイブcCs|jd�dS)z{
        Mirror test_make_tarball, except filename contains extended
        characters outside the latin charset.
        uのアーカイブN)r$)r!rrr�test_make_tarball_extended_sz.ArchiveUtilTestCase.test_make_tarball_extendedcKs�|j�}tjt|�dt|�dkd�tjj||�}t|��tt|�dd|�WdQRX||}|j	tjj
|��|j|j|�|j
�dS)Nrz)source and target should be on same drive��dist)�mkdtemp�unittest�
skipUnlessrrr�joinrr�
assertTrue�exists�assertEqual�_tarinfo�_created_files)r!r#Ztarget_name�suffix�kwargs�tmpdir2�	base_name�tarballrrrr hs#
!
z!ArchiveUtilTestCase._make_tarballc
CsEtj|�}z$|j�}|j�t|�SWd|j�XdS)N)�tarfile�openZgetnames�sort�tuple�close)r!r�tar�namesrrrr4xs
zArchiveUtilTestCase._tarinfor,�
dist/file1�
dist/file2�dist/sub�dist/sub/file3�	dist/sub2cCs�|j�}tjj|d�}tj|�|j|dgd�|j|dgd�tjtjj|d��|j|ddgd�tjtjj|d��|S)Nr,Zfile1�xxxZfile2�subZfile3Zsub2)r-rrr0�mkdirZ
write_file)r!r#r,rrrr�s
z!ArchiveUtilTestCase._create_filesr@r%z*Need the tar, gzip and zlib command to runc	%CsP|j�}|j�}tjj|d�}tj�}tj|�zt|d�Wdtj|�X|d}|jtjj	|��tjj|d�}ddddg}dd	dg}tj�}tj|�zt
|�t
|�Wdtj|�X|jtjj	|��|j|j|�|j
�|j|j|�|j
�tjj|d�}tj�}tj|�zt|dd
d�Wdtj|�X|d}|jtjj	|��tjj|d�}tj�}tj|�zt|dd
ddd
�Wdtj|�X|d}|jtjj	|��dS)Nrr,z.tar.gzzarchive2.tar.gzr@z-cfzarchive2.tarr%z-f9rz.tar�dry_runT)rr-rrr0�getcwd�chdirrr1r2r
r3r4r5)	r!r#r8r9�old_dirr:Ztarball2Ztar_cmdZgzip_cmdrrr�test_tarfile_vs_tar�sL







z'ArchiveUtilTestCase.test_tarfile_vs_tarrz The compress program is requiredc!Csn|j�}tjj|j�d�}tj�}tj|�z7t��'}tj	d�t
|ddd�WdQRXWdtj|�X|d}|jtjj|��|j
t|j�d�tj|�tj�}tj|�z=t��-}tj	d�t
|ddddd�WdQRXWdtj|�X|jtjj|��|j
t|j�d�dS)	Nr�alwaysr,rz.tar.Zr+rJT)rrrr0r-rKrLr�warnings�simplefilterrr1r2r3�len�removeZassertFalse)r!r#r9rM�wr:rrr�test_compress_deprecated�s.





z,ArchiveUtilTestCase.test_compress_deprecatedz Need zip and zlib support to runcCs�|j�}tjj|j�d�}t|��t|d�WdQRX|d}|jtjj|��t	j
|��,}|jt|j
��dddg�WdQRXdS)Nrr,z.zipz
dist/file1z
dist/file2zdist/sub/file3)rrrr0r-rrr1r2�zipfile�ZipFiler3�sorted�namelist)r!r#r9r:�zfrrr�test_make_zipfile�s

z%ArchiveUtilTestCase.test_make_zipfilezNeed zip support to runcs%t|tjdd�g�tj���fdd�}t|tjd|�|j�}tjj|j�d�}t	|��t
|d�WdQRX|d}|j�|dfd	tjifg�|j
tjj|��tj|��,}|jt|j��d
ddg�WdQRXdS)
N�zlibcs;|jdd�tjkr.�j||f��||�S)N�compression)�getrV�
ZIP_STORED�append)�a�kw)�called�
zipfile_classrr�fake_zipfileszCArchiveUtilTestCase.test_make_zipfile_no_zlib.<locals>.fake_zipfilerWrr,z.ziprTr]z
dist/file1z
dist/file2zdist/sub/file3)rrrVrWrrrr0r-rrr3r_r1r2rXrY)r!rer#r9r:rZr)rcrdr�test_make_zipfile_no_zlib�s 	

	z-ArchiveUtilTestCase.test_make_zipfile_no_zlibcCsH|jtdddg�d�|jtddddddg��dS)N�gztarrGr�bztar�xztarZztarr@)r3rZassertIsNone)r!rrr�test_check_archive_formatssz.ArchiveUtilTestCase.test_check_archive_formatscCs;|j�}tjj|d�}|jtt|d�dS)NrrG)r-rrr0ZassertRaises�
ValueErrorr)r!r#r9rrr�test_make_archivesz%ArchiveUtilTestCase.test_make_archivecCs|tj�}dd�}|gdftd<zBytddd|j��WnYnX|jtj�|�Wdtd=XdS)Nc_s
t��dS)N)�RuntimeError)�argsrbrrr�_breaks"sz:ArchiveUtilTestCase.test_make_archive_cwd.<locals>._breakszxxx filerG�root_dir)rrKrrr-r3)r!Zcurrent_dirrorrr�test_make_archive_cwd sz)ArchiveUtilTestCase.test_make_archive_cwdcCs�|j�}tjj|j�d�}t|d|d�}|jtjj|��|jtjj	|�d�|j|j
|�|j�dS)Nrr@r,zarchive.tar)rrrr0r-rr1r2r3�basenamer4r5)r!�base_dirr9�resrrr�test_make_archive_tar.sz)ArchiveUtilTestCase.test_make_archive_tarcCs�|j�}tjj|j�d�}t|d|d�}|jtjj|��|jtjj	|�d�|j|j
|�|j�dS)Nrrgr,zarchive.tar.gz)rrrr0r-rr1r2r3rrr4r5)r!rsr9rtrrr�test_make_archive_gztar6sz+ArchiveUtilTestCase.test_make_archive_gztarcCs�|j�}tjj|j�d�}t|d|d�}|jtjj|��|jtjj	|�d�|j|j
|�|j�dS)Nrrhr,zarchive.tar.bz2)rrrr0r-rr1r2r3rrr4r5)r!rsr9rtrrr�test_make_archive_bztar?sz+ArchiveUtilTestCase.test_make_archive_bztarzNeed xz support to runcCs�|j�}tjj|j�d�}t|d|d�}|jtjj|��|jtjj	|�d�|j|j
|�|j�dS)Nrrir,zarchive.tar.xz)rrrr0r-rr1r2r3rrr4r5)r!rsr9rtrrr�test_make_archive_xztarHsz+ArchiveUtilTestCase.test_make_archive_xztarc	CsLtr/tjd�d}tjd�d}n
d}}|j�}|j�}tjj	|j�d�}t
|d||d|d|�}|jtjj|��t
|d||�}|jtjj|��t
|d||d|d|�}|jtjj|��t
|d||dddd	�}|jtjj|��dS)
Nr�rootrr�owner�groupr@Z	kjhkjhkjgZoihohoh)
�UID_GID_SUPPORT�grp�getgrgid�pwd�getpwuidrr-rrr0rr1r2)r!r{rzrsrpr9rtrrr�test_make_archive_owner_groupQs$
	z1ArchiveUtilTestCase.test_make_archive_owner_groupz
Requires zlibzRequires grp and pwd supportc	Cs|j�}tjj|j�d�}tj�}tj|�tjd�d}t	j
d�d}z%t|dddd|d|�}Wdtj|�X|jtjj
|��tj|�}zAx:|j�D],}|j|jd�|j|jd�q�WWd|j�XdS)Nrrr,rrzr{)rrrr0r-rKrLr}r~rr�rr1r2r;r<Z
getmembersr3Zuid�gidr?)	r!r#r9rMr{rzZarchive_namerZmemberrrr�test_tarfile_root_ownerls"
z+ArchiveUtilTestCase.test_tarfile_root_ownerN)r,rBrCrDrErF)#�__name__�
__module__�__qualname__r.r/�ZLIB_SUPPORTr$r&�bz2r'�lzmar(rr)r*r r4r5rr	rNrU�ZIP_SUPPORTr[rfrjrlrqrurvrwrxr�r|r�rrrrr<s@	7 			rcCs
tjt�S)N)r.Z	makeSuiterrrrr�
test_suite�sr��__main__)+�__doc__r.rrr;Zos.pathrrPZ	distutilsrZdistutils.archive_utilrrrrrZdistutils.spawnr	r
Zdistutils.testsrZtest.supportrr
rrr}rr|�ImportErrorrVr�r\r�r�r�rZTempdirManagerZLoggingSilencerZTestCaserr�r�rrrr�<module>sV("








�J