Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/distutils/tests/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/distutils/tests/__pycache__/test_archive_util.cpython-34.pyo

�
i f�-�@s�dZddlZddlZddlZddlZddlmZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZddlmZddlmZmZmZy"ddlZddlZd	ZWnek
rd
ZYnXyddlZd	ZWnek
r?ed�ZYnXyddlZd	Z Wnek
rpd
Z YnXdd
�Z!Gdd�dej"ej#ej$�Z%dd�Z&e'dkr�ee&��ndS)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�patchTF�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/python34/lib64/python3.4/distutils/tests/test_archive_util.py�
can_fs_encode%s
	rc@s�eZdZejed�dd��Zejed�ejed�d�dd���Zejed�ejed�d�d	d
���Z	dd�Z
d
d�Zdd�Zeje
d�o�e
d�o�ed�dd��Zeje
d�d�dd��Zejeo#ed�dd��Zejed�dd��Zd d!�Zd"d#�Zd$d%�Zd&d'�Zejed(�ejed)�d*d+���Zd,S)-�ArchiveUtilTestCasezNeed zlib support to runcCs|jd�dS)N�archive)�
_make_tarball)�selfrrr�test_make_tarball6sz%ArchiveUtilTestCase.test_make_tarballuårchivz'File system cannot handle this filenamecCs|jd�dS)zV
        Mirror test_make_tarball, except filename contains latin characters.
        uårchivN)r)rrrr�test_make_tarball_latin1:sz,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)rrrr�test_make_tarball_extendedCsz.ArchiveUtilTestCase.test_make_tarball_extendedcCs�|j�}|j|dgd�|j|dgd�tjtjj|d��|j|ddgd�|j�}tjt|�dt|�dkd�tjj||�}tj	�}tj
|�ztt|�dd	�Wdtj
|�X|d
}|jtjj
|��tjj||�}tj	�}tj
|�z!tt|�dd	dd�Wdtj
|�X|d}|jtjj
|��dS)
N�file1�xxx�file2�sub�file3rz)source and target should be on same drive��.z.tar.gz�compressz.tar)�mkdtemp�
write_filer�mkdirr�join�unittest�
skipUnlessr�getcwd�chdirr�
assertTrue�exists)rZtarget_name�tmpdir�tmpdir2�	base_name�old_dir�tarballrrrrMs0#


!
z!ArchiveUtilTestCase._make_tarballc
CsEtj|�}z$|j�}|j�t|�SWd|j�XdS)N)�tarfile�openZgetnames�sort�tuple�close)rr�tar�namesrrr�_tarinfors
zArchiveUtilTestCase._tarinfocCs�|j�}tjj|d�}tj|�|j|dgd�|j|dgd�tjtjj|d��|j|ddgd�tjtjj|d��|j�}tjj|d�}|||fS)	N�distr"r#r$r%r&Zsub2r)r*rrr-r,r+)rr4rAr5r6rrr�
_create_files{s
z!ArchiveUtilTestCase._create_filesr>�gzipz*Need the tar, gzip and zlib command to runc	%Cs"|j�\}}}tj�}tj|�zt|d�Wdtj|�X|d}|jtjj|��tjj|d�}ddddg}dddg}tj�}tj|�zt	|�t	|�Wdtj|�X|jtjj|��|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)NrAz.tar.gzzarchive2.tar.gzr>z-cfzarchive2.tarrCz-f9rr)z.tar�dry_runT)rBrr0r1rr2rr3r-r
�assertEqualr@)	rr4r5r6r7r8Ztarball2Ztar_cmdZgzip_cmdrrr�test_tarfile_vs_tar�sF



"



