Your IP : 216.73.216.213


Current Path : /opt/alt/python310/lib64/python3.10/distutils/tests/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/distutils/tests/__pycache__/test_archive_util.cpython-310.pyc

o

0�i'8�@s�dZddlZddlZddlZddlZddlmZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZmZddlmZddlmZmZdd	lmZdd
lmZzddlZddlZdZWneyidZYnwzddl Z dZ!Wn
eyed
�Z!Ynwzddl"Z"dZ#Wney�dZ#Ynwzddl$Z$Wney�dZ$Ynwzddl%Z%Wney�dZ%Ynwdd�Z&Gdd�dej'ej(ej)�Z*dd�Z+e,dkr�ee+��dSdS)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)�run_unittest�patch)�
change_cwd)�check_warningsTF�zipcCs6tjjrdSz
|�t���WdStyYdSw)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�H/opt/alt/python310/lib64/python3.10/distutils/tests/test_archive_util.py�
can_fs_encode1s��rc@s�eZdZe�ed�dBdd��Ze�ed�dd��Ze�ed�dd	��Z	e�e
d
�dd��Ze�ed
�d�dd��Z
e�ed�d�dd��Zdd�Zdd�Zgd�Zdd�eD�Zdd�Ze�ed�oged�oged�d d!��Ze�ed"�d#�d$d%��Ze�eoed&�d'd(��Ze�ed)�d*d+��Zd,d-�Zd.d/�Zd0d1�Zd2d3�Ze�ed�d4d5��Ze�ed�d6d7��Ze�e
d8�d9d:��Z d;d<�Z!e�ed=�e�e"d>�d?d@���Z#dAS)C�ArchiveUtilTestCasezNeed zlib support to run�archivecCs,|��}|�||d�|j||ddd�dS)N�.tar.gz�.tar��compress��
_create_files�
_make_tarball)�self�name�tmpdirrrr�test_make_tarballBsz%ArchiveUtilTestCase.test_make_tarballcC�|��}|j|dddd�dS)Nrr�gzipr r"�r%r'rrr�test_make_tarball_gzipJ�z*ArchiveUtilTestCase.test_make_tarball_gzipzNeed bz2 support to runcCr))Nrz.tar.bz2Zbzip2r r"r+rrr�test_make_tarball_bzip2Or-z+ArchiveUtilTestCase.test_make_tarball_bzip2zNeed lzma support to runcCr))Nrz.tar.xzZxzr r"r+rrr�test_make_tarball_xzTr-z(ArchiveUtilTestCase.test_make_tarball_xz�årchivz'File system cannot handle this filenamecC�|�d�dS)zV
        Mirror test_make_tarball, except filename contains latin characters.
        r0N�r(�r%rrr�test_make_tarball_latin1Ysz,ArchiveUtilTestCase.test_make_tarball_latin1�のアーカイブcCr1)z{
        Mirror test_make_tarball, except filename contains extended
        characters outside the latin charset.
        r5Nr2r3rrr�test_make_tarball_extendedasz.ArchiveUtilTestCase.test_make_tarball_extendedcKs�|��}t�t|�dt|�dkd�tj�||�}t|��tt|�ddfi|��Wd�n1s7wY||}|�	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$js�
�z!ArchiveUtilTestCase._make_tarballcCs4t�|�}z|��}|��|W|��S|��w�N)�tarfile�openZgetnames�sort�close)r%r�tar�namesrrrr@zs
zArchiveUtilTestCase._tarinfo)zdist/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)Nr8Zfile1�xxxZfile2�subZfile3Zsub2)r9rrr<�mkdirZ
write_file)r%r'r8rrrr#�s
z!ArchiveUtilTestCase._create_filesrLr*z*Need the tar, gzip and zlib command to runc		Cs�|��}|��}tj�|d�}t��}t�|�zt|d�Wt�|�nt�|�w|d}|�tj�	|��tj�|d�}gd�}gd�}t��}t�|�zt
|�t
|�Wt�|�nt�|�w|�tj�	|��|�|�|�|j
�|�|�|�|j
�tj�|d�}t��}t�|�zt|ddd�Wt�|�nt�|�w|d}|�tj�	|��tj�|d�}t��}t�|�zt|ddd	d
�Wt�|�nt�|�w|d}|�tj�	|��dS)Nrr8rzarchive2.tar.gz)rLz-cf�archive2.tarr8)r*z-fz-9rVr rT�r!Zdry_run)r#r9rrr<�getcwd�chdirrr=r>r
r?r@rA)	r%r'rDrE�old_dirrFZtarball2Ztar_cmdZgzip_cmdrrr�test_tarfile_vs_tar�sL




z'ArchiveUtilTestCase.test_tarfile_vs_tarr!z The compress program is requiredc	CsR|��}tj�|��d�}t��}t�|�z&t��}t�	d�t
|ddd�Wd�n1s1wYWt�|�nt�|�w|d}|�tj�|��|�
t|j�d�t�|�t��}t�|�z't��}t�	d�t
|dddd	�Wd�n1s�wYWt�|�nt�|�w|�tj�|��|�
t|j�d�dS)
Nr�alwaysr8r!r z.tar.Zr7TrW)r#rrr<r9rXrYr�warnings�simplefilterrr=r>r?�len�removeZassertFalse)r%r'rErZ�wrFrrr�test_compress_deprecated�s8

