Your IP : 216.73.216.85


Current Path : /opt/alt/python38/lib64/python3.8/distutils/tests/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/distutils/tests/__pycache__/test_archive_util.cpython-38.pyc

U

i�f�7�@s�dZddlZddlZddlZddlZddlmZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZddlmZddlmZmZmZmZzddlZddlZd	ZWnek
r�d
ZYnXzddlZd	ZWnek
r�ed�ZYnXzddl Z d	Z!Wnek
�rd
Z!YnXzddl"Z"Wnek
�rFdZ"YnXzddl#Z#Wnek
�rndZ#YnXdd
�Z$Gdd�dej%ej&ej'�Z(dd�Z)e*dk�r�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�zipcCs:tjjrdSz|�t���Wntk
r4YdSXdS)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/python38/lib64/python3.8/distutils/tests/test_archive_util.py�
can_fs_encode/src@s�eZdZe�ed�dGdd��Ze�ed�dd��Ze�ed�dd	��Z	e�e
d
�dd��Ze�ed
�d�dd��Z
e�ed�d�dd��Zdd�Zdd�ZddddddgZdd�eD�Zd d!�Ze�ed"�o�ed#�o�ed$�d%d&��Ze�ed'�d(�d)d*��Ze�e�oed+�d,d-��Ze�ed.�d/d0��Zd1d2�Zd3d4�Zd5d6�Zd7d8�Ze�ed�d9d:��Ze�ed�d;d<��Ze�e
d=�d>d?��Z d@dA�Z!e�edB�e�e"dC�dDdE���Z#dFS)H�ArchiveUtilTestCasezNeed zlib support to run�archivecCs,|��}|�||d�|j||ddd�dS)N�.tar.gz�.tar��compress��
_create_files�
_make_tarball)�self�name�tmpdirrrr�test_make_tarball@sz%ArchiveUtilTestCase.test_make_tarballcCs|��}|j|dddd�dS)Nrr�gzipr r"�r%r'rrr�test_make_tarball_gzipHsz*ArchiveUtilTestCase.test_make_tarball_gzipzNeed bz2 support to runcCs|��}|j|dddd�dS)Nrz.tar.bz2Zbzip2r r"r*rrr�test_make_tarball_bzip2Msz+ArchiveUtilTestCase.test_make_tarball_bzip2zNeed lzma support to runcCs|��}|j|dddd�dS)Nrz.tar.xzZxzr r"r*rrr�test_make_tarball_xzRsz(ArchiveUtilTestCase.test_make_tarball_xz�årchivz'File system cannot handle this filenamecCs|�d�dS)zV
        Mirror test_make_tarball, except filename contains latin characters.
        r.N�r(�r%rrr�test_make_tarball_latin1Wsz,ArchiveUtilTestCase.test_make_tarball_latin1�のアーカイブcCs|�d�dS)z{
        Mirror test_make_tarball, except filename contains extended
        characters outside the latin charset.
        r2Nr/r0rrr�test_make_tarball_extended_sz.ArchiveUtilTestCase.test_make_tarball_extendedc	Ks�|��}t�t|�dt|�dkd�tj�||�}t|��tt|�ddf|�W5QRX||}|�	tj�
|��|�|�|�|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_tarballcCs2t�|�}z|��}|��|W�S|��XdS�N)�tarfile�open�closeZgetnames�sort)r%r�tar�namesrrrr=xs
zArchiveUtilTestCase._tarinfozdist/z
dist/file1z
dist/file2z	dist/sub/zdist/sub/file3z
dist/sub2/cCsg|]}|�d��qS)�/)�rstrip)�.0�prrr�
<listcomp>�szArchiveUtilTestCase.<listcomp>cCs~|��}tj�|d�}t�|�|�|dgd�|�|dgd�t�tj�|d��|�|ddgd�t�tj�|d��|S)Nr5Zfile1�xxxZfile2�subZfile3Zsub2)r6rrr9�mkdirZ
write_file)r%r'r5rrrr#�s
z!ArchiveUtilTestCase._create_filesrIr)z*Need the tar, gzip and zlib command to runc		Cs�|��}|��}tj�|d�}t��}t�|�zt|d�W5t�|�X|d}|�tj�	|��tj�|d�}ddddg}dd	d
dg}t��}t�|�zt
|�t
|�W5t�|�X|�tj�	|��|�|�|�|j
�|�|�|�|j
�tj�|d�}t��}t�|�zt|ddd�W5t�|�X|d}|�tj�	|��tj�|d�}t��}t�|�zt|ddd
d�W5t�|�X|d}|�tj�	|��dS)Nrr5rzarchive2.tar.gzrIz-cfzarchive2.tarr)z-fz-9r rT�r!Zdry_run)r#r6rrr9�getcwd�chdirrr:r;r
r<r=r>)	r%r'rArB�old_dirrCZtarball2Ztar_cmdZgzip_cmdrrr�test_tarfile_vs_tar�sL



z'ArchiveUtilTestCase.test_tarfile_vs_tarr!z The compress program is requiredc	Cs|��}tj�|��d�}t��}t�|�z.t��}t�	d�t
|ddd�W5QRXW5t�|�X|d}|�tj�|��|�
t|j�d�t�|�t��}t�|�z0t�� }t�	d�t
|dddd	�W5QRXW5t�|�X|�tj�|��|�
t|j�d�dS)
Nr�alwaysr5r!r z.tar.Zr4TrS)r#rrr9r6rTrUr�warnings�simplefilterrr:r;r<�len�removeZassertFalse)r%r'rBrV�wrCrrr�test_compress_deprecated�s0




