\bg .dZddlZddlZddlZddlZddlZddlZddlmZddl m Z m Z m Z m Z mZddlmZddlmZddlmZddlZddlZddlmZd d lmZmZmZmZmZd Zd Z d Z!Gddej"Z#dS)z!Tests for distutils.archive_util.N) archive_util)ARCHIVE_FORMATScheck_archive_formats make_archive make_tarball make_zipfile)spawn)support) splitdrive)patch) UID_0_SUPPORTgrppwd require_uid_0require_unix_idctjjrdS |t jn#t $rYdSwxYwdS)zF Return True if the filename can be saved in the file system. TF)ospathsupports_unicode_filenamesencodesysgetfilesystemencodingUnicodeEncodeError)filenames ~/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/setuptools/_distutils/tests/test_archive_util.py can_fs_encoders` w)t1334444 uu 4s&< A  A c@tjtj|SN) functoolsreduceoperatoreq)valuess r all_equalr%)s  HK 0 00c4td|DS)Nc3HK|]}tj|jVdSr)pathlibPathdrive).0rs r zsame_drive...s/@@$W\$''-@@@@@@r&)r%)pathss r same_driver/-s @@%@@@ @ @@r&ceZdZejdddZejddZdZdZ ej ddZ ej d d Z d Z d Zgd ZdeDZdZejdej ddZejddZdZdZdZdZdZejddZdZdZdZejdeedZdS)ArchiveUtilTestCase needs_zlibarchivec|}|||d|||dddS)N.tar.gz.tarcompress _create_files _make_tarball)selfnametmpdirs rtest_make_tarballz%ArchiveUtilTestCase.test_make_tarball2sP##%% 64333 64$?????r&c`|}||ddddS)Nr3r5gzipr7r9r<r>s rtest_make_tarball_gzipz*ArchiveUtilTestCase.test_make_tarball_gzip:s6##%% 69i&IIIIIr&ctjd|}||ddddS)Nbz2r3z.tar.bz2bzip2r7pytest importorskipr:r;rBs rtest_make_tarball_bzip2z+ArchiveUtilTestCase.test_make_tarball_bzip2?sGE"""##%% 69j7KKKKKr&ctjd|}||ddddS)Nlzmar3z.tar.xzxzr7rGrBs rtest_make_tarball_xzz(ArchiveUtilTestCase.test_make_tarball_xzDsGF#####%% 69i$GGGGGr&unot can_fs_encode('årchiv')c0|ddS)zV Mirror test_make_tarball, except filename contains latin characters. uårchivNr?r<s rtest_make_tarball_latin1z,ArchiveUtilTestCase.test_make_tarball_latin1Is y)))))r&u'not can_fs_encode('のアーカイブ')c0|ddS)z{ Mirror test_make_tarball, except filename contains extended characters outside the latin charset. uのアーカイブNrPrQs rtest_make_tarball_extendedz.ArchiveUtilTestCase.test_make_tarball_extendedPs 344444r&c |}t||rtjdtj||}t j|5tt|ddfi|dddn #1swxYwY||z}tj |sJ| ||j ksJdS)Nz)source and target should be on same driver dist) mkdtempr/rHskiprrjoinr*rr exists_tarinfo_created_files)r<r> target_namesuffixkwargstmpdir2 base_nametarballs rr;z!ArchiveUtilTestCase._make_tarballXs1,,.. fg & & E KC D D DGLL+66 Yv   E E I..q16 D DV D D D E E E E E E E E E E E E E E Ef$w~~g&&&&&}}W%%)<<<<<<zArchiveUtilTestCase.ys"@@@ahhsmm@@@r&c|}tj|d}tj|||dgd||dgdtjtj|d||ddgdtjtj|d|S)NrVfile1xxxfile2subfile3sub2)rWrrrYmkdir write_file)r<r>rVs rr:z!ArchiveUtilTestCase._create_files{sw||FF++  w/// w/// dE**+++ ug.666 dF++,,, r&z2not (shutil.which('tar') and shutil.which('gzip'))cb|}|}tj|d}tj}tj| t|dtj|n#tj|wxYw|dz}tj|sJtj|d}gd}gd}tj}tj| t|t|tj|n#tj|wxYwtj|sJ| ||j ksJ| ||j ksJtj|d}tj}tj| t|ddtj|n#tj|wxYw|dz}tj|sJtj|d}tj}tj| t|ddd tj|n#tj|wxYw|dz}tj|sJdS) Nr3rVr5zarchive2.tar.gz)riz-cf archive2.tarrV)rAz-fz-9rzr7r6T)r8dry_run) r:rWrrrYgetcwdchdirrrZr r[r\) r<r>r`raold_dirrbtarball2tar_cmdgzip_cmds rtest_tarfile_vs_tarz'ArchiveUtilTestCase.test_tarfile_vs_tars##%%,,..GLL)44 )++   F + + + HW    BHW    i'w~~g&&&&&7<<(9::888777)++   'NNN (OOO HW    BHW    w~~h'''''}}W%%)<<<<<}}X&&$*=====GLL)44 )++   FT : : : : HW    BHW    f$w~~g&&&&&GLL)44 )++   FT4 H H H H HW    BHW    f$w~~g&&&&&&&s01BB,%EE.IIK00Lc4tjd}|}tj|d}t j|5t|ddddn #1swxYwY|dz}tj |sJ| |5}t| |j ksJ ddddS#1swxYwYdS)Nzipfiler3rV.zip)rHrIr:rrrYrWr*rrZZipFilesortednamelist_zip_created_files)r<rr>rarbzfs rtest_make_zipfilez%ArchiveUtilTestCase.test_make_zipfiles%i00##%%GLL;; Yv   , , F + + + , , , , , , , , , , , , , , ,f$w~~g&&&&& __W % % D"++--((D,CCCCCC D D D D D D D D D D D D D D D D D Ds$/B  BB-D  DDctjdt|tjddgjfd}t|tjd||}tj | d}tj |5t|ddddn #1swxYwY|dz}|dfd j ifgksJtj|sJ|5}t||jksJ ddddS#1swxYwYdS) Nrzlibc|ddjkr||f|i|S)N compression)get ZIP_STOREDappend)akwcalledr zipfile_classs r fake_zipfilezCArchiveUtilTestCase.test_make_zipfile_no_zlib..fake_zipfilesJvvmT**g.@@@ q"g&&& =!*r** *r&rr3rVrwr)rHrIr rrrr:rrrYrWr*rrrZrrr) r<rr>rarbrrrrs @@@rtest_make_zipfile_no_zlibz-ArchiveUtilTestCase.test_make_zipfile_no_zlibs%i00 dL(&$777  + + + + + + + dL()\BBB##%%GLL;; Yv   , , F + + + , , , , , , , , , , , , , , ,f$GS>M7;M+NOPPPPPw~~g&&&&& __W % % D"++--((D,CCCCCC D D D D D D D D D D D D D D D D D Ds$:CCC1-E,,E03E0c\tgddksJtgd JdS)N)gztarrrziprr)rbztarxztarztarrir)rrQs rtest_check_archive_formatsz.ArchiveUtilTestCase.test_check_archive_formatssP$%<%<%<==FFFF !"S"S"S T T     r&c|}tj|d}t jt 5t|dddddS#1swxYwYdS)Nr3rr)rWrrrYrHraises ValueErrorr)r<r>ras rtest_make_archivez%ArchiveUtilTestCase.test_make_archivesGLL33 ]: & & + + E * * * + + + + + + + + + + + + + + + + + +sA,,A03A0cHtj}d}|gdftd< tdd|n#t $rYnwxYwtj|ksJ tjddS#tjdwxYw)Nctr) RuntimeError)argsrs r_breaksz:ArchiveUtilTestCase.test_make_archive_cwd.._breakss .. r&zxxx filerr)root_dir)rr|rrrW Exceptionpop)r< current_dirrs rtest_make_archive_cwdz)ArchiveUtilTestCase.test_make_archive_cwdsikk  ! ! !#*2z!: ' UEDLLNNCCCCC    9;;+-----   & & & & &O  & & & &s)$A B AB AB B!c|}tj|d}t |d|d}tj|sJtj|dksJ|||j ksJdS)Nr3rirVz archive.tar r:rrrYrWrrZbasenamer[r\r<base_dirraress rtest_make_archive_tarz)ArchiveUtilTestCase.test_make_archive_tars%%''GLL;; 9eXv>>w~~c"""""w$$ 5555}}S!!T%8888888r&c|}tj|d}t |d|d}tj|sJtj|dksJ|||j ksJdS)Nr3rrVzarchive.tar.gzrrs rtest_make_archive_gztarz+ArchiveUtilTestCase.test_make_archive_gztar s%%''GLL;; 9gx@@w~~c"""""w$$(88888}}S!!T%8888888r&ctjd|}tj|d}t|d|d}tj|sJtj |dksJ| ||j ksJdS)NrEr3rrVzarchive.tar.bz2 rHrIr:rrrYrWrrZrr[r\rs rtest_make_archive_bztarz+ArchiveUtilTestCase.test_make_archive_bztarsE"""%%''GLL;; 9gx@@w~~c"""""w$$(99999}}S!!T%8888888r&ctjd|}tj|d}t|d|d}tj|sJtj |dksJ| ||j ksJdS)NrLr3rrVzarchive.tar.xzrrs rtest_make_archive_xztarz+ArchiveUtilTestCase.test_make_archive_xztarsF###%%''GLL;; 9gx@@w~~c"""""w$$(88888}}S!!T%8888888r&ctr5tjdd}tjdd}ndx}}|}|}tj |d}t|d||||}tj |sJt|d||}tj |sJt|d||||}tj |sJt|d||dd}tj |sJdS) Nrrootr3r)ownergroupri kjhkjhkjgoihohoh) rrgetgrgidrgetpwuidr:rWrrrYrrZ)r<rrrrrars rtest_make_archive_owner_groupz1ArchiveUtilTestCase.test_make_archive_owner_group(sa  #LOOA&ELOOA&EE" "EE%%''<<>>GLL;;  uhU   w~~c"""""9eXx@@w~~c""""" uhU   w~~c""""" uh 9   w~~c"""""""r&c|}tj|d}tj}tj|tjdd}tj dd} t|dd||}tj|n#tj|wxYwtj |sJtj|} |D]}|jdksJ|jdksJ |dS#|wxYw)Nr3rrV)r8rr)r:rrrYrWr|r}rrrrrrZrdre getmembersuidgidrh) r<r>rar~rr archive_namer3members rtest_tarfile_root_ownerz+ArchiveUtilTestCase.test_tarfile_root_ownerFsW##%%GLL;; )++  Q" Q" '6DUL HW    BHW    w~~l+++++,|,, !,,.. ' 'zQzQ ' MMOOOOOGMMOOOOs#C C"1E##E9N)r3) __name__ __module__ __qualname__rHmark usefixturesr?rCrJrNskipifrRrTr;r[rr\r:rrrrrrrrrrrrrrr&rr1r11s [\**@@@+*@ [\**JJ+*JLLL HHH  [677**87*  [ABB55CB5=== A@-?@@@N    [\** [LMM4'4'NM+*4'l [\** D D+* DDDD4   +++ ''' 999 [\**99+*9999999###< [\**]_+*r&r1)$__doc__r r"rr)rrd distutilsrdistutils.archive_utilrrrrrdistutils.spawnr distutils.testsr os.pathr rrH test.supportr unix_compatrrrrrrr%r/TempdirManagerr1rr&rrs''  """""""!!!!!###### PPPPPPPPPPPPPP   111AAAppppp'0pppppr&