��


���z,ArchiveUtilTestCase.test_compress_deprecatedz Need zip and zlib support to runcCs�|��}tj�|��d�}t|��
t|d�Wd�n1s!wY|d}|�tj�|��t	�
|��}|�t|�
��|j�Wd�dS1sOwYdS)Nrr8�.zip)r#rrr<r9rrr=r>�zipfile�ZipFiler?�sorted�namelist�_zip_created_files)r%r'rErF�zfrrr�test_make_zipfile�s
�"�z%ArchiveUtilTestCase.test_make_zipfilezNeed zip support to runcst|tjdd�g�tj���fdd�}t|tjd|�|��}tj�|��d�}t	|��
t
|d�Wd�n1s=wY|d}|��|dfd	tjifg�|�
tj�|��t�|��}|�t|���|j�Wd�dS1sywYdS)
N�zlibcs.|�dd�tjkr��||f��|i|��S)N�compression)�getrd�
ZIP_STORED�append)�a�kw�ZcalledZ
zipfile_classrr�fake_zipfileszCArchiveUtilTestCase.test_make_zipfile_no_zlib.<locals>.fake_zipfilererr8rcrarl)r
rrdrer#rrr<r9rrr?rnr=r>rfrgrh)r%rsr'rErFrirrrr�test_make_zipfile_no_zlib�s$
��"�z-ArchiveUtilTestCase.test_make_zipfile_no_zlibcCs*|�tgd��d�|�tgd���dS)N)�gztarrSrrS)ru�bztar�xztarZztarrLr)r?rZassertIsNoner3rrr�test_check_archive_formatss�z.ArchiveUtilTestCase.test_check_archive_formatscCs*|��}tj�|d�}|�tt|d�dS)NrrS)r9rrr<ZassertRaises�
ValueErrorr)r%r'rErrr�test_make_archivesz%ArchiveUtilTestCase.test_make_archivecCsdt��}dd�}|gdftd<zztdd|��d�WnY|�t��|�Wtd=dStd=w)Nc_st��rG)�RuntimeError)�argsrqrrr�_breaks#sz:ArchiveUtilTestCase.test_make_archive_cwd.<locals>._breakszxxx filerS)�root_dir)rrXrrr9r?)r%Zcurrent_dirr}rrr�test_make_archive_cwd!sz)ArchiveUtilTestCase.test_make_archive_cwdcC�f|��}tj�|��d�}t|d|d�}|�tj�|��|�tj�	|�d�|�|�
|�|j�dS)NrrLr8zarchive.tar�r#rrr<r9rr=r>r?�basenamer@rA�r%�base_dirrE�resrrr�test_make_archive_tar/sz)ArchiveUtilTestCase.test_make_archive_tarcCr�)Nrrur8zarchive.tar.gzr�r�rrr�test_make_archive_gztar7�z+ArchiveUtilTestCase.test_make_archive_gztarcCr�)Nrrvr8zarchive.tar.bz2r�r�rrr�test_make_archive_bztar@r�z+ArchiveUtilTestCase.test_make_archive_bztarzNeed xz support to runcCr�)Nrrwr8zarchive.tar.xzr�r�rrr�test_make_archive_xztarIr�z+ArchiveUtilTestCase.test_make_archive_xztarcCs�trt�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�grouprLZ	kjhkjhkjgZoihohoh)
�UID_GID_SUPPORT�grp�getgrgid�pwd�getpwuidr#r9rrr<rr=r>)r%r�r�r�r~rEr�rrr�test_make_archive_owner_groupRs*�
�
�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�}Wt�|�nt�|�w|�tj�
|��t�|�}z|��D]}|�|jd�|�|jd�qNW|��dS|��w)Nrrr8)r!r�r�)r#rrr<r9rXrYr�r�r�r�rr=r>rHrIZ
getmembersr?Zuid�gidrK)	r%r'rErZr�r�Zarchive_namer�memberrrr�test_tarfile_root_ownerms&
�
�z+ArchiveUtilTestCase.test_tarfile_root_ownerN)r)$�__name__�
__module__�__qualname__r:r;�ZLIB_SUPPORTr(r,�bz2r.�lzmar/rr4r6r$r@rhrAr#r	r[rb�ZIP_SUPPORTrjrtrxrzrr�r�r�r�r�r�r�rrrrr>sf







�

�
	�

6�

�










rcCs
t�t�SrG)r:Z	makeSuiterrrrr�
test_suite�s
r��__main__)-�__doc__r:rrrHZos.pathrr]Z	distutilsrZdistutils.archive_utilrrrrrZdistutils.spawnr	r
Zdistutils.testsrZtest.supportrr
Ztest.support.os_helperrZtest.support.warnings_helperrr�r�r��ImportErrorrdr�rkr�r�r�rZTempdirManagerZLoggingSilencerZTestCaserr�r�rrrr�<module>sl�����
�L