
    ϶vg                     *   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 Zd Zd Z G d	 d
          Ze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                            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                            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.d/gd0d1gd2d3d4fd+d*gddgd5d6ifg          d7             ZdS )8    N)Path)expand)find_package_path)DistutilsOptionErrorc                     |                                  D ]=\  }}||z  }|j                            dd           |                    |d           >d S )NT)exist_okparentszutf-8)encoding)itemsparentmkdir
write_text)filesroot_dirfilecontentpaths        `/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/tests/config/test_expand.pywrite_filesr      sd     3 3g$4666'22223 3    c                    h d}t          d |D             |            g d}|                    |            t          t          j        |                    |k    sJ t          t          j        ||                     |k    sJ d S )N>   a.inib.ini
dir1/c.inidir1/file3.txtdir1/dir2/a.inidir1/dir2/file2.txtdir1/dir2/dir3/file1.txtc                     i | ]}|d S   .0ks     r   
<dictcomp>z&test_glob_relative.<locals>.<dictcomp>       &&&1B&&&r   )z**/*.txtz[ab].*z**/[ac].ini)r   chdirsetr   glob_relative)tmp_pathmonkeypatchr   patternss       r   test_glob_relativer.      s      E &&&&&111444Hhv#H--..%7777v#Hh7788EAAAAAAr   c                    | dz  }| dz                       d           | dz                                   dddd	}t          ||           t          t	          |          d
z             }|                     d           t          ddi|           |                                5 }|                    |           t          j        t          |                    dk    sJ d}t          j        t          |          5  t          j        dg           d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          j        dg           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          |          |          dk    sJ t          j        t          |          5  t          j        dg|           d d d            d S # 1 swxY w Y   d S )Ndir__dirT)r   a.txtabc)r2   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,   r0   r   r6   mcannot_access_msgcannot_access_secrets_msgs           r   test_read_filesrB   '   s   fDt,,,   EEEt3t99y())GMM4M   .888					 
>!	 e--::::<]/7HIII 	, 	,zl+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, %F!]/7PQQQ 	> 	>;<===	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> T%[[$//9<<<<	+3D	E	E	E . .:,---. . . . . . . . . . . . . . . . . .sm   'AFD#F#D'	'F*D'	+ FE-!F-E1	1F4E1	5FFFG66G:=G:c                       e Zd Zej                            dg d          d             Zd Zej                            dddg          d             Zd Z	d	S )
TestReadAttrexample)s'   __version__ = 'é'
raise SystemExit(1)
s?   # -*- coding: utf-8 -*-
__version__ = 'é'
raise SystemExit(1)
s?   # -*- coding: latin1 -*-
__version__ = ''
raise SystemExit(1)
c                 n    |dz                       |           t          j        d|          dk    sJ d S )Nzmod.pyzmod.__version__r      é)write_bytesr   	read_attr)selfrE   r+   s      r   test_read_attr_encoding_cookiez+TestReadAttr.test_read_attr_encoding_cookieE   sE     
H	))'222 1HEEEMMMMMMr   c                    dddd}t          ||           |                                5 }|                    |           t          j        d          dk    sJ t          j        ddd	i          }d d d            n# 1 swxY w Y   |d
         dk    sJ |d         dhk    sJ t          j        d|          dk    sJ t          j        ddd	i|          }|d         dk    sJ d S )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/subr3   r   r4   *   rG   r5   )r      rT   )r   r:   r(   r   rJ   )rK   r+   r,   r   r?   valuess         r   test_read_attrzTestReadAttr.test_read_attrS   sk   !#6S	
 
 	E8$$$  "" 	LaGGH#$566'AAAA%&6	8JKKF		L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L c{ac{rd""""  1HEEEPPPP!"2UI4FQQc{i''''''s   AA>>BBz3VERSION: str
VERSION = '0.1.1'
raise SystemExit(1)
z+VERSION: str = '0.1.1'
raise SystemExit(1)
c                 h    d|d}t          ||           t          j        d|          dk    sJ d S )Nr!   )rN   rO   rP   rG   rQ   r   r   rJ   )rK   r+   rE   r   s       r   test_read_annotated_attrz%TestReadAttr.test_read_annotated_attrk   sP      "#*
 
 	E8$$$ 1HEEEPPPPPPr   c                 v    dddd}t          ||           d}ddi}t          j        |||          dk    sJ d	S )
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42NrX   )rK   r+   r   	attr_descpackage_dirs        r   test_import_orderzTestReadAttr.test_import_order{   s`     $XT 0
 

 	E8$$$'	5k	;AATIIIIIIr   N)
