+
    êh4X  ã                   ón  € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIt	^ RI
t
^ RIHt ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ^R
IHt ^RIHtHtHt ^RIHt ^ RIt  ! R R4      t! ! R R4      t" ! R R4      t# ! R R4      t$ ! R R4      t% ! R R4      t&R t'R t(R t)R t*R t+R t,R t-R  t.R# )!é    N)ÚConfigParser)Úproduct)Úcast)ÚPath)Úsdist)Úfind_package_pathÚfind_parent_package)ÚDistribution)ÚPackageDiscoveryError)Úquiet)Úget_sdist_membersÚget_wheel_membersÚrun)ÚDALSc                   ó,   a € ] tR t^t o R tR tRtV tR# )ÚTestFindParentPackagec                óÊ   € VR ,          P                  RRR7       VR,          P                  4        VR,          P                  4        . R	Op\        VRR/V4      R8X  g   Q hR# )
zsrc/namespace/pkg/nestedT©Úexist_okÚparentsz$src/namespace/pkg/nested/__init__.pyzsrc/namespace/pkg/__init__.pyúnamespace.pkgÚ ÚsrcN)Ú	namespacer   znamespace.pkg.nested©ÚmkdirÚtouchr	   )ÚselfÚtmp_pathÚpackagess   && ÚH/usr/lib/python3/dist-packages/setuptools/tests/test_config_discovery.pyÚtest_single_packageÚ)TestFindParentPackage.test_single_package   s_   € à	Ð.Õ	.×5Ñ5¸tÈTÐ5ÔRØ	Ð:Õ	:×AÑAÔCØ	Ð3Õ	3×:Ñ:Ô<ÚIˆÜ" 8¨b°%¨[¸(ÓCÀÔVÐVÒVó    c                ó¶   € . ROpV F;  pVRV 2,          P                  RRR7       VRV R2,          P                  4        K=  	  \        VRR/V4      e   Q hR# )	Úpkgúsrc/Tr   z/__init__.pyr   r   N)r&   Úpkg1Úpkg2r   )r   r   ÚmultipleÚnames   &&  r!   Útest_multiple_toplevelÚ,TestFindParentPackage.test_multiple_toplevel!   sf   € ò +ˆÛˆDØ˜$˜t˜f˜Õ%×,Ñ,°dÀDÐ,ÔIØ˜$˜t˜f LÐ1Õ1×8Ñ8Ö:ñ ô # 8¨b°%¨[¸(ÓCÒKÐKÒKr$   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   r,   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r!   r   r      s   ø‡ € òW÷Lð Lr$   r   c                   ó  a € ] tR t^+t o RtRRRR/RR./RRRR	//R
RR./RRR./RRRR./R/ R/ R/ R/ /	tRRR.R	RR.RRR.RR.RR./tR t]P                  P                  R ]P                  4       4      R! 4       t]P                  P                  R ]P                  4       4      R" 4       tR#]! R$4      R%]! R&4      R']! R(4      R)]! R*4      /t]P                  P                  R@]! . RAORR.]P                  4       4      4      R+ 4       t]P                  P                  RBR-.R03R..RR/03R0.RR103R2.0 RCm3R4.RR303R5.R03R6.R03.4      R7 4       t]P                  P                  R,R8.R9..4      R: 4       tR; tR< tR= tR>tV tR?# )DÚ TestDiscoverPackagesAndPyModuleszƒMake sure discovered values for ``packages`` and ``py_modules`` work
similarly to explicit configuration for the simple scenarios.
zexplicit-srcÚpackage_dirr   r   r    r&   zvariation-libÚlibzexplicit-flatzexplicit-single_moduleÚ
py_moduleszexplicit-namespaceÚnszns.pkgzautomatic-srczautomatic-flatzautomatic-single_modulezautomatic-namespaceúsrc/pkg/__init__.pyzsrc/pkg/main.pyzlib/pkg/__init__.pyzlib/pkg/main.pyÚflatzpkg/__init__.pyzpkg/main.pyÚsingle_moduleúpkg.pyr   zns/pkg/__init__.pyc                ó|   € VP                  R 4      w   r#V P                  V,          pV P                  V,          pWE3# )Ú-)Ú	partitionÚFILESÚOPTIONS)r   ÚcircumstanceÚ_ÚlayoutÚfilesÚoptionss   &&    r!   Ú	_get_infoÚ*TestDiscoverPackagesAndPyModules._get_infoF   s:   € Ø#×-Ñ-¨cÓ2‰ˆˆ1Ø—
‘
˜6Õ"ˆØ—,‘,˜|Õ,ˆØˆ~Ðr$   rF   c                ó„  a	€ V P                  V4      w  r4\        WV4       \        W4      w  rVVP                  P                   Uu. uF"  qwP                  \        P                  R 4      NK$  	  ppV FE  o	\        ;QJ d    V	3R lV 4       F  '       g   K   RM	  RM! V	3R lV 4       4      '       d   KE  Q h	  R# u upi )Ú/c              3   óD   <"  € T F  qP                  S4      x € K  	  R # 5i©N)Úendswith)Ú.0ÚfÚfiles   & €r!   Ú	<genexpr>ÚGTestDiscoverPackagesAndPyModules.test_sdist_filelist.<locals>.<genexpr>U   s   øé € Ð:±¨A—z‘z $×'Ð'³ùs   ƒ TFN)	rK   Ú_populate_project_dirÚ_run_sdist_programaticallyÚfilelistrI   ÚreplaceÚosÚsepÚany)
r   r   rF   rI   rJ   rG   ÚcmdrS   ÚmanifestrT   s
   &&&      @r!   Útest_sdist_filelistÚ4TestDiscoverPackagesAndPyModules.test_sdist_filelistL   s�   ø€ àŸ™¨Ó5‰ˆÜ˜h¨wÔ7ä+¨HÓ>‰ˆà47·L±L×4FÒ4FÓGÑ4F¨q—I‘IœbŸf™f cÖ*Ñ4FˆÐGÛˆDß“3Ô:±Ó:—3—3’3Ô:±Ó:×:Ô:Ð:Ð:ó ùò Hs   Á(B=c                ó¾  € V P                  V4      w  r4\        WV4       VR ,          P                  4        VR,          P                  4        VR,          P                  4        VR,          P                  4        VR,          P                  4        VR,          P                  4        VR,          P                  4        VR,          P                  4        \	        V4       \        \        VP                  R4      4      4      p\        R	4       \        R
P                  V4      4       V\        V4      8¼  g   Q h\        \        VP                  R4      4      4      p\        R4       \        R
P                  V4      4       V Uu0 uF$  qwP                  RR4      P                  RR4      kK&  	  ppWh8¼  g   Q hV F  p	R V9  g   Q hRV9  d   K  Q h	  R# u upi )Úbuildz	build/libzbuild/bdist.linux-x86_64z build/bdist.linux-x86_64/file.pyzbuild/lib/__init__.pyzbuild/lib/file.pyÚdistzdist/file.pyúdist/*.tar.gzú~~~~~ sdist_members ~~~~~Ú
ú
dist/*.whlú~~~~~ wheel_members ~~~~~r'   r   úlib/N)rK   rW   r   r   Ú
_run_buildr   ÚnextÚglobÚprintÚjoinÚsetr   rZ   )
r   r   rF   rI   rJ   Úsdist_filesÚwheel_filesrS   Ú
orig_filesrT   s
   &&&       r!   Útest_projectÚ-TestDiscoverPackagesAndPyModules.test_projectW   sŒ  € àŸ™¨Ó5‰ˆÜ˜h¨wÔ7ð 
�GÕ	×"Ñ"Ô$Ø	�KÕ	×&Ñ&Ô(Ø	Ð.Õ	.×5Ñ5Ô7Ø	Ð6Õ	6×=Ñ=Ô?Ø	Ð+Õ	+×2Ñ2Ô4Ø	Ð'Õ	'×.Ñ.Ô0Ø	�FÕ	×!Ñ!Ô#Ø	�NÕ	"×)Ñ)Ô+ä�8Ôä'¬¨X¯]©]¸?Ó-KÓ(LÓMˆÜÐ)Ô*Üˆd�i‰i˜Ó$Ô%Øœc %›jÔ(Ð(Ð(ä'¬¨X¯]©]¸<Ó-HÓ(IÓJˆÜÐ)Ô*Üˆd�i‰i˜Ó$Ô%ÙINÓOÉÀA—i‘i ¨Ó+×3Ñ3°F¸BÖ?Éˆ
ÐOØÔ(Ð(Ð(ó  ˆDØ %Ô'Ð'Ð'Ø Ö&Ð&Ð&ó  ùò	 Ps   Æ	*Gú	setup.cfgz‡
            [metadata]
            name = myproj
            version = 0.0.0

            [options]
            {param} =
            úsetup.pyz¢
            __import__('setuptools').setup(
                name="myproj",
                version="0.0.0",
                {param}=[]
            )
            úpyproject.tomlzÿ
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'

            [project]
            name = "myproj"
            version = "0.0.0"

            [tool.setuptools]
            {param} = []
            útemplate-pyproject.tomlzv
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'
            c                óÔ  € V P                   V,          . RO,           p\        W/ 4       VR8X  d   VP                  RR4      pM/V P                  R,          pVR,          P	                  VRR7       TpV P                  V,          P                  VR7      pW,          P	                  VRR7       \        V/ 4      p	\        W“4      . 8X  g   Q hRR	R	R/V,          p
\        Wš4      e   Q hR
# )úmod.pyrx   rG   rB   ry   úutf-8©Úencoding)Úparamr;   r    N)r{   zother.pyr=   )rD   rW   rZ   ÚPURPOSEFULLY_EMPYÚ
write_textÚformatÚ	_get_distÚgetattr)r   r   Úconfig_filer   rF   rI   Útemplate_paramÚ	pyprojectÚconfigrd   Úothers   &&&&&      r!   Útest_purposefully_emptyÚ8TestDiscoverPackagesAndPyModules.test_purposefully_empty£   så   € ð —
‘
˜<Õ(Ò+XÕXˆÜ˜h¨rÔ2àÐ*Ô*Ø"Ÿ]™]¨3°Ó4‰Nð ×.Ñ.Ð/HÕIˆIØÐ(Õ(×4Ñ4°YÈÐ4ÔQØ"ˆNà×'Ñ'¨Õ4×;Ñ;À.Ð;ÓQˆØ	Õ	×+Ñ+¨F¸WÐ+ÔEä˜ 2Ó&ˆô �tÓ# rÔ)Ð)Ð)Ø˜z¨:°|ÐDÀUÕKˆÜ�tÓ#Ò+Ð+Ò+r$   Úextra_fileszvenv/bin/simulate_venvzpkg-stubs/__init__.pyiz	pkg-stubszother-stubs/__init__.pyizother-stubsz namespace-stubs/pkg/__init__.pyiúnamespace-stubsz&namespace-stubs/pkg-stubs/__init__.pyiz_hidden/file.pyznews/finalize.pyc                ó¢   € V P                   R ,          V,           p\        W/ 4       \        V/ 4      p\        VP                  4      V8X  g   Q hR# )r>   N)rD   rW   rƒ   rp   r    )r   r   rŒ   ÚpkgsrI   rd   s   &&&&  r!   Ú!test_flat_layout_with_extra_filesÚBTestDiscoverPackagesAndPyModules.test_flat_layout_with_extra_filesÁ   sD   € ð* —
‘
˜6Õ" [Õ0ˆÜ˜h¨rÔ2Ü˜ 2Ó&ˆÜ�4—=‘=Ó! TÔ)Ð)Ò)r$   zother/__init__.pyzother/finalize.pyc                óì   € V P                   R ,          V,           p\        W/ 4       \        P                  ! \        RR7      ;_uu_ 4        \        V/ 4       RRR4       R#   + '       g   i     R# ; i)r>   úmultiple (packages|modules)©ÚmatchN©rD   rW   ÚpytestÚraisesr   rƒ   )r   r   rŒ   rI   s   &&& r!   Ú+test_flat_layout_with_dangerous_extra_filesÚLTestDiscoverPackagesAndPyModules.test_flat_layout_with_dangerous_extra_filesÛ   sN   € ð —
‘
˜6Õ" [Õ0ˆÜ˜h¨rÔ2Ü�]Š]Ô0Ð8U×VÖVÜ�h Ô#÷ W×V×VÒVús   ÁA"Á"A3	c                ó¦   € V P                   R ,          R.,           p\        W/ 4       \        V/ 4      p\        VP                  4      R08X  g   Q hR# )r?   zinvalid-module-name.pyr&   N)rD   rW   rƒ   rp   r;   )r   r   rI   rd   s   &&  r!   Ú#test_flat_layout_with_single_moduleÚDTestDiscoverPackagesAndPyModules.test_flat_layout_with_single_moduleè   sH   € Ø—
‘
˜?Õ+Ð/GÐ.HÕHˆÜ˜h¨rÔ2Ü˜ 2Ó&ˆÜ�4—?‘?Ó#¨ wÔ.Ð.Ò.r$   c                óî   € V P                   R ,          R.,           p\        W/ 4       \        P                  ! \        RR7      ;_uu_ 4        \        V/ 4       RRR4       R#   + '       g   i     R# ; i)r?   zvalid_module_name.pyr“   r”   Nr–   )r   r   rI   s   && r!   Ú&test_flat_layout_with_multiple_modulesÚGTestDiscoverPackagesAndPyModules.test_flat_layout_with_multiple_modulesî   sP   € Ø—
‘
˜?Õ+Ð/EÐ.FÕFˆÜ˜h¨rÔ2Ü�]Š]Ô0Ð8U×VÖVÜ�h Ô#÷ W×V×VÒVús   ÁA#Á#A4	c                ó¦  € ^ RI Hp RpVR,          P                  \        V4      RR7       VR,          P	                  4        \
        P                  P                  4       P                  V4      ;_uu_ 4        VP                  R4       RRR4       \        \        VP                  R	4      4      4      pRV9   g   Q hR#   + '       g   i     L>; i)
zRegression for issue 3692)Ú
build_metaz%[project]
name = "test"
version = "1"rx   r|   r}   zfoo.pyÚ.Nz*.whl)Ú
setuptoolsr¢   r�   r   r   ÚjaracoÚpathÚDirectoryStackÚcontextÚbuild_wheelr   rl   rm   )r   r   r¢   r‡   rr   s   &&   r!   Ú%test_py_modules_when_wheel_dir_is_cwdÚFTestDiscoverPackagesAndPyModules.test_py_modules_when_wheel_dir_is_cwdô   sš   € å)à=ˆ	Ø	Ð$Õ	$×0Ñ0´°i³È7Ð0ÔSØ	�HÕ	×#Ñ#Ô%Ü�[‰[×'Ñ'Ó)×1Ñ1°(×;Õ;Ø×"Ñ" 3Ô'÷ <ô (¬¨X¯]©]¸7Ó-CÓ(DÓEˆØ˜;Ô&Ð&Ò&÷	 <×;ús   Á8C Ã C	r.   N)r…   r   rF   )rv   rw   rx   )rŒ   r�   >   r&   r�   únamespace-stubs.pkg)r/   r0   r1   r2   Ú__doc__rE   rD   rK   r—   ÚmarkÚparametrizeÚkeysr`   rt   r   r€   r   rŠ   r�   r™   rœ   rŸ   rª   r3   r4   r5   s   @r!   r8   r8   +   s‚  ø‡ € ñð 	˜¨¨U¨°ZÀ%ÀÐIØØ˜B ˜;ð
ð 	˜* u gÐ.Ø  <°%°Ð"9Ø˜z¨D°(Ð+;Ð<Ø˜Ø˜"Ø! 2Ø˜rð€Gð 	Ð%Ð'8Ð9ØÐ%Ð'8Ð9ØÐ" MÐ2Ø˜(˜ØÐ*Ð+ð€Eòð ‡[�[×Ñ˜^¨W¯\©\«^Ó<ñ;ó =ð;ð ‡[�[×Ñ˜^¨W¯\©\«^Ó<ñ'ó =ð'ðB 	‘Tðó	
ð 	‘Dðó
ð 	™$ðó
ð 	"¡4ðó$
ðE)ÐðV ‡[�[×ÑØ0ÙÚ7Ø˜Ð&Ø�J‰J‹Ló	
óñ,óð,ð, ‡[�[×ÑØà&Ð'¨%¨Ð1Ø&Ð'¨%°Ð)=Ð>Ø(Ð)¨E°=Ð+AÐBð 4Ð4ÚAðð :Ð:ØÐ)Ð*ðð
  Ð  5 'Ð*Ø Ð! E 7Ð+ð	
óñ(*ó)ð(*ð ‡[�[×ÑØà Ð!Ø Ð!ð	
óñ$óð$ò/ò$÷'ð 'r$   r8   c                   ó¶   a € ] tR tRt o RtRR.RR.RRR	.R
RR.RR.RR./t]P                  P                  R]P                  4       4      R 4       t
R tRtV tR# )ÚTestNoConfigi  z0.0.0r(   zsrc/pkg1.pyr)   zsrc/pkg2/__init__.pyÚpkg3zsrc/pkg3/__init__.pyzsrc/pkg3-stubs/__init__.pyÚpkg4zpkg4/__init__.pyzpkg4-stubs/__init__.pyzns.nested.pkg1zsrc/ns/nested/pkg1/__init__.pyzns.nested.pkg2zns/nested/pkg2/__init__.pyÚexamplec                ó†   € \        WP                  V,          / 4       \        V/ 4      pVP                  4       V8X  g   Q hR # rP   )rW   ÚEXAMPLESrƒ   Úget_name)r   r   rµ   rd   s   &&& r!   Útest_discover_nameÚTestNoConfig.test_discover_name  s5   € ä˜h¯©°gÕ(>ÀÔCÜ˜ 2Ó&ˆØ�}‰}‹ 'Ô)Ð)Ò)r$   c                óš   € R .p\        W/ 4       \        VR4       VRV P                   R2,          pVP                  4       '       g   Q hR# )zsrc/ns/nested/pkg/__init__.pyú--sdistzdist/ns_nested_pkg-z.tar.gzN)rW   rk   ÚDEFAULT_VERSIONÚis_file)r   r   rI   Ú	dist_files   &&  r!   Útest_build_with_discovered_nameÚ,TestNoConfig.test_build_with_discovered_name  sN   € Ø0Ð1ˆÜ˜h¨rÔ2Ü�8˜YÔ'àÐ!4°T×5IÑ5IÐ4JÈ'ÐRÕRˆ	Ø× Ñ ×"Ò"Ð"Ò"r$   r.   N)r/   r0   r1   r2   r½   r·   r—   r®   r¯   r°   r¹   rÀ   r3   r4   r5   s   @r!   r²   r²     s‚   ø‡ € Ø€Oð 	��ØÐ'Ð(ØÐ'Ð)EÐFØÐ#Ð%=Ð>ØÐ;Ð<ØÐ7Ð8ð€Hð ‡[�[×Ñ˜Y¨¯©«Ó8ñ*ó 9ð*÷
#ð #r$   r²   c            
       ó‚   a € ] tR tRt o ]P
                  P                  RR/ 3RRRRRR//3.4      R 4       tR	 tR
t	V t
R# )ÚTestWithAttrDirectivei  r   r:   r    zfind:úpackages.findÚwherec                ór  € V R 2R.p\        WV4       VR,          P                  RR7      pVRRR//RRV,           /p\        P                  P	                  WaR7       \        V/ 4      pVP                  4       R8X  g   Q hVP                  4       R	8X  g   Q hVP                  '       g   Q h\        RVP                  V4      p\        P                  P                  V4      '       g   Q hV\        V4      P                  4       9   g   Q h\        VR
4       VR,          p	V	P                  4       '       g   Q hR# )z/pkg/__init__.pyrv   r|   r}   r&   ú__init__.pyúversion = 42z'[metadata]
version = attr: pkg.version
©ÚprefixÚ42r¼   zdist/pkg-42.tar.gzN)rW   Ú	read_textr¥   r¦   rc   rƒ   r¸   Úget_versionr9   r   r[   Úexistsr   Úpartsrk   r¾   )
r   r   ÚfolderÚoptsrI   rˆ   Ú	overwriterd   Úpackage_pathr¿   s
   &&&&      r!   Útest_setupcfg_metadataÚ,TestWithAttrDirective.test_setupcfg_metadata  s,  € ð �8Ð+Ð,¨kÐ:ˆÜ˜h¨tÔ4à˜[Õ(×3Ñ3¸WÐ3ÓEˆà�U˜]¨NÐ;Ð<ØÐDÀvÕMð
ˆ	ô 	�‰×Ñ˜)ÐÔ5ä˜ 2Ó&ˆØ�}‰}‹ %Ô'Ð'Ð'Ø×ÑÓ! TÔ)Ð)Ð)Ø××ÐÐÐÜ(¨°×0@Ñ0@À(ÓKˆÜ�w‰w�~‰~˜l×+Ò+Ð+Ð+Øœ˜lÓ+×1Ñ1Ó3Ô3Ð3Ð3ä�8˜YÔ'ØÐ3Õ3ˆ	Ø× Ñ ×"Ò"Ð"Ò"r$   c                óæ   € \        VR ./ 4       RRRR//RR/p\        P                  P                  W!R7       \	        V/ 4      pVP                  4       R8X  g   Q hVP                  R	R/8X  g   Q hR
# )r=   r   r&   rÇ   rÈ   rx   zh[project]
name = 'pkg'
dynamic = ['version']
[tool.setuptools.dynamic]
version = {attr = 'pkg.version'}
rÉ   rË   r   N)rW   r¥   r¦   rc   rƒ   rÍ   r9   )r   r   rÒ   rd   s   &&  r!   Útest_pyproject_metadataÚ-TestWithAttrDirective.test_pyproject_metadata<  s…   € Ü˜hÐ)>Ð(?ÀÔDð �E˜M¨>Ð:Ð;ØðPð
ˆ	ô 	�‰×Ñ˜)ÐÔ5ä˜ 2Ó&ˆØ×ÑÓ! TÔ)Ð)Ð)Ø×Ñ B¨ ;Ô.Ð.Ò.r$   r.   N)rÐ   rÑ   )r/   r0   r1   r2   r—   r®   r¯   rÔ   r×   r3   r4   r5   s   @r!   rÃ   rÃ     sU   ø‡ € Ø‡[�[×ÑØà�BˆKØ�Z ¨/¸GÀUÐ;KÐLÐMð	
óñ#óð#÷./ð /r$   rÃ   c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )ÚTestWithCExtensioniM  c                óp   € . ROp\        W/ 4       RpVR,          P                  \        V4      RR7       R# )úbenchmarks/file.pya^  
            from setuptools import Extension, setup

            ext_modules = [
                Extension(
                    "proj",
                    ["py/proj.cpp", "py/other.cpp"],
                    include_dirs=["."],
                    language="c++",
                ),
            ]
            setup(ext_modules=ext_modules)
        rw   r|   r}   N)rÜ   zdocs/Makefilezdocs/requirements.txtzdocs/source/conf.pyzproj/header.hzproj/file.pyzpy/proj.cppzpy/other.cppz
py/file.pyzpy/py.typedzpy/tests/test_proj.pyz
README.rst©rW   r�   r   )r   r   rI   Úsetup_scripts   &&  r!   Ú _simulate_package_with_extensionÚ3TestWithCExtension._simulate_package_with_extensionN  s;   € ò
ˆô 	˜h¨rÔ2ðˆð 
�JÕ	×*Ñ*¬4°Ó+=ÈÐ*ÖPr$   c                óð  € V P                  V4       RpVR,          P                  \        V4      RR7       RpVR,          P                  \        V4      RR7       \        V/ 4      pVP	                  4       R8X  g   Q hVP                  4       R8X  g   Q hVP                  e   Q hVP                  e   Q h\        VP                  4      ^8X  g   Q hVP                  ^ ,          P                  R8X  g   Q hR	# )
zxEnsure that auto-discovery is not triggered when the project is based on
C-extensions only, for backward compatibility.
zr
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'
        rx   r|   r}   zQ
            [metadata]
            name = proj
            version = 42
        rv   ÚprojrË   N)rß   r�   r   rƒ   r¸   rÍ   r;   r    ÚlenÚext_modulesr+   )r   r   r‡   Úsetupcfgrd   s   &&   r!   Ú*test_skip_discovery_with_setupcfg_metadataÚ=TestWithCExtension.test_skip_discovery_with_setupcfg_metadatao  sì   € ð 	×-Ñ-¨hÔ7ðˆ	ð
 
Ð$Õ	$×0Ñ0´°i³È7Ð0ÔSðˆð
 
�KÕ	×+Ñ+¬D°«NÀWÐ+ÔMä˜ 2Ó&ˆØ�}‰}‹ &Ô(Ð(Ð(Ø×ÑÓ! TÔ)Ð)Ð)Ø�‰Ò&Ð&Ð&Ø�}‰}Ò$Ð$Ð$Ü�4×#Ñ#Ó$¨Ô)Ð)Ð)Ø×Ñ Õ"×'Ñ'¨6Ô1Ð1Ò1r$   c                ó  € V P                  V4       RpVR,          P                  \        V4      RR7       \        P                  ! \
        RR7      ;_uu_ 4        \        V/ 4       RRR4       R#   + '       g   i     R# ; i)af  When opting-in to pyproject.toml metadata, auto-discovery will be active if
the package lists C-extensions, but does not configure py-modules or packages.

This way we ensure users with complex package layouts that would lead to the
discovery of multiple top-level modules/packages see errors and are forced to
explicitly set ``packages`` or ``py-modules``.
zT
            [project]
            name = 'proj'
            version = '42'
        rx   r|   r}   r“   r”   N)rß   r�   r   r—   r˜   r   rƒ   )r   r   r‡   s   && r!   Ú0test_dont_skip_discovery_with_pyproject_metadataÚCTestWithCExtension.test_dont_skip_discovery_with_pyproject_metadata‹  se   € ð 	×-Ñ-¨hÔ7ðˆ	ð
 
Ð$Õ	$×0Ñ0´°i³È7Ð0ÔSÜ�]Š]Ô0Ð8U×VÖVÜ�h Ô#÷ W×V×VÒVús   ÁA2Á2B	r.   N)	r/   r0   r1   r2   rß   ræ   ré   r3   r4   r5   s   @r!   rÚ   rÚ   M  s   ø‡ € òQòB2÷8$ð $r$   rÚ   c                   ó.  a € ] tR tRt o R tRtRtRt]P                  P                  RRR]! ]4      /3RR]! ]4      /3R	R]! ]4      /3R	R]! ]4      /3R	R]! ]4      ]! R
4      ,           /3R	R]! ]4      ]! R4      ,           /3.4      R 4       tRtV tR# )ÚTestWithPackageDataiŸ  c                ó„   € V R 2V R2V R2.p\        W/ 4       RpVR,          P                  \        V4      RR7       R# )z/proj/__init__.pyú/proj/file1.txtú/proj/nested/file2.txtz/
            global-include *.py *.txt
        zMANIFEST.inr|   r}   NrÝ   )r   r   Úsrc_rootrI   r_   s   &&&  r!   Ú!_simulate_package_with_data_filesÚ5TestWithPackageData._simulate_package_with_data_files   sZ   € àˆjÐ)Ð*Øˆj˜Ð(ØˆjÐ.Ð/ð
ˆô
 	˜h¨rÔ2ðˆð 
�MÕ	!×-Ñ-¬d°8«nÀwÐ-ÖOr$   zd
    [metadata]
    name = proj
    version = 42

    [options]
    include_package_data = True
    z8
    [project]
    name = "proj"
    version = "42"
    z:
    [tool.setuptools]
    package-dir = {"" = "src"}
    r£   rv   rx   r   zÞ
                        packages = find:
                        package_dir =
                            =src

                        [options.packages.find]
                        where = src
                        zv
                        [tool.setuptools]
                        package-dir = {"" = "src"}
                        c                ó<  € \         P                  P                  V\        V4      R7       V P	                  W4       \
        P                  P                  V R24      P                  \
        P                  R4      \
        P                  P                  V R24      P                  \
        P                  R4      0p\        V4       \        \        VP                  R4      4      4      p\        R4       \        RP                  V4      4       WT8¼  g   Q h\        \        VP                  R4      4      4      p\        R	4       \        RP                  V4      4       V Uu0 uF$  qwP                  R
R4      P                  RR4      kK&  	  ppWh8¼  g   Q hR# u upi )zY
Make sure auto-discovery does not affect package include_package_data.
See issue #3196.
rÉ   rî   rN   rï   re   rf   rg   rh   ri   r'   r   rj   N)r¥   r¦   rc   Ústrrñ   r[   ÚnormpathrZ   r\   rk   r   rl   rm   rn   ro   r   )	r   r   rð   rI   Úexpectedrq   rr   rS   rs   s	   &&&&     r!   Útest_include_package_dataÚ-TestWithPackageData.test_include_package_dataÀ  sC  € ôT 	�‰×Ñ˜%¬¨H«ÐÔ6Ø×.Ñ.¨xÔBô �G‰G×Ñ ˜z¨Ð9Ó:×BÑBÄ2Ç6Á6È3ÓOÜ�G‰G×Ñ ˜zÐ)?Ð@ÓA×IÑIÌ"Ï&É&ÐRUÓVð
ˆô
 	�8Ôä'¬¨X¯]©]¸?Ó-KÓ(LÓMˆÜÐ)Ô*Üˆd�i‰i˜Ó$Ô%ØÔ&Ð&Ð&ä'¬¨X¯]©]¸<Ó-HÓ(IÓJˆÜÐ)Ô*Üˆd�i‰i˜Ó$Ô%ÙIQÓRÉÀA—i‘i ¨Ó+×3Ñ3°F¸BÖ?Éˆ
ÐRØÔ(Ð(Ò(ùò Ss   Å#*Fr.   N)rð   rI   )r/   r0   r1   r2   rñ   ÚEXAMPLE_SETUPCFGÚEXAMPLE_PYPROJECTÚPYPROJECT_PACKAGE_DIRr—   r®   r¯   r   r÷   r3   r4   r5   s   @r!   rì   rì   Ÿ  sõ   ø‡ € òPðÐðÐðÐð
 ‡[�[×ÑØà�;¡Ð%5Ó 6Ð7Ð8ØÐ#¡TÐ*;Ó%<Ð=Ð>Ø�[¡$Ð'7Ó"8Ð9Ð:ØÐ%¡tÐ,=Ó'>Ð?Ð@àà¡Ð&6Ó!7Ùðó	õ
"ððð" à$¡dÐ+<Ó&=Ùðóõ'ððð+!	
ó$ñJ)óK$öJ)r$   rì   c                 óº   € . ROp\        W/ 4       \        / 4      p\        4       Vn        VP	                  4        VP
                  e   Q hVP                  e   Q hR# )údir1/__init__.pyN)rý   zdir2/__init__.pyzfile.py)rW   r
   ÚobjectÚconfigurationÚset_defaultsr;   r    )r   rI   rd   s   &  r!   Ú(test_compatible_with_numpy_configurationr     sU   € ò€Eô
 ˜(¨2Ô.Ü˜Ó€DÜ›€DÔØ×ÑÔØ�?‰?Ò"Ð"Ð"Ø�=‰=Ò Ð Ò r$   c                 óÜ   € \         P                  P                  R R/4       \        / 4      pR.Vn        VP                  4        VP                  4        VP                  4       R8X  g   Q hR# )r@   r   z--namer&   N)r¥   r¦   rc   r
   Úscript_argsr   Úparse_command_liner¸   )Ú
tmpdir_cwdrd   s   & r!   Ú$test_name_discovery_doesnt_break_clir    sX   € Ü
‡K�K×Ñ�x �nÔ%Ü˜Ó€DØ �z€DÔØ×ÑÔØ×ÑÔØ�=‰=‹?˜eÔ#Ð#Ò#r$   c                ó€  aa€ RRRR//R\        R4      /p\        P                  P                  V4       \	        / 4      oSP
                  P                  oVV3R lpVP                  SP
                  RV4       SP                  4        SP                  4       R	8X  g   Q h\        SP                  4      R08X  g   Q hR
# )zúAccording to #3545 it seems that ``name`` discovery is running,
even when the project already explicitly sets it.
This seems to be related to parsing of dynamic versions (via ``attr`` directive),
which requires the auto-discovery of ``package_dir``.
r   r&   rÇ   z__version__ = 42
rx   zæ
            [project]
            name = "myproj"  # purposefully different from package name
            dynamic = ["version"]
            [tool.setuptools.dynamic]
            version = {"attr" = "pkg.__version__"}
            c                  óD   <€ S! 4        S P                  4       R 8X  g   Q hR# )ÚmyprojN)r¸   )rd   Úorig_analyse_names   €€r!   Úspy_analyse_nameÚJtest_preserve_explicit_name_with_dynamic_version.<locals>.spy_analyse_name/  s   ø€ ñ 	ÔØ�}‰}‹ (Ô*Ð*Ò*r$   Úanalyse_namerË   N)r   r¥   r¦   rc   r
   r   r  ÚsetattrÚparse_config_filesrÍ   rp   r    )r  ÚmonkeypatchrI   r  rd   r
  s   &&  @@r!   Ú0test_preserve_explicit_name_with_dynamic_versionr    s¼   ù€ ð 	Ø�MÐ#7Ð8ð
ð 	œ$ðó
ð	€Eô ‡K�K×Ñ�eÔÜ˜Ó€DØ×)Ñ)×6Ñ6Ðö+ð ×Ñ˜×)Ñ)¨>Ð;KÔLØ×ÑÔØ×ÑÓ Ô%Ð%Ð%Üˆt�}‰}Ó % Ô(Ð(Ò(r$   c                 óö   a € R RRRRR/p\         P                  P                  VS R7       \        S V4       V 3R lV 4       pV F0  pVP                  P                  RRR	7       VP                  4        K2  	  R
# )rw   z$import setuptools
setuptools.setup()z	README.mdz# Example PackageÚLICENSEzCopyright (c) 2018rÉ   c              3   ó6   <"  € T F  pSV,          x € K  	  R # 5irP   r.   )rR   rS   Úroots   & €r!   rU   Ú(_populate_project_dir.<locals>.<genexpr>F  s   øé € Ð%™u˜!ˆT�A�XŠX›uùs   ƒTr   N)r¥   r¦   rc   Ú_write_setupcfgÚparentr   r   )r  rI   rJ   ÚbasicÚpathsr¦   s   f&&   r!   rW   rW   ;  su   ø€ ð
 	Ð;ØÐ(ØÐ'ð€Eô
 ‡K�K×Ñ�e DÐÔ)Ü�D˜'Ô"Ü%™uÓ%€EÛˆØ�‰×Ñ 4°ÐÔ6Ø�
‰
Žó r$   c                 ó(  € V'       g   \        R 4       R# \        4       pVP                  R4       VP                  4        FÖ  w  r4VR8X  d2   VP                  RV 24       VRV 2,          P	                  V4       K=  \        V\        4      '       d   RP                  V4      VR,          V&   Kp  \        V\        4      '       d<   RP                  R VP                  4        4       4      pRV,           VR,          V&   KÁ  \        V4      VR,          V&   KØ  	  \        V R,          R	R
R7      ;_uu_ 4       pVP                  V4       RRR4       \        R4       \        V R,          P                  R
R7      4       R#   + '       g   i     L?; i)z~~~~~ **NO** setup.cfg ~~~~~NrJ   rÄ   zoptions.z, rg   c              3   ó6   "  € T F  w  rR V RV 2x € K  	  R# 5i)Ú	z = Nr.   )rR   ÚkÚvs   &  r!   rU   Ú"_write_setupcfg.<locals>.<genexpr>Y  s   é € Ð!K¹]±T°Q B q c¨¨Q¨C¥.»]ùs   ‚rv   Úwr|   r}   z~~~~~ setup.cfg ~~~~~)rn   r   Úadd_sectionÚitemsÚupdateÚ
isinstanceÚlistro   Údictrô   ÚopenÚwriterÌ   )r  rJ   rå   ÚkeyÚvalueÚ	str_valuerS   s   &&     r!   r  r  L  s8  € ßÜÐ,Ô-ÙÜ‹~€HØ×Ñ˜Ô#Ø—m‘m–o‰
ˆØ�/Ô!Ø× Ñ  8¨C¨5Ð!1Ô2Ø�x ˜uÐ%Õ&×-Ñ-¨eÖ4Ü˜œt×$Ò$Ø'+§y¡y°Ó'7ˆH�YÕ Ó$Ü˜œt×$Ò$ØŸ	™	Ñ!K¸U¿[¹[¼]Ó!KÓKˆIØ'+¨iÕ'7ˆH�YÕ Ó$ä'*¨5£zˆH�YÕ Ó$ñ &ô 
ˆd�[Õ  #°×	8Õ	8¸AØ�‰�qÔ÷ 
9ä	Ð
!Ô"Ü	ˆ4�+Õ×
(Ñ
(°'Ð
(Ó
:Ö;÷ 
9×	8ús   Ä8FÆF	c                 ób   € \         P                  R RR.VO\        V 4      Np\        VRR/R7      # )z-mrc   z--no-isolationÚDISTUTILS_DEBUGr   )Úenv)ÚsysÚ
executablerô   r   )r¦   Úflagsr^   s   &* r!   rk   rk   c  s6   € Ü�>‰>˜4 Ð*:Ð
N¸UÐ
NÄCÈÃIÐ
N€CÜˆsÐ*¨BÐ/Ô0Ð0r$   c                 ó0  € R P                  \        P                  P                  V 4      4      pV R,          pVP	                  4       '       dN   \        V 4      ;_uu_ 4        \        \        \        P                  P                  R/ RR7      4      pRRR4       M\        V4      pVXn        RVn        \        V 4      ;_uu_ 4        VP                  4        RRR4       VP                  4        V#   + '       g   i     L\; i  + '       g   i     L5; i)rN   rw   Úinit)Ú
stop_afterN)ro   r[   r¦   ÚsplitrÎ   r   r   r
   Ú	distutilsÚcoreÚ	run_setuprð   Úscript_namer  r   )Ú	dist_pathÚattrsr  Úscriptrd   s   &&   r!   rƒ   rƒ   h  sÀ   € Ø�8‰8”B—G‘G—M‘M )Ó,Ó-€Dà˜Õ#€FØ‡}�}‡‚Ü�)�_�_ÜÜÜ—‘×(Ñ(¨°RÀFÐ(ÓKóˆD÷ ˆ_ô ˜EÓ"ˆà€D„MØ!€DÔÜ	ˆi��Ø×ÑÔ!÷ 
ð 	×ÑÔØ€K÷ �_ú÷ 
�ús   Á!1C2ÃDÃ2D	ÄD	c           	      ó¦  € \        W4      p\        V4      pVP                  4        VP                  P                  '       g   VP                  P
                  '       g   Q h\        4       ;_uu_ 4        \        V 4      ;_uu_ 4        VP                  4        R R R 4       R R R 4       W#3#   + '       g   i     L; i  + '       g   i     Y#3# ; irP   )	rƒ   r   Úensure_finalizedÚdistributionr    r;   r   r   r   )r;  r<  rd   r^   s   &&  r!   rX   rX   ~  sŠ   € Ü�YÓ&€DÜ
�‹+€CØ×ÑÔØ×Ñ×$×$Ð$¨×(8Ñ(8×(C×(CÐ(CÐCÐCä	��”$�y—/•/Ø�‰Œ	÷ "�ð ˆ9Ð÷ "—/ú�Žð ˆ9Ðús$   Á3B>ÂB+	ÂB>Â+B;Â6B>Â>C	)/r[   r0  Úconfigparserr   Ú	itertoolsr   Útypingr   Újaraco.pathr¥   r—   r¦   r   r¤   Úsetuptools.command.sdistr   Úsetuptools.discoveryr   r	   Úsetuptools.distr
   Úsetuptools.errorsr   Úcontextsr   Úintegration.helpersr   r   r   Útextwrapr   Údistutils.corer7  r   r8   r²   rÃ   rÚ   rì   r  r  r  rW   r  rk   rƒ   rX   r.   r$   r!   Ú<module>rM     s¬   ðÛ 	Û 
Ý %Ý Ý ã Û Ý ã Ý *ß GÝ (Ý 3å ß JÑ JÝ ã ÷Lñ L÷&T'ñ T'÷n#ñ #÷6-/ñ -/÷`O$ñ O$÷d^)ñ ^)òB!ò$ò!)òHò"<ò.1ò
ô,	r$   