HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/distutils/tests/__pycache__/test_archive_util.cpython-310.opt-1.pyc
o

�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�>/usr/local/lib/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.bz2�bzip2r r"r+rrr�test_make_tarball_bzip2Or-z+ArchiveUtilTestCase.test_make_tarball_bzip2zNeed lzma support to runcCr))Nrz.tar.xz�xzr 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.
        r2N�r(�r%rrr�test_make_tarball_latin1Ysz,ArchiveUtilTestCase.test_make_tarball_latin1�のアーカイブcCr3)z{
        Mirror test_make_tarball, except filename contains extended
        characters outside the latin charset.
        r7Nr4r5rrr�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'�target_name�suffix�kwargs�tmpdir2�	base_name�tarballrrrr$js�
�z!ArchiveUtilTestCase._make_tarballcCs4t�|�}z|��}|��|W|��S|��w�N)�tarfile�openZgetnames�sort�close)r%r�tar�namesrrrrBzs
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)Nr:Zfile1�xxxZfile2�subZfile3Zsub2)r;rrr>�mkdirZ
write_file)r%r'r:rrrr#�s
z!ArchiveUtilTestCase._create_filesrOr*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)Nrr:rzarchive2.tar.gz)rOz-cf�archive2.tarr:)r*z-fz-9rYr rT�r!�dry_run)r#r;rrr>�getcwd�chdirrr?r@r
rArBrC)	r%r'rGrH�old_dirrIZtarball2Ztar_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�alwaysr:r!r z.tar.Zr9TrZ)r#rrr>r;r\r]r�warnings�simplefilterrr?r@rA�len�removeZassertFalse)r%r'rHr^�wrIrrr�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)Nrr:�.zip)r#rrr>r;rrr?r@�zipfile�ZipFilerA�sorted�namelist�_zip_created_files)r%r'rHrI�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)�getrh�
ZIP_STORED�append)�a�kw�ZcalledZ
zipfile_classrr�fake_zipfileszCArchiveUtilTestCase.test_make_zipfile_no_zlib.<locals>.fake_zipfilerirr:rgrerp)r
rrhrir#rrr>r;rrrArrr?r@rjrkrl)r%rwr'rHrIrmrrvr�test_make_zipfile_no_zlib�s$
��"�z-ArchiveUtilTestCase.test_make_zipfile_no_zlibcCs*|�tgd��d�|�tgd���dS)N)�gztarrVrrV)ry�bztar�xztarZztarrOr)rArZassertIsNoner5rrr�test_check_archive_formatss�z.ArchiveUtilTestCase.test_check_archive_formatscCs*|��}tj�|d�}|�tt|d�dS)NrrV)r;rrr>ZassertRaises�
ValueErrorr)r%r'rHrrr�test_make_archivesz%ArchiveUtilTestCase.test_make_archivecCsdt��}dd�}|gdftd<zztdd|��d�WnY|�t��|�Wtd=dStd=w)Nc_st��rJ)�RuntimeError)�argsrurrr�_breaks#sz:ArchiveUtilTestCase.test_make_archive_cwd.<locals>._breakszxxx filerV)�root_dir)rr\rrr;rA)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)NrrOr:zarchive.tar�r#rrr>r;rr?r@rA�basenamerBrC�r%�base_dirrH�resrrr�test_make_archive_tar/sz)ArchiveUtilTestCase.test_make_archive_tarcCr�)Nrryr:zarchive.tar.gzr�r�rrr�test_make_archive_gztar7�z+ArchiveUtilTestCase.test_make_archive_gztarcCr�)Nrrzr:zarchive.tar.bz2r�r�rrr�test_make_archive_bztar@r�z+ArchiveUtilTestCase.test_make_archive_bztarzNeed xz support to runcCr�)Nrr{r:zarchive.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�grouprOZ	kjhkjhkjgZoihohoh)
�UID_GID_SUPPORT�grp�getgrgid�pwd�getpwuidr#r;rrr>rr?r@)r%r�r�r�r�rHr�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)Nrrr:)r!r�r�)r#rrr>r;r\r]r�r�r�r�rr?r@rKrLZ
getmembersrA�uid�gidrN)	r%r'rHr^r�r��archive_namer�memberrrr�test_tarfile_root_ownerms&
�
�z+ArchiveUtilTestCase.test_tarfile_root_ownerN)r)$�__name__�
__module__�__qualname__r<r=�ZLIB_SUPPORTr(r,�bz2r/�lzmar1rr6r8r$rBrlrCr#r	r_rf�ZIP_SUPPORTrnrxr|r~r�r�r�r�r�r�r�r�rrrrr>sf







�

�
	�

6�

�










rcCs
t�t�SrJ)r<Z	makeSuiterrrrr�
test_suite�s
r��__main__)-�__doc__r<rrrKZos.pathrraZ	distutilsrZdistutils.archive_utilrrrrrZdistutils.spawnr	r
Zdistutils.testsrZtest.supportrr
Ztest.support.os_helperrZtest.support.warnings_helperrr�r�r��ImportErrorrhr�ror�r�r�rZTempdirManagerZLoggingSilencerZTestCaserr�r�rrrr�<module>sl�����
�L