__name__
__module____qualname__r=   markparametrizerL   rV   rY   r`   r"   r   r   rD   rD   D   s        [	
 	
 	
	 	N N	 	N( ( (0 [D;	
 Q Q QJ J J J Jr   rD   )r_   r   modulereturn_valuer!   r\   r[   zpkg.mainrS   pkgrR   zlib/main.py   zsingle_module.pysingle_moduleF   zflat_layout/pkg.pyzflat_layout.pkgiD  c                     |                      t          di            |d| i}t          ||           t          j        | d||          } |                                            |k    sJ d S )Nmodulesz,class Custom:
    def testing(self): return z.Custom)setattrsysr   r   resolve_classtesting)r,   r+   r_   r   rf   rg   r   clss           r   test_resolve_classrs      s     Y+++Q<QQREx   

&111;
I
IC355==??l******r   )argspkgs.F)where
namespacesotherdir1>   rh   dir2ry   rx   T>   	dir1.dir2rh   rz   ry   c                     h d}t          d |D                         i } |d|}|                    ddg          }t          t          j        di |          |k    sJ |D ]4}t          ||           }t          j                            |          sJ 5 fd|	                    ddg          D             }t          t          j        dd|i|          |k    sJ d S )N>   other/__init__.pydir1/dir2/__init__.pyrN   c                     i | ]}|d S r    r"   r#   s     r   r&   z&test_find_packages.<locals>.<dictcomp>   r'   r   )r   fill_package_dirrw   rv   c                     g | ]D}t          |z                                                                t          j        d           ES )/)r9   resolvereplaceossep)r$   pr+   s     r   
<listcomp>z&test_find_packages.<locals>.<listcomp>   sS        	X\""$$%%--bfc::  r   r"   )
r   getr)   r   find_packagesr   r   r   existspop)	r+   rt   ru   r   r_   kwargsrw   rh   pkg_paths	   `        r   test_find_packagesr      s7     E
 &&&&&111K"LLtLFJJw&&Ev#--f--..$6666 ( ($S+x@@w~~h''''''   'C5))  E
 v#88%848899TAAAAAAr   )r   rw   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                 j   t          d |D             |            i }| |dd}t          j        dd|i|}t          |                                          t          |                                          k    sJ |D ]4}t          |||           }t          j                            |          sJ 5d S )Nc                     i | ]}|d S r    r"   r#   s     r   r&   z)test_fill_package_dir.<locals>.<dictcomp>   r'   r   F)r   r   rx   rw   r"   )	r   r   r   r)   r   r   r   r   r   )	r+   r   rw   r   pkg_dirr   ru   rh   r   s	            r   test_fill_package_dirr      s    ( &&&&&111G"uUUF66e6v66Dw}}3';'A'A'C'C#D#DDDDD ( ($S'8<<w~~h''''''( (r   )r   ro   pathlibr   r=   setuptools.configr   setuptools.discoveryr   distutils.errorsr   r   r.   rB   rD   rd   re   rs   r   r   r"   r   r   <module>r      s   				 



        $ $ $ $ $ $ 2 2 2 2 2 2 1 1 1 1 1 13 3 3B B B&. . .:HJ HJ HJ HJ HJ HJ HJ HJV 5
e'R8

B7	"5	!#4c:	 + + + 5	.	.0@A=	6	68P8P8PQ
	DDDE	2223	 B B B2 .
o	.r:
0	1C5"=
 "5	6"eM
 "8	9E7RKP$&=>V +66	
 $%78CLZ 	
 &( (' &( ( (r   