\bgM .ddlmZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddlmZddlmZddlZddlZddlmZddlZddlmZmZddlmZdd lmZdd lm Z hd Z!hd Z"d dhZ#dZ$e$ddide%&e"e#zdedddedddideddddedddddddddiided ddd!d"ed#d$d%d&Z'e jd'kred(d)d*d+e'd,<d-Z(d.Z)ej*d/0d1Z+ej*d2Z,d3Z-d4Z.d5Z/d6Z0d7Z1d8Z2ej34d9d:d;dfgd?Z6d@Z7dAZ8dBZ9dCZ:dDZ;ej3<dEdFZ=dGZ>ej34dHe?ej@Ae?ej@IdJZBdKZCdLZDdMZEdNZFdOZGdPZHdQZIdRZJdSZKej34dTdUdVgej3LejMdWkdXYdZZNd_d]ZOd^ZPdS)`) annotationsN)suppress)cleandoc)ZipFile)tags) bdist_wheel get_abi_tag) Distribution)SetuptoolsDeprecationWarning) run_setup>dummy_dist-1.0.dist-info/WHEEL&dummy_dist-1.0.dist-info/top_level.txtdummy_dist-1.0.dist-info/RECORD!dummy_dist-1.0.dist-info/METADATA> COPYING.md NOTICE.rst AUTHORS.txt LICENCE.txt LICENSE.txtNOTICEAUTHORSCOPYINGLICENCELICENSEzLICENSE~zAUTHORS~zQfrom setuptools import setup setup( name='dummy_dist', version='1.0', ) DUMMYFILE)setup.pylicensesu from setuptools import setup setup( name="simple.dist", version="0.1", description="A testing distribution ☃", extras_require={"voting": ["beaglevote"]}, ) )r simpledistui from setuptools import setup setup( name="complex-dist", version="0.1", description="Another testing distribution ☃", long_description="Another testing distribution ☃", author="Illustrious Author", author_email="illustrious@example.org", url="http://example.org/exemplary", packages=["complexdist"], setup_requires=["setuptools"], install_requires=["quux", "splort"], extras_require={"simple": ["simple.dist"]}, entry_points={ "console_scripts": [ "complex-dist=complexdist:main", "complex-dist2=complexdist:main", ], }, ) __init__.pyzdef main(): return)r complexdistz from setuptools import setup setup( name="headers.dist", version="0.1", description="A distribution with headers", headers=["header.h"], ) )rzheadersdist.pyzheader.hak from setuptools import setup setup( name="testrepo", version="0.1", packages=["mypackage"], description="A test package with commas in file names", include_package_data=True, package_data={"mypackage.data": ["*"]}, ) )r z 1,2,3.txt)r data mypackage)rr#ztestrepo-0.1.0u from setuptools import setup setup( name="unicode.dist", version="0.1", description="A testing distribution ☃", packages=["unicodedist"], zip_safe=True, ) )r åäö_日本語.py)r unicodedistu [metadata] name = utf8-metadata-dist version = 42 author_email = "John X. Ãørçeč" , Γαμα קּ 東 long_description = file: README.rst UTF-8 描述 説明) setup.cfgz README.rst) dummy-distz simple-distz complex-distz headers-distzcommasinfilenames-distz unicode-distzutf8-metadata-distwin32u from setuptools import Extension, setup setup( name="extension.dist", version="0.1", description="A testing distribution ☃", ext_modules=[ Extension( name="extension", sources=["extension.c"], py_limited_api=True ) ], ) z![bdist_wheel] py_limited_api=cp32z5#define Py_LIMITED_API 0x03020000 #include )rr' extension.czabi3extension-distc Ltjdrtddnt ddi}|t |}|D]\}}t|||| |S)zHRun command in the same process so that it is easier to collect coveragerinit) stop_after script_namez%%build_meta%%) ospathexistsr r parse_config_filesritemssetattrfinalize_options)kwargsdist_objcmdattrvalues r/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/setuptools/tests/test_bdist_wheel.pybdist_wheel_cmdr<s 7>>* % % = *0000 =*:; < <  !!! h  C||~~"" eT5!!!! Jc||}tjt|t ||S)N)prefix)mktempjaracor0buildEXAMPLESstr)tmp_path_factorynamebasedirs r; mkexamplerHs?%%d++G KhtnS\\::: Nr=session)scopec|d}|d}tD]}t||}||z }tj|5tt|t| dddn #1swxYwYtd| dDS)NrBdist bdist_dirdist_dirc34K|]}t|VdSNrD.0fnames r; zwheel_paths..s(AA#e**AAAAAAr=z*.whl) r@rCrHrAr0DirectoryStackcontextr<rDrunsortedglob)rE build_baserOrF example_dir build_dirs r; wheel_pathsr_s2!((11J&&v..HTT 0$77 % [ ' ' ) ) 1 1+ > > T T c)nns8}} M M M Q Q S S S T T T T T T T T T T T T T T T AA(--*@*@AAA A AAs:>CC C c"t|dS)Nr()rH)rEs r; dummy_distras %| 4 44r=ctd|D}t|D] }d|jvsJdS)z0Make sure entry point scripts are not generated.c3"K|] }d|v|V dS) complex_distNrTr0s r;rVz"test_no_scripts..,GG$0F0F0F0F0F0FGGr=z.data/scripts/N)nextrinfolistfilename)r_r0entrys r;test_no_scriptsrls_ GGGGG G GD''))66u~5555566r=ctd|D}t|5}|d}dddn #1swxYwYd|vsJdS)Nc3"K|] }d|v|V dS)z unicode.distNrerfs r;rVz&test_unicode_record..rgr=z!unicode.dist-0.1.dist-info/RECORDr$)rhrreadencode)r_r0zfrecords r;test_unicode_recordrss GGGGG G GD >"<==>>>>>>>>>>>>>>> ! ' ' ) )V 3 3 3 3 3 3sA  AAuMetadata-Version: 2.1 Name: helloworld Version: 42 Author-email: "John X. Ãørçeč" , Γαμα קּ 東 UTF-8 描述 説明 c|||dz }|dz }||dz td|dz Gddt }|}||||d z d}d |vsJd |vsJd |vsJdS) Nzdummy_dist.egg-infodummy_dist.dist-infozPKG-INFOutf-8encodingzdependency_links.txtc.eZdZdZdZedZdS);test_preserve_unicode_metadata..simpler_bdist_wheelz1Avoid messing with setuptools/distutils internalscdSrQreselfs r;__init__zDtest_preserve_unicode_metadata..simpler_bdist_wheel.__init__s Dr=cgSrQrer|s r; license_pathszItest_preserve_unicode_metadata..simpler_bdist_wheel.license_pathssIr=N)__name__ __module__ __qualname____doc__r~propertyrrer=r;simpler_bdist_wheelrzsD??          r=rMETADATAu"Author-email: "John X. Ãørçeč"uΓαμα קּ 東 r&)chdirmkdir write_text UTF8_PKG_INFOtouchregg2dist read_text) monkeypatchtmp_pathegginfodistinforcmd_objmetadatas r;test_preserve_unicode_metadatar sh..G00H MMOOO z%%mg%FFF %%,,...k"!##G Wh''':%00'0BBH /8 ; ; ; ; ( * * * * H , , , , , ,r=c`||tt|t d5}dt D}t |t|zksJ ddddS#1swxYwYdS)NrN$dist/dummy_dist-1.0-py3-none-any.whlch|]}d|zSzdummy_dist-1.0.dist-info/rerSs r; z(test_licenses_default..++   49 '% /   r=) rr<rDrYrDEFAULT_LICENSE_FILESsetnamelist DEFAULT_FILESrarrwf license_filess r;test_licenses_defaultr'sj!!!c(mm,,,00222 7 8 8CB  =R   2;;==!!]]%BBBBBB CCCCCCCCCCCCCCCCCCsAB##B'*B'c|ddd||tt |t d5}dh}t|t|zksJ ddddS#1swxYwYdS)Nr'z*[metadata] license_file=licenses/DUMMYFILErvrwrrz"dummy_dist-1.0.dist-info/DUMMYFILE joinpathrrr<rDrYrrrrrs r;test_licenses_deprecatedr1s $$//50j!!!c(mm,,,00222 7 8 8CB=> 2;;==!!]]%BBBBBBCCCCCCCCCCCCCCCCCCs>3B??CC) config_fileconfig)r'z-[metadata] license_files=licenses/* LICENSE)r'z,[metadata] license_files=licenses/*, LICENSEr)z2 license_files=['licenses/DUMMYFILE', 'LICENSE'])c|||d||tt |t d5}ddD}t|t|zksJ ddddS#1swxYwYdS)Nrvrwrrch|]}d|zSrrerSs r;rz)test_licenses_override..Prr=>rrr)rarrrrrrs r;test_licenses_overrider>s. $$///IIIj!!!c(mm,,,00222 7 8 8CB  =U   2;;==!!]]%BBBBBB CCCCCCCCCCCCCCCCCCs>-B99B=B=c<||tt|dt d5}t |}d|vsJd|vsJ ddddS#1swxYwYdS)N2rN build_numberz&dist/dummy_dist-1.0-2-py3-none-any.whlrr)rr<rDrYrrr)rarrr filenamess r;test_build_numberr`sj!!!c(mm#>>>BBDDD 9 : :@b && 0I====2i?????@@@@@@@@@@@@@@@@@@s.BBBc8||tjtd5t t |ddddn #1swxYwYtj dsJdS)Nz.*universal is deprecatedmatchT)rN universalz(dist/dummy_dist-1.0-py2.py3-none-any.whl) rpytestwarnsr r<rDrYr/r0r1)rarrs r;test_universal_deprecatedrisj!!! 2:U V V VGG#h--4@@@DDFFFGGGGGGGGGGGGGGG 7>>D E EEE EEEs1A..A25A2a&#include static PyMethodDef methods[] = { { NULL, NULL, 0, NULL } }; static struct PyModuleDef module_def = { PyModuleDef_HEAD_INIT, "extension", "Dummy extension module", -1, methods }; PyMODINIT_FUNC PyInit_extension(void) { return PyModule_Create(&module_def); } ufrom __future__ import annotations from setuptools import Extension, setup setup( name="extension.dist", version="0.1", description="A testing distribution ☃", ext_modules=[Extension(name="extension", sources=["extension.c"])], ) zEonce:Config variable '.*' is unset.*, Python ABI tag may be incorrectc|d}|dz td|dz td|d}|d}||t t|t|d S) z=Test that building a binary wheel with the limited ABI works.extension_distrrvrwr*rBrLrMN) r@rEXTENSION_SETUPPYEXTENSION_EXAMPLErrr<rDrY)rrrE source_dirr^rOs r;test_limited_abirs "(()9::J*(():W(MMM-++,=+PPP!!'**I  ((Hj!!!c)nns8}}EEEIIKKKKKr=ct|d}tjt||||t j|D]H\}}}|D]?}t jt j ||tj @It dS)Ndummy)rDrshutilcopytreerr/walkchmodr0joinstatS_IREADr<rY)rarrrGroot_dirsfilesrUs r;test_build_from_readonly_treers(##G,,--G OC OOW---g!gg..>>eU > >E HRW\\$.. = = = = >r=)option compress_type)idscj||tt||t d5}t |}d|vsJd|vsJ|jD]}|j|ksJ ddddS#1swxYwYdS)N)rN compressionrrr) rr<rDrYrrrfilelistr)rarrrrrrzinfos r;test_compressionrs j!!!c(mm@@@DDFFF 7 8 88B && 0I====2i????[ 8 8E&-77777 8 888888888888888888sAB((B,/B,c|D]c}t|5}td|jD}||}d|vsJ dddn #1swxYwYddS)Nc3NK|] }|jd|V!dS)WHEELN)rjendswith)rTfns r;rVz.test_wheelfile_line_endings..s7WWB9M9Mg9V9VWRWWWWWWr= )rrhrro)r_r0r wheelfilewheelfile_contentss r;test_wheelfile_line_endingsrs33 T]] 3bWW"+WWWWWI!#!3!3  222222 3 3 3 3 3 3 3 3 3 3 3 3 3 3 333s:AA "A c<|dd||tt|dt d5}|jD]}|jdksJ ddddS#1swxYwYdS)NSOURCE_DATE_EPOCH02arz'dist/dummy_dist-1.0-2a-py3-none-any.whl)irrrr)setenvrr<rDrYrr date_time)rarrrrs r;test_unix_epoch_timestampsrs*C000j!!!c(mm$???CCEEE : ; ;z*test_get_abi_tag_windows..$r=get_config_varcdS)Nzcp313-win_amd64rexs r;rz*test_get_abi_tag_windows..s?Pr=cp313gettotalrefcountcdS)Nrrerer=r;rz*test_get_abi_tag_windows..sr=Fcp313dcdS)Nzcp313t-win_amd64rers r;rz*test_get_abi_tag_windows..s?Qr=cp313tdcp313t)r4r sysconfigr sysdelattrrs r;test_get_abi_tag_windowsrs0,,??? #35P5PQQQ ==G # # # #/EBBB ==H $ $ $ $ #35Q5QRRR ==I % % % %/000 ==H $ $ $ $ $ $r=c|tdd|tddtdksJdS)NrcdSNpprerer=r;rz+test_get_abi_tag_pypy_old..rr=rcdS)Nz pypy36-pp73rers r;rz+test_get_abi_tag_pypy_old..s}r= pypy36_pp73)r4rrr rs r;test_get_abi_tag_pypy_oldrsU0,,??? #35L5LMMM ==M ) ) ) ) ) )r=c|tdd|tddtdksJdS)NrcdS)Nzpypy37-pp73-darwinrers r;rz+test_get_abi_tag_pypy_new..?Sr=rcdSrrerer=r;rz+test_get_abi_tag_pypy_new..rr= pypy37_pp73r4rrr rs r;test_get_abi_tag_pypy_newr sU #35S5STTT0,,??? ==M ) ) ) ) ) )r=c|tdd|tddtdksJdS)NrcdS)Nz"graalpy231-310-native-x86_64-linuxrers r;rz*test_get_abi_tag_graalpy..s/Sr=rcdS)Ngraalpyrerer=r;rz*test_get_abi_tag_graalpy..s)r=graalpy231_310_nativer rs r;test_get_abi_tag_graalpyrsa#%S%S02C2CDDD ==3 3 3 3 3 3 3r=c|tdd|tddtdksJdS)NrcdS)Nzunknown-python-310rers r;rz+test_get_abi_tag_fallback..r r=rcdS)Nzunknown-pythonrerer=r;rz+test_get_abi_tag_fallback..s:Jr=unknown_python_310r rs r;test_get_abi_tag_fallbackrsX #35S5STTT02J2JKKK ==0 0 0 0 0 0 0r=ct||tddS)z>Ensure building on platforms with a space in the name succeed.z isilon onefs) plat_nameN)rr<rY)rars r;test_platform_with_spacers9j!!!n---1133333r=c||ddddd}|D]Q\}}t|dd5}|t |dddn #1swxYwYRt d }tj |sJtt| }d D]}||vsJ d D]} | |vsJ dS) z Setuptools allow authors to set PEP 440's local version segments using ``egg_info.tag_build``. This should be reflected not only in the ``.whl`` file name, but also in the ``.dist-info`` and ``.data`` dirs. See pypa/setuptools#3997. z] from setuptools import setup setup(headers=["hello.h"]) z [metadata] name = test version = 1.0 [options.data_files] hello/world = file.txt [egg_info] tag_build = +what tag_date = 0 r)rr'zfile.txtzhello.hwrvrwNz#dist/test-1.0+what-py3-none-any.whl)z"test-1.0+what.data/headers/hello.hz,test-1.0+what.data/data/hello/world/file.txtz test-1.0+what.dist-info/METADATAztest-1.0+what.dist-info/WHEEL)ztest.data/headers/hello.hz'test-1.0.data/data/hello/world/file.txtztest.dist-info/METADATAztest-1.0.dist-info/WHEEL) rr3openwriterr<rYr/r0r1rrr) rrrfilecontentfh wheel_pathentriesexpected not_expecteds r;test_data_dir_with_tag_buildr'sh %  E((( g $g . . . (" HHXg&& ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( (7J 7>>* % %%% %'*%%..0011G## 7"""""++ 7***** ++s#A77A; >A; )reportedr%)z linux-x86_64 linux_i686)z linux-aarch64 linux_armv7lLinuxz!Only makes sense to test on Linux)reasonc|tddtj}t |}||_d|_|\}}}||ksJdS)NcalcsizecdS)Nrers r;rz'test_platform_linux32..:sar=F)r4struct setuptoolsr rr root_is_pureget_tag)r(r%rrLr8_actuals r;test_platform_linux32r72sr KK888  " $ $D d  CCMC;;==LAq& X      r=returnNonecd d}tt5|tjddddn #1swxYwY|t d|tjtd5ddl }dddn #1swxYwY|tjd ddl }dS) NrFrDc\|dkrtd|tj|g|Ri|S)NctypeszNo module named )ModuleNotFoundError importlib __import__)rFargsr6s r; _fake_importz$test_no_ctypes.._fake_importDsE 8  %&?&?&?@@ @#D:4:::6:::r=zwheel.macosx_libfiler?zNo module named ctypesrrzsetuptools.command.bdist_wheel)rFrD) rKeyErrordelitemrmodulesr4builtinsrraisesr=wheel.macosx_libfilesetuptools.command.bdist_wheel)rrAwheelr2s r;test_no_ctypesrJCsd;;;; (  AACK)?@@@AAAAAAAAAAAAAAA, === *2J K K K$$####$$$$$$$$$$$$$$$  %EFFF))))))s#!AA  A BB Bc&|||dz }||dz dd|dz ddtt |t |d d h}t d 5}t|}dddn #1swxYwY||z tksJd |DrJdS) Nrurzname: helloworldrvrwFOObar)rN dist_info_dirzdummy_dist-1.0.dist-info/FOOrrc4g|]}dt|v|S)zegg-inforRrfs r; z+test_dist_info_provided..os(HHH c$ii0G0G0G0G0Gr=) rrrr<rDrYrrr)rarrrr%r files_founds r;test_dist_info_providedrRYs\j!!!00H NN &&'9G&LLL !!%'!:::c(mm3x==IIIMMOOO&)H 7 8 8)B"++--(( ))))))))))))))) k !SUU * * * *HHHHHHH HHHs3"C!!C%(C%)r8r9)Q __future__rrEr>os.pathr/platformrrr1rr contextlibrinspectrzipfiler jaraco.pathrAr packagingrr2rHrr setuptools.distr setuptools.warningsr distutils.corer rrOTHER_IGNORED_FILESSETUPPY_EXAMPLEdictfromkeysrCr<rHfixturer_rarlrsrrrrmark parametrizereplacerrrrrrfilterwarningsrrlistsupported_compressionsr3rrrrrr rrrr'skipifsystemr7rJrRrer=r;rks9""""""  CCCCCCCC((((((<<<<<<$$$$$$   $ "% ---0CCR H H H     H   2&';<5:H    "H    $&R88  -, '0H    (*"EE"X   ,  Qt t n<7H   :O%&&H !",    i    B B!  B555666444 ---8CCC C C CHF   # #I      CC  C333@@@FFF& KLLL   D + 1 1 3 344 [ /00 88  8333<<< % % %*** *** 444111 444 4+4+4+n#%FGHO )L ****,IIIIIr=