
    ,h"                     "   d dl Z d dlZd dlmZ d dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d Zd Zd	 Z G d
 d      Zej"                  j%                  dddidddfddidddfi dddfi dddfg      d        Zej"                  j%                  ddgdd dd!hfdd"gdd h d#fd$d%ih d&fi h d&fg      d'        Zej"                  j%                  d(d)d*gdgi fd)d+gdgi fd,d-gdgddifd,d.gdgddifd/d0gd1d2gd3d4d5fd,d+gddgd6d7ifg      d8        Zy)9    N)Path)	is_static)expand)find_package_path)DistutilsOptionErrorc                     | j                         D ]:  \  }}||z  }|j                  j                  dd       |j                  |d       < y )NT)exist_okparentszutf-8)encoding)itemsparentmkdir
write_text)filesroot_dirfilecontentpaths        e/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/setuptools/tests/config/test_expand.pywrite_filesr      sK     3g$46'23    c                    h d}t        |D ci c]  }|d c}|        g d}|j                  |        t        t        j                  |            |k(  sJ t        t        j                  ||             |k(  sJ y c c}w )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(      sw    E &1B&14Hhv##H-.%77v##Hh78EAAA 's   
A=c                    | dz  }| dz  j                  d       | dz  j                          dddd	}t        ||       t        t	        |      d
z         }|j                  d       t        ddi|       |j                         5 }|j                  |       t        j                  t        |            dk(  sJ d}t        j                  t        |      5  t        j                  dg       d d d        d}t        j                  t        |      5  t        j                  dg       d d d        d d d        t        j                  t        |      |      dk(  sJ t        j                  t              5  t        j                  dg|       d d d        y # 1 sw Y   xY w# 1 sw Y   }xY w# 1 sw Y   xY w# 1 sw Y   y xY w)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   r0   mcannot_access_msgcannot_access_secrets_msgs           r   test_read_filesr<   (   s   fDt, EEt3t9y()GMM4M .8				 
>!	  e-::<]]/7HI 	,zl+	, %F!]]/7PQ 	>;<=	>
> T%[$/9<<	+3D	E .:,-. .	, 	,	> 	>
> 
>. .sI   AF4F0%F4F(,F4;G F%	!F4(F1	-F44F= G	c                       e Zd Zej                  j                  dg d      d        Zd Zej                  j                  dddg      d        Zej                  j                  dg d      d	        Z	d
 Z
y)TestReadAttrexample)s'   __version__ = 'é'
raise SystemExit(1)
s?   # -*- coding: utf-8 -*-
__version__ = 'é'
raise SystemExit(1)
s?   # -*- coding: latin1 -*-
__version__ = ''
raise SystemExit(1)
c                 d    |dz  j                  |       t        j                  d|      dk(  sJ y )Nzmod.pyzmod.__version__r      é)write_bytesr   	read_attr)selfr?   r$   s      r   test_read_attr_encoding_cookiez+TestReadAttr.test_read_attr_encoding_cookieF   s3     
H	))'2 1HEMMMr   c                    dddd}t        ||       |j                         5 }|j                  |       t        j                  d      }t        j                  dddi      }d d d        d	k(  sJ t              sJ |d
   dk(  sJ |d   dhk(  sJ t        |      sJ t        j                  d|      d	k(  sJ t        j                  dddi|      }|d   dk(  sJ y # 1 sw Y   xY w)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.VERSIONzlib.mod.VALUESlibzpkg/sub0.1.1r-   r   r.   *   rA   r/   )r      rN   )r   r4   r!   r   rD   r   )rE   r$   r%   r   r9   versionvaluess          r   test_read_attrzTestReadAttr.test_read_attrT   s   !#6S	
 	E8$  " 	LaGGH&&'89G%%&6	8JKF		L '!!  c{ac{rd""    1HEPP!!"2UI4FQc{i'''!	L 	Ls   ?C  C)z3VERSION: str
VERSION = '0.1.1'
raise SystemExit(1)
z+VERSION: str = '0.1.1'
raise SystemExit(1)
c                 |    d|d}t        ||       t        j                  d|      }|dk(  sJ t        |      sJ y )Nr    rH   rI   rJ   rA   rL   )r   r   rD   r   )rE   r$   r?   r   rO   s        r   test_read_annotated_attrz%TestReadAttr.test_read_annotated_attrp   sI      "#*
 	E8$""#4xH'!!!!!r   )zVERSION = (lambda: '0.1.1')()
z(def fn(): return '0.1.1'
VERSION = fn()
z#VERSION: str = (lambda: '0.1.1')()
c                     d|d}t        ||       |j                  |       t        j                  d      }|dk(  sJ t	        |      rJ y )Nr    rS   rJ   rL   )r   r!   r   rD   r   )rE   r$   r%   r?   r   rO   s         r   test_read_dynamic_attrz#TestReadAttr.test_read_dynamic_attr   sU      "#*
 	E8$(#""#45'!!W%%%r   c                 l    dddd}t        ||       d}ddi}t        j                  |||      dk(  sJ y	)
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42N)r   r   rD   )rE   r$   r   	attr_descpackage_dirs        r   test_import_orderzTestReadAttr.test_import_order   sL     $XT 0

 	E8$'	5k	;ATIIIr   N)__name__
__module____qualname__r7   markparametrizerF   rQ   rT   rV   r]    r   r   r>   r>   E   s    [[	
	N	N(8 [[D;	
	"	" [[	
	&	&Jr   r>   )r\   r   modulereturn_valuer    rY   rX   zpkg.mainrM   pkgrK   zlib/main.py   zsingle_module.pysingle_moduleF   zflat_layout/pkg.pyzflat_layout.pkgiD  c                     | j                  t        di        |d| i}t        ||       t        j                  | d||      } |       j                         |k(  sJ y )Nmodulesz,class Custom:
    def testing(self): return z.Custom)setattrsysr   r   resolve_classtesting)r%   r$   r\   r   rd   re   r   clss           r   test_resolve_classrq      sc     Y+B<.QREx 


&1;
IC5==?l***r   )argspkgs.F)where
namespacesotherdir1>   rf   dir2rw   rv   T>   	dir1.dir2rf   rx   rw   c                 8   h d}t        |D ci c]  }|d c}|        i }| |d|}|j                  ddg      }t        t        j                  di |      |k(  sJ |D ]0  }t        |||       }	t        j                  j                  |	      r0J  |j                  ddg      D 
cg c]<  }
t        | |
z  j                               j                  t        j                  d      > }}
t        t        j                  dd|i|      |k(  sJ y c c}w c c}
w )N>   other/__init__.pydir1/dir2/__init__.pyrH   r    )r   fill_package_dirru   rt   /rc   )r   getr"   r   find_packagesr   osr   existspopr3   resolvereplacesep)r$   rr   rs   r   r&   r\   kwargsru   rf   pkg_pathps              r   test_find_packagesr      s   E
 &1B&1K"LtLFJJw&Ev##-f-.$66 ($S+x@ww~~h''( 'C5) 	X\""$%--bffc:E 
 v##8%8489TAAA! 's   
D)AD)r   ru   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                 V   t        |D ci c]  }|d c}|        i }| |dd}t        j                  dd|i|}t        |j	                               t        |j	                               k(  sJ |D ]0  }t        |||       }	t        j                  j                  |	      r0J  y c c}w )Nr    F)r   r~   rv   ru   rc   )	r   r   r   r"   r   r   r   r   r   )
r$   r   ru   r   r&   pkg_dirr   rs   rf   r   s
             r   test_fill_package_dirr      s    ( &1B&1G"uUF6e6v6Dw}}3';'A'A'C#DDD ($S'8<ww~~h''( 's   
B&)r   rm   pathlibr   r7   setuptools._staticr   setuptools.configr   setuptools.discoveryr   distutils.errorsr   r   r(   r<   r>   ra   rb   rq   r   r   rc   r   r   <module>r      s   	 
   ( $ 2 13B&.:aJ aJH 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   