>k |<dZddlZddlZddlZddlZddlZddlmZddlZddl m Z ddl m Z eej jdZGd d ZGd d Zd ZdZdS)z$Test .dist-info style distributions.N)partial)unpack_archive)DALSutf-8encodingcbeZdZdZdZejdddZdS) TestDistInfocLd}|dz |dtjdtjtjz}t d|d}|jsJ||jsJt| d rJd S) zA Supplying an invalid version crashes dist_info. z@[metadata] name=proj version=42 [egg_info] tag_build=invalid!!! setup.cfgrrzinvalid version dist_infoF)cwdcheck *.dist-infoN) write_textrecompileMIrun_command_inner returncodesearchstdoutlistglob)selftmp_pathconfigmsgprocs q/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/setuptools/tests/test_dist_info.pytest_invalid_versionz!TestDistInfo.test_invalid_versionsY K ++FW+EEEj*BD24K88 (%HHHzz$+&&&&& m445555555cd}|dz |dttdd|t|d}|jd sJtj|ttdd d |t|d}|jd sJdS) Nz [metadata] name=proj version=42 [egg_info] tag_date=1 tag_build=.post r rrrz --no-daterrzproj-42z --tag-buildz.azproj-42a) rprint run_commandnextrname startswithshutilrmtree)rrrrs r"test_tag_argumentszTestDistInfo.test_tag_arguments s  K ++FW+EEE k+{AAABBB}5566 ~((33333 i    k+}dIIIJJJ}5566 ~((4444444r$ keep_egg_info)FTc<d}|dz |d|dz }||rdgng}tdd|g|Rd |itt |d d ksJtt |d d ksJt |}tt |d |ksJtt |d d ksJtt |dd ksJtt |dd ksJdS)Nz [metadata] name=proj version=42 r rr__outz--keep-egg-inforz --output-dirrrrrz *.egg-infoz *.__bkp__)rmkdirr(lenrrint)rrr/routoptsexpected_egg_infos r"test_output_dirzTestDistInfo.test_output_dir4s6 K ++FW+EEE  &3;!""KJtJJJJJJ4//0011Q66664 m445566!;;;; ..4..//004EEEEE4 l334455::::4--..//144444 k223344999999r$N) __name__ __module__ __qualname__r#r.pytestmark parametrizer8r$r"r r s` 6 6 6555( [_m<< : :=< : : :r$r c"eZdZdZedZgdZej dd ej ddgej ded Z d S) TestWheelCompatibilityzMake sure the .dist-info directory produced with the ``dist_info`` command is the same as the one produced by ``bdist_wheel``. ae [metadata] name = {name} version = {version} [options] install_requires = foo>=12; sys_platform != "linux" [options.extras_require] test = pytest [options.entry_points] console_scripts = executable-name = my_package.module:function discover = myproj = my_package.other_module:function ))rB).postz[egg_info] tag_build = post )rCz[egg_info] tag_build = .post )rCz)[egg_info] tag_build = post tag_date = 1 ).devz[egg_info] tag_build = .dev )rDz)[egg_info] tag_build = .dev tag_date = 1 )a1zgg_info] tag_build = .a1 )z+localz[egg_info] tag_build = +local r*zmy-proj my_proj my.proj My.Projversionz0.42.13)suffixcfgc|j|||z}dD]6}||z ||z dz |d7t d|dz t |d }t||d z t |d } t d |d z t |d} | j| jksJ| j d||sJdD]*} t| | z t| | z ksJ+dS)N)r*rF) dir_wheeldir_distr rr bdist_wheelrJr&zdir_wheel/dist/*.whlunpackzunpack/*.dist-inforrKzdir_dist/*.dist-infozmy_proj-)METADATAzentry_points.txt) SETUPCFGformatr2rr(r)rrr*r+read) rr*rFrrGrHriwheelwheel_dist_inforfiles r"&test_dist_info_is_the_same_as_in_wheelz=TestWheelCompatibility.test_dist_info_is_the_same_as_in_wheelks %%4%AACG( N NA \ " " " \K ' 3 3FW 3 M M M MMx+'=>>>>X]]#9::;;uh1222x}}-ABBCCKX %:;;;;'=>>?? ~!55555~(()EG)EV)E)EFFFFF2 J JD D())T/D2H-I-IIIIII J Jr$N) r9r:r;__doc__rrO EGG_INFO_OPTSr<r=r>splitrVr?r$r"rArAEst H*   M [V%F%L%L%N%NOO [Y 44 [. >>JJ?>54POJJJr$rActjtjdddd|}tjddgt t |}tj|fi|S)NTr)stderrrtextr rz-cz __import__('setuptools').setup()) subprocessSTDOUTPIPEsys executablemapstrrun)cmdkwargsr6s r"rrsb#/      D >4!C Tc#smm TC ># & & & &&r$c$t|i|jS)N)rr)argsrfs r"r(r(s d -f - - 44r$)rWpathlibrr,r]r` functoolsrr<setuptools.archive_utilrtextwraprPath read_textrQr rArr(r?r$r"ros**   222222ww|%888/:/:/:/:/:/:/:/:d=J=J=J=J=J=J=J=J@ ' ' '55555r$