�z,ArchiveUtilTestCase.test_compress_deprecatedz Need zip and zlib support to runc	Cs�|��}tj�|��d�}t|��t|d�W5QRX|d}|�tj�|��t	�
|��}|�t|�
��|j�W5QRXdS)Nrr5�.zip)r#rrr9r6rrr:r;�zipfile�ZipFiler<�sorted�namelist�_zip_created_files)r%r'rBrC�zfrrr�test_make_zipfile�s
z%ArchiveUtilTestCase.test_make_zipfilezNeed zip support to runc	s�t|tjdd�g�tj���fdd�}t|tjd|�|��}tj�|��d�}t	|��t
|d�W5QRX|d}|��|dfd	tjifg�|�
tj�|��t�|��}|�t|���|j�W5QRXdS)
N�zlibcs*|�dd�tjkr ��||f��||�S)N�compression)�getr`�
ZIP_STORED�append)�a�kw�ZcalledZ
zipfile_classrr�fake_zipfileszCArchiveUtilTestCase.test_make_zipfile_no_zlib.<locals>.fake_zipfilerarr5r_r]rh)rrr`rar#rrr9r6rrr<rjr:r;rbrcrd)r%ror'rBrCrerrnr�test_make_zipfile_no_zlib�s 
�z-ArchiveUtilTestCase.test_make_zipfile_no_zlibc	Cs4|�tdddg�d�|�tddddddg��dS)N�gztarrPr�bztar�xztarZztarrI)r<rZassertIsNoner0rrr�test_check_archive_formatss��z.ArchiveUtilTestCase.test_check_archive_formatscCs*|��}tj�|d�}|�tt|d�dS)NrrP)r6rrr9ZassertRaises�
ValueErrorr)r%r'rBrrr�test_make_archivesz%ArchiveUtilTestCase.test_make_archivecCsdt��}dd�}|gdftd<z8ztdd|��d�WnYnX|�t��|�W5td=XdS)Nc_s
t��dSrD)�RuntimeError)�argsrmrrr�_breaks!sz:ArchiveUtilTestCase.test_make_archive_cwd.<locals>._breakszxxx filerP)�root_dir)rrTrrr6r<)r%Zcurrent_dirryrrr�test_make_archive_cwdsz)ArchiveUtilTestCase.test_make_archive_cwdcCsf|��}tj�|��d�}t|d|d�}|�tj�|��|�tj�	|�d�|�|�
|�|j�dS)NrrIr5zarchive.tar�r#rrr9r6rr:r;r<�basenamer=r>�r%�base_dirrB�resrrr�test_make_archive_tar-sz)ArchiveUtilTestCase.test_make_archive_tarcCsf|��}tj�|��d�}t|d|d�}|�tj�|��|�tj�	|�d�|�|�
|�|j�dS)Nrrqr5zarchive.tar.gzr|r~rrr�test_make_archive_gztar5sz+ArchiveUtilTestCase.test_make_archive_gztarcCsf|��}tj�|��d�}t|d|d�}|�tj�|��|�tj�	|�d�|�|�
|�|j�dS)Nrrrr5zarchive.tar.bz2r|r~rrr�test_make_archive_bztar>sz+ArchiveUtilTestCase.test_make_archive_bztarzNeed xz support to runcCsf|��}tj�|��d�}t|d|d�}|�tj�|��|�tj�	|�d�|�|�
|�|j�dS)Nrrsr5zarchive.tar.xzr|r~rrr�test_make_archive_xztarGsz+ArchiveUtilTestCase.test_make_archive_xztarcCs�tr"t�d�d}t�d�d}nd}}|��}|��}tj�	|��d�}t
|d||||d�}|�tj�|��t
|d||�}|�tj�|��t
|d||||d�}|�tj�|��t
|d||ddd�}|�tj�|��dS)	Nr�rootrr)�owner�grouprIZ	kjhkjhkjgZoihohoh)
�UID_GID_SUPPORT�grp�getgrgid�pwd�getpwuidr#r6rrr9rr:r;)r%r�r�rrzrBr�rrr�test_make_archive_owner_groupPs.�
�
�z1ArchiveUtilTestCase.test_make_archive_owner_groupz
Requires zlibzRequires grp and pwd supportc		Cs�|��}tj�|��d�}t��}t�|�t�d�d}t	�
d�d}zt|dd||d�}W5t�|�X|�tj�
|��t�|�}z.|��D] }|�|jd�|�|jd�q�W5|��XdS)Nrrr5)r!r�r�)r#rrr9r6rTrUr�r�r�r�rr:r;rErFrGZ
getmembersr<Zuid�gid)	r%r'rBrVr�r�Zarchive_namer�memberrrr�test_tarfile_root_ownerks&
�

z+ArchiveUtilTestCase.test_tarfile_root_ownerN)r)$�__name__�
__module__�__qualname__r7r8�ZLIB_SUPPORTr(r+�bz2r,�lzmar-rr1r3r$r=rdr>r#r	rWr^�ZIP_SUPPORTrfrprtrvr{r�r�r�r�r�r�r�rrrrr<sl







�

�
	��
6
�
�










rcCs
t�t�SrD)r7Z	makeSuiterrrrr�
test_suite�sr��__main__)+�__doc__r7rrrEZos.pathrrYZ	distutilsrZdistutils.archive_utilrrrrrZdistutils.spawnr	r
Zdistutils.testsrZtest.supportrr
rrr�r�r��ImportErrorr`r�rgr�r�r�rZTempdirManagerZLoggingSilencerZTestCaserr�r�rrrr�<module>sZ




�L