z'ArchiveUtilTestCase.test_tarfile_vs_tarr)z The compress program is requiredc CsZ|j�\}}}tj�}tj|�z6t��'}tjd�t|ddd�WdQXWdtj|�X|d}|jtj	j
|��|jt|j�d�tj
|�tj�}tj|�z<t��-}tjd�t|ddddd�WdQXWdtj|�X|jtj	j
|��|jt|j�d�dS)N�alwaysrAr)z.tar.Zr'rDT)rBrr0r1r�warnings�simplefilterrr2rr3rE�len�removeZassertFalse)rr4r5r6r7�wr8rrr�test_compress_deprecated�s,





z,ArchiveUtilTestCase.test_compress_deprecatedz Need zip and zlib support to runcCs�|j�}|j|dgd�|j|dgd�|j�}tjj|d�}t||�|d}|jtjj|��dS)Nr"r#r$rz.zip)r*r+rrr-rr2r3)rr4r5r6r8rrr�test_make_zipfile�s

z%ArchiveUtilTestCase.test_make_zipfilezNeed zip support to runcs�t|tjdd�g�tj���fdd�}t|tjd|�|j�\}}}t||�|d}|j�|dfitjd6fg�|jt	j
j|��dS)N�zlibcs>|jdd�tjkr1�j||f�n�||�S)N�compression)�get�zipfile�
ZIP_STORED�append)�a�kw)�called�
zipfile_classrr�fake_zipfile�szCArchiveUtilTestCase.test_make_zipfile_no_zlib.<locals>.fake_zipfile�ZipFilez.ziprLrP)rrrRrZrBrrErSr2rrr3)rrYr4r5r6r8r)rWrXr�test_make_zipfile_no_zlib�s	

	 z-ArchiveUtilTestCase.test_make_zipfile_no_zlibcCs?|jtdddg�d�|jtddg�d�dS)NZgztarr#r)rEr)rrrr�test_check_archive_formatssz.ArchiveUtilTestCase.test_check_archive_formatscCs;|j�}tjj|d�}|jtt|d�dS)Nrr#)r*rrr-ZassertRaises�
ValueErrorr)rr4r6rrr�test_make_archive
sz%ArchiveUtilTestCase.test_make_archivecCs|tj�}dd�}|gdftd<zBytddd|j��WnYnX|jtj�|�Wdtd=XdS)Nc_s
t��dS)N)�RuntimeError)�argsrVrrr�_breakssz:ArchiveUtilTestCase.test_make_archive_cwd.<locals>._breakszxxx filer#�root_dir)rr0rrr*rE)rZcurrent_dirrarrr�test_make_archive_cwdsz)ArchiveUtilTestCase.test_make_archive_cwdc	CsItr/tjd�d}tjd�d}n
d}}|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�getpwuidrBrrr-r*rr2r3)rrfreZbase_dirrbr6�resrrr�test_make_archive_owner_groups"
	z1ArchiveUtilTestCase.test_make_archive_owner_groupz
Requires zlibzRequires grp and pwd supportc
Cs|j�\}}}tj�}tj|�tjd�d}tjd�d}z%t|dddd|d|�}Wdtj|�X|j	tj
j|��tj
|�}zAx:|j�D],}	|j|	jd�|j|	jd�q�WWd|j�XdS)NrrAr)rerf)rBrr0r1rhrirjrkrr2rr3r9r:Z
getmembersrEZuid�gidr=)
rr4r5r6r7rfreZarchive_namerZmemberrrr�test_tarfile_root_owner7s 
z+ArchiveUtilTestCase.test_tarfile_root_ownerN)�__name__�
__module__�__qualname__r.r/�ZLIB_SUPPORTrrr r!rr@rBr	rFrM�ZIP_SUPPORTrNr[r\r^rcrmrgrorrrrr2s0%	4rcCs
tjt�S)N)r.Z	makeSuiterrrrr�
test_suiteQsru�__main__)(�__doc__r.rrr9Zos.pathrrHZ	distutilsrZdistutils.archive_utilrrrrrZdistutils.spawnr	r
Zdistutils.testsrZtest.supportrr
rrhrjrg�ImportErrorrRrtrOrsrZTempdirManagerZLoggingSilencerZTestCaserrurprrrr�<module>sF(






