\bgG"ddlZddlZddlZddlZddlmZddlZddl Z ddl Z GddZ GddZGddZejd d ZdS) N)cleandocc\eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdS)TestPackageIndexcd}|dz }djdit}tjj|sJdS)Nz&http://other_url?:action=show_md5&z'digest=0123456789abcdef0123456789abcdefz Name (md5) )lstripformatlocals setuptools package_indexPYPI_MD5match)selfhash_urldocs s/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/setuptools/tests/test_packageindex.py test_regexzTestPackageIndex.test_regexsp;==  FHHV ((%hh (( '066s;;;;;;;c@tj}d}tjt t j|5||}t|tj j sJ ddddS#1swxYwYdS)Nz.http://127.0.0.1:0/nonesuch/test_package_indexr r r PackageIndexpytestraises Exceptionreescapeopen_url isinstanceurlliberror HTTPErrorrindexurlvs rtest_bad_url_bad_portz&TestPackageIndex.test_bad_url_bad_ports(5577> ]9BIcNN ; ; ; 9 9s##Aa!788 8 88 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s7BBBcDtjd}d}tjt t j|5||}t|tj j sJ ddddS#1swxYwYdS)Nzwww.example.comhostszMurl:%20https://svn.plone.org/svn/collective/inquant.contentmirror.plone/trunkrrr#s rtest_bad_url_typoz"TestPackageIndex.test_bad_url_typo s(55._urlopen/s+++F33 3rzhttp://example.comr/r)r r ropenerrrrr)rr$r4r%s rtest_bad_url_bad_status_linez-TestPackageIndex.test_bad_url_bad_status_line,s(55contentNzfile:/content) openwriter request pathname2urlr;r r local_openread)rtmpdir index_filefr%ress rtest_local_indexz!TestPackageIndex.test_local_indexlsl* __S ! ! *Q GG( ) ) ) * * * * * * * * * * * * * * *33CKK@@@3F&11#66CHHJJ&&&&&&s=AAc ddg}gd gd dgdggd fd|D}|D]Z\}}ttjd |z}|d jdksJ|d j|ksJ[d S) z6 EGG fragments must comply to PEP 440 z1!)0z0.0z0.0.0)a0b0rc0z.post0z.dev0))rara) +ubuntu.0rf)z +ubuntu-0rf)z +ubuntu_0rfcxg|]3 D].tgdgD]D]}fd|D/4S)racBg|]}d|gS)ra)join).0loceprs r zATestPackageIndex.test_egg_fragment...s- 5 5 5RWWaAs^ $ $ 5 5 5r)sum) rjlocsrlrmrndevlocalpostprereleasess @@@rroz6TestPackageIndex.test_egg_fragment..s     #tS)B400       6 5 5 5 5 5 5 5 5      rz3http://example.com/example-foo.zip#egg=example-foo-rN)listr r distros_for_urlversion) repochversionsr&vcdistsrrrsrtrurvs @@@@@rtest_egg_fragmentz"TestPackageIndex.test_egg_fragmentws           z                  * *EAr(88IAME 8#r))))8#r))))) * *rcDd}tj}|dz }|dddd|g|dd|ddd g|||}|t |ksJt |jd ksJdS) Nz7git+https://github.example/group/project@master#egg=foozproject@mastergitclone--quiet$https://github.example/group/projectz-Ccheckoutmaster)r r rregisterdownloadr;lencalls)rtmp_pathfpr%r$ expected_dirresults rtest_download_git_with_revz+TestPackageIndex.test_download_git_with_revsG(5577"22     2       UD, IxPQQQX..\******28}}!!!!!!rcd}tj}|dz }|dddd|g|||dS)Nz0git+https://github.example/group/project#egg=fooprojectrrrr)r r rrr)rrrr%r$rs rtest_download_git_no_revz)TestPackageIndex.test_download_git_no_revsk@(5577)+     2       sH%%%%%rcd}tj}d}tjt jj|5|||ddddS#1swxYwYdS)Nz'svn+https://svn.example/project#egg=fooz!.*SVN download is not supported.*r) r r rrrr8r9r:r)rrr%r$r=s rtest_download_svnz"TestPackageIndex.test_download_svns7(55772 ]9+:# F F F * * NN3 ) ) ) * * * * * * * * * * * * * * * * * *sA,,A03A0N)__name__ __module__ __qualname__rr'r,r6r>rArJrPr_rrrrrrrrrs<<<999 9 9 9    ,,,(''' """& ' ' '******X"""& & & &*****rrc,eZdZdZdZdZdZdZdS)TestContentCheckersctjjd}|dd|jdksJ|sJdS)N3http://foo/bar#md5=f12895fdffbd45007040d2e44df98478z$You should probably not be using MD5ascii f12895fdffbd45007040d2e44df98478) r r HashCheckerfrom_urlfeedencodehash hexdigestis_validrcheckers rtest_md5zTestContentCheckers.test_md5s*6?? A    ;BB7KKLLL|%%''+MMMMM!!!!!!!rctjjd}|dd|sJdS)zz1TestContentCheckers.test_report..sqrzMy message about %szMy message about md5)r r rrreport)rrreps r test_reportzTestContentCheckers.test_reportsP*6?? A  nn[[*?@@,,,,,,,rN)rrrrrrrrrrrrrs_""""""""" *** -----rrceZdZdZdS)TestPyPIConfigc|dz }|tddtj}|jd}|jdksJ|jdksJdS)Nz.pypircz [pypi] repository=https://pypi.org username=jaraco password=pity% zutf-8)encodingzhttps://pypi.orgjaracozpity%) write_textrr r PyPIConfigcreds_by_repositoryusernamepassword)r tmp_home_dirpypirccfgcreds rtest_percent_in_passwordz'TestPyPIConfig.test_percent_in_passwords )     &1133&'9:}((((}''''''rN)rrrrrrrrrs#(((((rrrwcNtjjddS)z; REL should not hang on a contrived attack string. a< rel= N)r r RELsearchrrr test_REL_DoSrs%  ''(>?????r) http.clientr0r urllib.errorr urllib.requestinspectrrsetuptools.package_indexr distutils.errorsr8rrrmarktimeoutrrrrrs"  |*|*|*|*|*|*|*|*~"-"-"-"-"-"-"-"-J(((((((((Q@@@@@r