HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/distutils/tests/__pycache__/test_archive_util.cpython-38.pyc
U

�i�_�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�@/opt/python38/lib/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.bz2�bzip2r r"r*rrr�test_make_tarball_bzip2Msz+ArchiveUtilTestCase.test_make_tarball_bzip2zNeed lzma support to runcCs|��}|j|dddd�dS)Nrz.tar.xz�xzr 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.
        r0N�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.
        r4Nr1r2rrr�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)Nr7Zfile1�xxxZfile2�subZfile3Zsub2)r8rrr;�mkdirZ
write_file)r%r'r7rrrr#�s
z!ArchiveUtilTestCase._create_filesrKr)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)Nrr7rzarchive2.tar.gzrKz-cfzarchive2.tarr)z-fz-9r rT�r!�dry_run)r#r8rrr;�getcwd�chdirrr<r=r
r>r?r@)	r%r'rCrD�old_dirrEZtarball2Ztar_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�alwaysr7r!r z.tar.Zr6TrU)r#rrr;r8rWrXr�warnings�simplefilterrr<r=r>�len�removeZassertFalse)r%r'rDrY�wrErrr�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)Nrr7�.zip)r#rrr;r8rrr<r=�zipfile�ZipFiler>�sorted�namelist�_zip_created_files)r%r'rDrE�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)�getrc�
ZIP_STORED�append)�a�kw�ZcalledZ
zipfile_classrr�fake_zipfileszCArchiveUtilTestCase.test_make_zipfile_no_zlib.<locals>.fake_zipfilerdrr7rbr`rk)rrrcrdr#rrr;r8rrr>rmr<r=rerfrg)r%rrr'rDrErhrrqr�test_make_zipfile_no_zlib�s 
�z-ArchiveUtilTestCase.test_make_zipfile_no_zlibc	Cs4|�tdddg�d�|�tddddddg��dS)N�gztarrRr�bztar�xztarZztarrK)r>rZassertIsNoner2rrr�test_check_archive_formatss��z.ArchiveUtilTestCase.test_check_archive_formatscCs*|��}tj�|d�}|�tt|d�dS)NrrR)r8rrr;ZassertRaises�
ValueErrorr)r%r'rDrrr�test_make_archivesz%ArchiveUtilTestCase.test_make_archivecCsdt��}dd�}|gdftd<z8ztdd|��d�WnYnX|�t��|�W5td=XdS)Nc_s
t��dSrF)�RuntimeError)�argsrprrr�_breaks!sz:ArchiveUtilTestCase.test_make_archive_cwd.<locals>._breakszxxx filerR)�root_dir)rrWrrr8r>)r%Zcurrent_dirr|rrr�test_make_archive_cwdsz)ArchiveUtilTestCase.test_make_archive_cwdcCsf|��}tj�|��d�}t|d|d�}|�tj�|��|�tj�	|�d�|�|�
|�|j�dS)NrrKr7zarchive.tar�r#rrr;r8rr<r=r>�basenamer?r@�r%�base_dirrD�resrrr�test_make_archive_tar-sz)ArchiveUtilTestCase.test_make_archive_tarcCsf|��}tj�|��d�}t|d|d�}|�tj�|��|�tj�	|�d�|�|�
|�|j�dS)Nrrtr7zarchive.tar.gzrr�rrr�test_make_archive_gztar5sz+ArchiveUtilTestCase.test_make_archive_gztarcCsf|��}tj�|��d�}t|d|d�}|�tj�|��|�tj�	|�d�|�|�
|�|j�dS)Nrrur7zarchive.tar.bz2rr�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)Nrrvr7zarchive.tar.xzrr�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�grouprKZ	kjhkjhkjgZoihohoh)
�UID_GID_SUPPORT�grp�getgrgid�pwd�getpwuidr#r8rrr;rr<r=)r%r�r�r�r}rDr�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)Nrrr7)r!r�r�)r#rrr;r8rWrXr�r�r�r�rr<r=rGrHrIZ
getmembersr>�uid�gid)	r%r'rDrYr�r��archive_namer�memberrrr�test_tarfile_root_ownerks&
�

z+ArchiveUtilTestCase.test_tarfile_root_ownerN)r)$�__name__�
__module__�__qualname__r9r:�ZLIB_SUPPORTr(r+�bz2r-�lzmar/rr3r5r$r?rgr@r#r	rZra�ZIP_SUPPORTrirsrwryr~r�r�r�r�r�r�r�rrrrr<sl







�

�
	��
6
�
�










rcCs
t�t�SrF)r9Z	makeSuiterrrrr�
test_suite�sr��__main__)+�__doc__r9rrrGZos.pathrr\Z	distutilsrZdistutils.archive_utilrrrrrZdistutils.spawnr	r
Zdistutils.testsrZtest.supportrr
rrr�r�r��ImportErrorrcr�rjr�r�r�rZTempdirManagerZLoggingSilencerZTestCaserr�r�rrrr�<module>sZ




�L