1jvF ddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZdd lmZdd lmZddlZddlZdd lmZdd lmZdd lmZmZddlmZm Z ddl!m"Z"ddl#m$Z$m%Z%e&ddddddddgZ'ej()dej*dddej*ddd ej*d!dd"ej*d#d$d%ej*d&d'd(fd)Z+d*Z,ej()d+e,d,Z-d-Z.ej()d+e.d.Z/Gd/d0Z0Gd1d2Z1d3Z2d>d6Z3d?d@d8Z4dAd=Z5dS)B) annotationsN)message_from_string) Generator) EmailMessage)Parser) EmailPolicy)cleandoc)Path)Mock)Metadata)sic) rfc822_escaperfc822_unescape)expandsetupcfg) Distribution) retrieve_fileurls_from_filepackagez0.0.1zFoo Barz foo@bar.netzLong descriptionzShort descriptiononetwo)nameversionauthor author_emaillong_description descriptionkeywordscontentresultzJust a single line single_line)idz%Multiline Text without extra indents multilinez,Multiline With additional indentationmultiline_with_indentationz Leading whitespacezLeading whitespaceremove_leading_whitespacez- Leading whitespace In Multiline commentz+Leading whitespace In Multiline comment#remove_leading_whitespace_multilinecN|p|tt|ksJdSN)rrr s u/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib/python3.11/site-packages/setuptools/tests/test_core_metadata.pytest_rfc822_unescaper,$s0>  g/-2H2H"I"I I I I I I Ict}tjt|}d|fd|dfd|gdfd|d fd |d ft jd|tdtjdd|dfd|dfd|dft jd|ddg tjd!d"tdd#d$%fd&tdd#d'(fd)tdd#*fd+tdtd,*fgS)-NzMetadata version 1.0z,Metadata Version 1.0: Short long descriptionzShort long description)rz!Metadata version 1.1: Classifiers)z#Programming Language :: Python :: 3z%Programming Language :: Python :: 3.7z&License :: OSI Approved :: MIT License) classifiersz"Metadata version 1.1: Download URLzhttps://example.com) download_urlz%Metadata Version 1.2: Requires-Pythonz>=3.7)python_requiresz!Metadata Version 1.2: Project-Urlzhttps://example.bar)Foo) project_urlsz"Issue #1578: project_urls not read)reason)marksz3Metadata Version 2.1: Long Description Content Typeztext/x-rst; charset=UTF-8)long_description_content_typeLicenseMIT)licensezLicense multilinez+This is a long license over multiple linesz$Metadata Version 2.1: Provides Extrafoobar)provides_extraszprovides_extras not readzMissing authorz1.0.0zsnorri@sturluson.name)rrrzMissing author e-mailzSnorri Sturluson)rrrzMissing author and e-mail)rrzBypass normalized versionz1.0.0a) EXAMPLE_BASE_INFO functoolspartialdictpytestparammarkxfailr )baseparamss r+__read_test_casesrGFsR D  tT * *F * : F!9     0 F     1 F2     4 F '     / F)> ? ? ? @ @ @+##;$    B F.I      F     FF     2 FE5> 2 2 2+##+E#FF    4     $ )     (      ( H     gZ Zr-)rattrsct|}|j}|j}tj}|||d|}t|sJ|d|}| |d|j fd|j fd|j fd|j fd|jfd|jfd|jfd |jfd |jfd |jfd |jfd |jfd|jfd|jfddfddfg}|D]\} } | || |ksJ dS)Nrrrrrmetadata_versionprovidesrrr0r platforms obsoletesrequiresr/r3c$t|diS)Nr3getattrss r+z$test_read_metadata..s71nb#A#Ar-r<c$t|diS)Nr<rPrRs r+rTz$test_read_metadata..sga1BB&G&Gr-)rmetadata __class__ioStringIOwrite_pkg_fileseekread_valid_metadata read_pkg_fileget_name get_version get_contactget_contact_emailget_metadata_version get_providesget_descriptionget_long_descriptionget_download_url get_keywords get_platforms get_obsoletes get_requiresget_classifiers) rrHdist metadata_out dist_classPKG_INFOpkg_info metadata_in tested_attrsattrgetters r+test_read_metadatarvs   D=L'J{}}H))) MM!}}H 8 $ $$$ $ MM!*,,Kh''' $% J*+ :)* 56 Z<= Z,-  23 Z<= 45 Z,- j./ j./ Z,-  23 AAB GGH!L&%;; fvk""ff\&:&::::::;;r-c^dddd}d}d|fd||dd ifd ||d d d fd ||ddifd||dddfd||d ddfd||d d dddfd||d ddfd||ddifd||ddifg S)Nrz1.0xxx)rrrcX|}|||Sr*)copyupdate)d1d2s r+ merge_dictsz,__maintainer_test_cases..merge_dictss# WWYY "  r-zNo author, no maintainerz!Author (no e-mail), no maintainerrz Author NamezAuthor (e-mail), no maintainerzauthor@name.com)rrz!No author, maintainer (no e-mail) maintainerzMaintainer NamezNo author, maintainer (e-mail)zmaintainer@name.com)rmaintainer_emailz)Author (no e-mail), Maintainer (no-email))rrz$Author (e-mail), Maintainer (e-mail)rrrrz*No author (e-mail), no maintainer (e-mail))rrzAuthor unicodeu 鉄沢寛zMaintainer unicodeuJan Łukasiewicz)rz)rHr~s r+__maintainer_test_casesrs5 G GE $UZZ\\2 / K-8 9 9 - K-ARSS    0 K .?@ A A - K"3(=    8 K-?PQQ    3 K+$5"3(=     9 K$5(=    ;;ux.EFFG {{5 > >!6688 8 $ $$$ $''))MVD-"45566I NNM y>>S// / / / /!'')))) diid## ;! 7 7??4#:666666 7##c##D=((((())sB((B,/B,ceZdZdZdZeejZedz Z e j dge e dZ e jjdZdS)#TestParityWithMetadataFromPyPaWheelc Ttditdddgdd}t|S)Nz>=3.8a, packaging==23.2 more-itertools==8.8.0; extra == "other" jaraco.text==3.7.0 importlib-resources==5.10.2; python_version<"3.8" importlib-metadata==6.0.0 ; python_version<"3.8" colorama>=0.4.4; sys_platform == "win32" a pytest >= 6 pytest-checkdocs >= 2.4 tomli ; \ # Using stdlib when possible python_version < "3.11" ini2toml[lite]>=0.9 )testingother)r1install_requiresextras_require)r@r=r)selfrHs r+ base_examplez0TestParityWithMetadataFromPyPaWheel.base_example>s[   $      2E"""r-c|}t|}t|sJgd}|D]}||vsJ dS)N)zMetadata-Version:zRequires-Python: >=3.8zProvides-Extra: otherzProvides-Extra: testingzDRequires-Dist: tomli; python_version < "3.11" and extra == "testing"z6Requires-Dist: more-itertools==8.8.0; extra == "other"z6Requires-Dist: ini2toml[lite]>=0.9; extra == "testing")r _get_pkginfor])rtmp_pathrmrqexpectedrs r+test_requires_distz6TestParityWithMetadataFromPyPaWheel.test_requires_distZst  ""%%x(((((    $ $D8##### $ $r-zconfig/setupcfg_examples.txtN)rFc#K|||tdtd|tdtd|tdtd|j|VdSt|j}tj t i|VdS)z4Example of distribution with arbitrary configuration read_attrz0.42) return_value read_files hello world_finalize_license_filesN) chdirsetattrrr rrBrrrapply_configuration)rrequest monkeypatchrconfigs r+rmz(TestParityWithMetadataFromPyPaWheel.distos (###FK61J1J1JKKKFL$M2R2R2RSSS 3Tt5L5L5L    = ##%% % % % % %#7=11F.|B/?/?HH H H H H Hr-ct|}tj|5}tt|}dddn #1swxYwYt ddd}tj5}tj|d}t|| || | }dddn #1swxYwYt|d} d | } d |}|| ksJdS) zAEnsure PKG-INFO round trips according to pypa/wheel's methodologyNTFr)utf8 mangle_from_max_line_lengthrr)policy )rrXrYrrparserBytesIO TextIOWrapperrflattenflushgetvaluebytesrr) rrrmrqbuffermsgserialization_policyout regenerated raw_metadatas r+test_pkg_info_roundtripz;TestParityWithMetadataFromPyPaWheel.test_pkg_info_roundtrips %%[ " " 5f&&,,V44C 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 +    Z\\ ,V"6G<<C;)__name__ __module__ __qualname__rrr __file__parentHERE EXAMPLES_FILErAfixturerrmrC uses_networkrrr-r+rr=s###8$$$$ 4>> D99MV^DA>>-#@#@ABBB I ICB I [+++++r-rc eZdZededdZejdedZ ejdeejdddid d id d d d gfidddgfiddddgfdgdZ ejdddgdZ dS) TestPEP643a [metadata] name = package version = 0.0.1 author = Foo Bar author_email = foo@bar.net long_description = Long description description = Short description keywords = one, two platforms = abcd [options] install_requires = requests a [project] name = "package" version = "0.0.1" authors = [ {name = "Foo Bar", email = "foo@bar.net"} ] description = "Short description" readme = {text = "Long\ndescription", content-type = "text/plain"} keywords = ["one", "two"] dependencies = ["requests"] license = "AGPL-3.0-or-later" [tool.setuptools] provides = ["abcd"] obsoletes = ["abcd"] )z setup.cfgpyproject.tomlfilect||j|dt}|dJ|dJdS)NrrDynamicdynamic)r write_text STATIC_CONFIG _get_metadataget_all)rr tmpdir_cwdrVs r+!test_static_config_has_no_dynamicz,TestPEP643.test_static_config_has_no_dynamicsl T d06III ?? **222 **22222r-fieldszrequires-python)r1z>=3.12z author-email)rzsnoopy@peanuts.comrhelloworldplatformrLabcd)rr)rzbla bla bla blarz hello-world)summaryrz requires-distct||j|dt}|D],\}}t |||t |j||-t|}t| dt|ksJdS)Nrrr) r rr _makedistvaluesrrVrrr)rrrrrmrtvaluerVs r+&test_modified_fields_marked_as_dynamicz1TestPEP643.test_modified_fields_marked_as_dynamics& T d06III{{"==?? 0 0KD% D$ & & & DM4 / / / /!&&8##I..//3v;;>>>>>>r- extra_tomlz'# Let setuptools autofill license-filesz2license-files = ['LICENSE*', 'AUTHORS*', 'NOTICE']c|jddd|dddd}||dvsJd|vsJtj|t d }t |}t|d d d hksJ| d dksJt|dhdksJdS)Nrzlicense = "AGPL-3.0-or-later"zdynamic = ['license'] z--- mock license ---z--- mock notice ---z --- me ---)r LICENSE.mdNOTICE AUTHORS.txtzAGPL-3.0-or-later)license_expressionrz license-filezlicense-expressionzLicense-Expressionz License-File>rrr) rreplacejaracopathbuildrrrrr)rrrfilesrmrVs r+test_license_files_dynamicz%TestPEP643.test_license_files_dynamicsB#01ABJJ/6*661+'  U#344444.j@@@@ %   ,?@@@ &&8##I..//  4     ||0115HHHHH8##N33449 9 9       r-N) rrrr rrArC parametrizekeysrrrrr-r+rrsuX   #(   ###MJ [V]%7%7%9%9::33;:3  [V]%7%7%9%9:: [ = > C D *w&89 : +x0 1:F"4}o!F    ??!;:"?" [ 5 @      r-rc Lt|}||Sr*)rparse_config_files)rHrms r+rrs&   D Kr-rmrctj5}|j||cdddS#1swxYwYdSr*)rXrYrVrZr)rmfps r+rrs " $$R((({{}}s.AAADistribution | NonecVtt|p tSr*)rrr)rms r+rr s! |D,?IKK@@ A AAr-textrreturnboolc6tj|d}|duS)NT)validate)r from_email)r rVs r+r]r]$s""4$777H 4 r-)rmrr*)rmr)r rr r )6 __future__rr>rXemailremail.generatorr email.messager email.parserr email.policyrinspectr pathlibr unittest.mockr jaraco.pathrrApackaging.metadatar setuptoolsr setuptools._core_metadatarrsetuptools.configrrsetuptools.distrconfig.downloadsrrr@r=rCrrBr,rGrvrrrrrrrr]rr-r+r s"""""" %%%%%%%%%%%%&&&&&&$$$$$$ ''''''DDDDDDDD........((((((;;;;;;;;D   (#U^     7     > +    " *    = ;4   +<JJ=<J___D*,=,=,?,?@@%;%;A@%;PAAAH*,C,C,E,EFF$)$)GF$)N\+\+\+\+\+\+\+\+~u u u u u u u u p  BBBBB      r-