D; 6ddlZddlZddlmZddlZddlmZddlmZddl m Z ddl m Z dZ dZd ZGd d Zejd d didddfddidddfidddfidddfgdZejddgdd dd!hfdd"gdd hd#fd$d%ihd&fihd&fgd'Zejd(d)d*gdgifd)d+gdgifd,d-gdgd difd,d.gdgd difd/d0gd1d2gd3d4d5fd,d+gddgd6d7ifgd8ZdS)9N)Path) is_static)expand)find_package_path)DistutilsOptionErrorc|D]=\}}||z }|jdd||d>dS)NT)exist_okparentszutf-8)encoding)itemsparentmkdir write_text)filesroot_dirfilecontentpaths u/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/setuptools/tests/config/test_expand.py write_filesrsd33 g$ 4666 '222233chd}td|D|gd}||ttj||ksJttj|||ksJdS)N>a.inib.ini dir1/c.inidir1/file3.txtdir1/dir2/a.inidir1/dir2/file2.txtdir1/dir2/dir3/file1.txtci|]}|dS.0ks r z&test_glob_relative.. &&&1B&&&r)z**/*.txtz[ab].*z **/[ac].ini)rchdirsetr glob_relative)tmp_path monkeypatchrpatternss rtest_glob_relativer/s   E&&&&&111444Hh v#H-- . .% 7 7 7 7 v#Hh77 8 8E A A A A A Arc|dz }|dz d|dz dddd }t||tt |d z}|dtd d i||5}||tjt|d ksJd}tj t|5tjdgdddn #1swxYwYd}tj t|5tjdgdddn #1swxYwYdddn #1swxYwYtjt||d ksJtj t|5tjdg|ddddS#1swxYwYdS)Ndir__dirT)r a.txtabc)r3z dir1/b.txtzdir1/dir2/c.txtsecretsz secrets.txtz secret keysza b czCannot access '.*\.\..a\.txt')matchz../a.txtzCannot access '.*secrets\.txt'z../dir_secrets/secrets.txt) rtouchrrstrcontextr)r read_fileslistpytestraisesr)r,r-r1rr7mcannot_access_msgcannot_access_secrets_msgs rtest_read_filesrC(s f D t,,,     E EEt3t99y())G MM4M    .888      >!   e--::::< ]/7H I I I , ,  zl + + + , , , , , , , , , , , , , , ,%F! ]/7P Q Q Q > >  ;< = = = > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  T%[[$ / /9 < < < < +3D E E E..:,---..................sm'AFD# F#D' 'F*D' + F E-! F-E1 1F4E1 5FF FG66G:=G:ceZdZejdgddZdZejdddgdZejdgdd Z d Z d S) TestReadAttrexample)s'__version__ = 'é' raise SystemExit(1) s?# -*- coding: utf-8 -*- __version__ = 'é' raise SystemExit(1) s?# -*- coding: latin1 -*- __version__ = '' raise SystemExit(1) cn|dz |tjd|dksJdS)Nzmod.pyzmod.__version__ré) write_bytesr read_attr)selfrFr,s rtest_read_attr_encoding_cookiez+TestReadAttr.test_read_attr_encoding_cookieFsE H ))'222 1HEEEMMMMMMrcdddd}t|||5}||tjd}tjdddi}dddn #1swxYwY|d ksJt |sJ|d d ksJ|d d hksJt |sJtjd|d ksJtjdddi|}|ddksJdS)Nr"zVERSION = '0.1.1'z@VALUES = {'a': 0, 'b': {42}, 'c': (0, 1, 1)} raise SystemExit(1))pkg/__init__.pypkg/sub/__init__.pyzpkg/sub/mod.pypkg.sub.VERSIONzlib.mod.VALUESlibzpkg/sub0.1.1r4rr5*rHr6)rrU)rr;r)rrKr)rLr,r-rr@versionvaluess rtest_read_attrzTestReadAttr.test_read_attrTs!#6S    E8$$$  " " La GGH   &'899G%&6 8JKKF  L L L L L L L L L L L L L L L '!!!!     c{ac{rd""""      1HEEEPPPP!"2UI4FQQc{i''''''sAA88A<?A<z3VERSION: str VERSION = '0.1.1' raise SystemExit(1) z+VERSION: str = '0.1.1' raise SystemExit(1) cd|d}t||tjd|}|dksJt|sJdS)Nr"rOrPrQrHrS)rrrKr)rLr,rFrrVs rtest_read_annotated_attrz%TestReadAttr.test_read_annotated_attrpsi "#*   E8$$$"#4xHHH'!!!!!!!!!!!r)zVERSION = (lambda: '0.1.1')() z(def fn(): return '0.1.1' VERSION = fn() z#VERSION: str = (lambda: '0.1.1')() cd|d}t||||tjd}|dksJt |rJdS)Nr"rZrQrS)rr)rrKr)rLr,r-rFrrVs rtest_read_dynamic_attrz#TestReadAttr.test_read_dynamic_attrsx "#*   E8$$$(###"#455'!!!!W%%%%%%%rcvdddd}t||d}ddi}tj|||dksJd 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 42zversion = '42')zsrc/pkg/__init__.pysrc/pkg/main.pyzsrc/pkg/about.pyzpkg.about.versionr"src42N)rrrK)rLr,r attr_desc package_dirs rtest_import_orderzTestReadAttr.test_import_orders`$XT 0   E8$$$' 5k  ;AATIIIIIIrN) __name__ __module__ __qualname__r>mark parametrizerMrXr[r]rdr#rrrErEEs [     NN  N(((8 [ D ;  " " " [    & & &JJJJJrrE)rcrmodule return_valuer"r`r_zpkg.mainrTpkgrRz lib/main.py zsingle_module.py single_moduleFzflat_layout/pkg.pyzflat_layout.pkgiDc|tdi|d|i}t||tj|d||}||ksJdS)Nmodulesz,class Custom: def testing(self): return z.Custom)setattrsysrr resolve_classtesting)r-r,rcrrjrkrclss rtest_resolve_classrwsY+++ Q<QQ REx    &111; I IC 355==??l * * * * * *r)argspkgs.F)where namespacesotherdir1>rldir2r}r|T> dir1.dir2rlr~r}chd}td|Di}|d|}|ddg}ttjdi||ksJ|D]4}t ||}t j|sJ5fd| ddgD}ttjdd|i||ksJdS)N>other/__init__.pydir1/dir2/__init__.pyrOci|]}|dSr!r#r$s rr'z&test_find_packages..r(r)rfill_package_dirr{rzcg|]D}t|z tjdES)/)r:resolvereplaceossep)r%pr,s r z&test_find_packages..sS     X\ " " $ $%%--bfc::   rr#) rgetr*r find_packagesrrrexistspop) r,rxryrrckwargsr{rlpkg_paths ` rtest_find_packagesrs7   E &&&&&111K" L Lt LF JJw & &E v#--f-- . .$ 6 6 6 6(($S+x@@w~~h''''''    'C5))   E v#88%8488 9 9T A A A A A Ar)rr{expected_package_dirzpkg1/__init__.pyz pkg1/other.pyzpkg2/__init__.pyzsrc/pkg1/__init__.pyzsrc/pkg1/other.pyzsrc/pkg2/__init__.pyzsrc1/pkg1/__init__.pyzsrc2/pkg2/__init__.pysrc1src2z src1/pkg1z src2/pkg2)pkg1pkg2rzsrc/pkg1cjtd|D|i}||dd}tjdd|i|}t|t|ksJ|D]4}t |||}t j|sJ5dS)Nci|]}|dSr!r#r$s rr'z)test_fill_package_dir..r(rF)rrr|r{r#) rrrr*r rrrr) r,rr{rpkg_dirrryrlrs rtest_fill_package_dirrs(&&&&&111G"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)rrspathlibrr>setuptools._staticrsetuptools.configrsetuptools.discoveryrdistutils.errorsrrr/rCrErhrirwrrr#rrrs  (((((($$$$$$222222111111333BBB&...:aJaJaJaJaJaJaJaJH5 e'R8  B7 "5 !#4c: +++5 . .0@A= 6 68P8P8PQ  DDDE 2 2 23 BBB2. o .r: 0 1C5"= "5 6"eM "8 9E7RKP $&= > V  + 6 6 $%7 8 CL Z  &(('&(((r