
    vKg                        S SK r S SKrS SKJr  S SKrS SKJr  S SKJr  S SK	J
r
  S rS rS r " S	 S
5      r\R                  R!                  SSS0SSS4SS0SSS40 SSS40 SSS4/5      S 5       r\R                  R!                  SS/SS.SS 14SS!/SS.1 S"k4S#S$01 S%k40 1 S%k4/5      S& 5       r\R                  R!                  S'S(S)/S/0 4S(S*/S/0 4S+S,/S/SS04S+S-/S/SS04S.S//S0S1/S2S3S4.4S+S*/SS/S5S604/5      S7 5       rg)8    N)Path)expand)find_package_path)DistutilsOptionErrorc                     U R                  5        H3  u  p#X-  nUR                  R                  SSS9  UR                  USS9  M5     g )NT)exist_okparentszutf-8)encoding)itemsparentmkdir
write_text)filesroot_dirfilecontentpaths        c/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/tests/config/test_expand.pywrite_filesr      sB    46'2 '    c                    1 Skn[        U Vs0 sH  o3S_M     snU 5        / SQnUR                  U 5        [        [        R                  " U5      5      U:X  d   e[        [        R                  " X@5      5      U:X  d   eg s  snf )N>   a.inib.ini
dir1/c.inidir1/file3.txtdir1/dir2/a.inidir1/dir2/file2.txtdir1/dir2/dir3/file1.txt )z**/*.txtz[ab].*z**/[ac].ini)r   chdirsetr   glob_relative)tmp_pathmonkeypatchr   kpatternss        r   test_glob_relativer'      sz    E &1B&14Hhv##H-.%777v##H78EAAA 's   Bc                    U S-  nU S-  R                  SS9  U S-  R                  5         SSSS	.n[        X25        [        [	        U5      S
-   5      nUR                  SS9  [        SS0U5        UR                  5        nUR                  U5        [        R                  " [        U5      5      S:X  d   eSn[        R                  " [        US9   [        R                  " S/5        S S S 5        Sn[        R                  " [        US9   [        R                  " S/5        S S S 5        S S S 5        [        R                  " [        U5      U5      S:X  d   e[        R                  " [        WS9   [        R                  " S/U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Ndir__dirT)r   a.txtabc)r+   z
dir1/b.txtzdir1/dir2/c.txtsecretszsecrets.txtzsecret keysza
b
czCannot access '.*\.\..a\.txt')matchz../a.txtzCannot access '.*secrets\.txt'z../dir_secrets/secrets.txt)r   touchr   r   strcontextr    r   
read_fileslistpytestraisesr   )r#   r$   r)   r   r/   mcannot_access_msgcannot_access_secrets_msgs           r   test_read_filesr;   '   s   fDt, EE3t9y()GMM4M .8				!	  e-:::<]]/7HIzl+ J %F!]]/7PQ;<= R 
 T%[$/9<<<	+3D	E:,- 
F	E JI RQ 
	 
F	EsI    AF8F*#F8F'%F84G	
F$	 F8'
F5	1F88
G	
Gc                       \ rS rSr\R
                  R                  S/ SQ5      S 5       rS r\R
                  R                  SSS/5      S 5       r	S	 r
S
rg)TestReadAttrD   example)s'   __version__ = 'é'
raise SystemExit(1)
s?   # -*- coding: utf-8 -*-
__version__ = 'é'
raise SystemExit(1)
s?   # -*- coding: latin1 -*-
__version__ = ''
raise SystemExit(1)
c                 b    US-  R                  U5        [        R                  " SUS9S:X  d   eg )Nzmod.pyzmod.__version__r      é)write_bytesr   	read_attr)selfr?   r#   s      r   test_read_attr_encoding_cookie+TestReadAttr.test_read_attr_encoding_cookieE   s3     
H	))'2 1HEMMMr   c                    SSSS.n[        X15        UR                  5        nUR                  U5        [        R                  " S5      S:X  d   e[        R                  " SSS	05      nS S S 5        WS
   S:X  d   eUS   S1:X  d   e[        R                  " SUS9S:X  d   e[        R                  " SSS	0U5      nUS   S:X  d   eg ! , (       d  f       Nf= f)Nr   zVERSION = '0.1.1'z@VALUES = {'a': 0, 'b': {42}, 'c': (0, 1, 1)}
raise SystemExit(1))pkg/__init__.pypkg/sub/__init__.pyzpkg/sub/mod.pypkg.sub.VERSION0.1.1zlib.mod.VALUESlibzpkg/subr,   r   r-   *   rA   r.   )r      rO   )r   r3   r    r   rD   )rE   r#   r$   r   r8   valuess         r   test_read_attrTestReadAttr.test_read_attrS   s    !#6S	
 	E$  "aGGH##$56'AAA%%&6	8JKF	 # c{ac{rd"""  1HEPPP!!"2UI4FQc{i''' #"s   AC		
Cz3VERSION: str
VERSION = '0.1.1'
raise SystemExit(1)
z+VERSION: str = '0.1.1'
raise SystemExit(1)
c                 Z    SUS.n[        X15        [        R                  " SUS9S:X  d   eg )Nr   )rI   rJ   rK   rA   rL   r   r   rD   )rE   r#   r?   r   s       r   test_read_annotated_attr%TestReadAttr.test_read_annotated_attrk   s7      "#*
 	E$ 1HEPPPr   c                 l    SSSS.n[        X!5        SnSS0n[        R                  " X4U5      S:X  d   eg	)
a  
Sometimes the import machinery will import the parent package of a nested
module, which triggers side-effects and might create problems (see issue #3176)

``read_attr`` should bypass these limitations by resolving modules statically
(via ast.literal_eval).
z1from .main import func
from .about import versionz2import super_complicated_dep
def func(): return 42zversion = '42')zsrc/pkg/__init__.pysrc/pkg/main.pyzsrc/pkg/about.pyzpkg.about.versionr   src42NrT   )rE   r#   r   	attr_descpackage_dirs        r   test_import_orderTestReadAttr.test_import_order{   sH     $XT 0

 	E$'	5k	ATIIIr    N)__name__
__module____qualname____firstlineno__r6   markparametrizerF   rQ   rU   r]   __static_attributes__r_   r   r   r=   r=   D   sk    [[	
	N	N(0 [[D;	
QQJr   r=   )r\   r   modulereturn_valuer   rY   rX   zpkg.mainrN   pkgrM   zlib/main.py   zsingle_module.pysingle_moduleF   zflat_layout/pkg.pyzflat_layout.pkgiD  c                     U R                  [        S0 5        USU 30n[        Xa5        [        R                  " U S3X!5      nU" 5       R                  5       U:X  d   eg )Nmodulesz,class Custom:
    def testing(self): return z.Custom)setattrsysr   r   resolve_classtesting)r$   r#   r\   r   rg   rh   r   clss           r   test_resolve_classrt      s_     Y+B<.QRE 


&1;
IC5==?l***r   )argspkgs.F)where
namespacesotherdir1>   ri   dir2rz   ry   T>   ri   r{   rz   	dir1.dir2c                 N   1 Skn[        U Vs0 sH  oDS_M     snU 5        0 nXS.UEnUR                  SS/5      n[        [        R                  " S0 UD65      U:X  d   eU H5  n[        XU 5      n	[        R                  R                  U	5      (       a  M5   e   UR                  SS/5       V
s/ sH<  n
[        X
-  R                  5       5      R                  [        R                  S5      PM>     nn
[        [        R                  " SSU0UD65      U:X  d   eg s  snf s  sn
f )N>   rI   other/__init__.pydir1/dir2/__init__.pyr   )r   fill_package_dirrx   rw   /r_   )r   getr!   r   find_packagesr   osr   existspopr2   resolvereplacesep)r#   ru   rv   r   r%   r\   kwargsrx   ri   pkg_pathps              r   test_find_packagesr      s   E
 &1B&1K"LtLFJJw&Ev##-f-.$666$Sx@ww~~h''''  'C5))A 	X\""$%--bffc:) 
 
 v##8%8489TAAA! 's   D1AD")r   rx   expected_package_dirzpkg1/__init__.pyzpkg1/other.pyzpkg2/__init__.pyzsrc/pkg1/__init__.pyzsrc/pkg1/other.pyzsrc/pkg2/__init__.pyzsrc1/pkg1/__init__.pyzsrc2/pkg2/__init__.pysrc1src2z	src1/pkg1z	src2/pkg2)pkg1pkg2r   zsrc/pkg1c                 f   [        U Vs0 sH  oDS_M     snU 5        0 nXSS.n[        R                  " SSU0UD6n[        UR	                  5       5      [        UR	                  5       5      :X  d   eU H5  n[        XU 5      n	[        R                  R                  U	5      (       a  M5   e   g s  snf )Nr   F)r   r   ry   rx   r_   )	r   r   r   r!   r   r   r   r   r   )
r#   r   rx   r   r%   pkg_dirr   rv   ri   r   s
             r   test_fill_package_dirr      s    ( &1B&1G"uUF6e6v6Dw}}3';'A'A'C#DDDD$S8<ww~~h''''  's   B.)r   rp   pathlibr   r6   setuptools.configr   setuptools.discoveryr   distutils.errorsr   r   r'   r;   r=   rd   re   rt   r   r   r_   r   r   <module>r      s   	 
   $ 2 13B&.:HJ HJV 5
e'R8

B7	"5	!#4c:	++ 5	.0@A=	68PQ
	DE	23	BB2 .
o	.r:
0	1C5"=
 "5	6"eM
 "8	9E7RKP$&=>V +6	
 $%78CLZ 	
&('&(r   