
    ϶vg0#                     4   d Z ddlZ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	Z	ddl
mZ ddlZ	ddl
mZ ddlZddlZddlmZ ddlmZ  ej        d	          d
             Zd Zej                             eed           d          Z G d d          Z G d d          Zej        d             Zd Zd Z ej        d             Z!ej        "                    d          d             Z#ej        $                    d          d             Z%d Z&d Z'dS )z"Tests for the 'setuptools' package    N)ZipFile)Version)Require)	Extension)DistutilsSetupErrorT)autousec                     d S N )
tmpdir_cwds    ]/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/tests/test_setuptools.pyisolated_dirr      s    
F    c                      dt           j        _        |                     ddg           	 t	          j        di | dt           j        _        S # dt           j        _        w xY w)zDReturn distribution from 'setup(**args)', without executing commandscommandlinescript_argsinstallNr   )	distutilscore_setup_stop_after
setdefault
setuptoolssetup)argss    r   	makeSetupr      sb     (5IN$ 	OOMI;///0''$''+/	((4	(////s   A Aget_module_constantzbytecode support not available)reasonc                   \    e Zd Zd Zd Zed             Zed             Zed             ZdS )TestDependsc                    t          t          d          sd S d }|j        }t          j        |dd          J t          j        |dd          dk    sJ t          j        |dd          dk    sJ t          j        |dd          J d S )	Nextract_constantc                      da t          ad S )Ntest)xzyr   r   r   f1z(TestDepends.testExtractConst.<locals>.f15   s    AAAAr   qr$   r#   r&   r%   )hasattrdep__code__r!   )selfr'   fcs      r   testExtractConstzTestDepends.testExtractConst0   s    s.// 	F	 	 	
 [ #BR00888 #BR00F:::: #BR00B6666 #BR0088888r   c                 r   t          j        t                    5  t          j        d           d d d            n# 1 swxY w Y   t          j        t                    5  t          j        d           d d d            n# 1 swxY w Y   t          j        d          \  }}}|                                 d S )Nzno-such.-thingzsetuptools.non-existentzsetuptools.tests)pytestraisesImportErrorr+   find_moduleclose)r-   f_p_is       r   testFindModulezTestDepends.testFindModuleH   s   ];'' 	. 	.O,---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.];'' 	7 	7O5666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7O$677	2r						s   ;??B  BBc                     ddl m} t          j        dd          |k    sJ t          j        dd          t          j        k    sJ t          j        dd          t          k    sJ d S )	Nr   __version__jsonr<   sysversionz setuptools.tests.test_setuptools__doc__)r=   r<   r+   r   r>   r?   r@   )r-   r<   s     r   testModuleExtractzTestDepends.testModuleExtractP   s    $$$$$$&v}==LLLL&ui88CKGGGG#$F	RR     r   c                    t          ddd          }|j        dk    sJ |j        dk    sJ |j        t	          d          k    sJ |j        dk    sJ |                                dk    sJ ddlm} t          |
                                          |k    sJ |                    d          sJ |                    d	          rJ |                    d
          rJ |                                sJ |                                sJ t          ddd          }|                                rJ |                                rJ d S )NJsonz1.0.3r=   r<   z
Json-1.0.3r   r;   z1.0.9z0.9.1unknownzDo-what-I-meanz1.0zd-w-i-m)r   namemodulerequested_versionr   	attribute	full_namer=   r<   strget_version
version_ok
is_present
is_current)r-   reqr<   s      r   testRequirezTestDepends.testRequire[   sn   fgv..x6!!!!zV####$(8(88888}----}},....$$$$$$3??$$%%4444~~g&&&&&>>'*****>>),,,,,~~~~&y99>>#####>>#######r   c                 0   t          dd dd          }|j        J |j        J |j        J |                                dk    sJ |j        dk    sJ ddlm} d |D             }|                    |          sJ |	                    |          sJ d S )NTeststestszhttp://example.com)homepager   )__path__c                 L    g | ]!}t           j                            |          "S r   )ospathdirname).0ps     r   
<listcomp>z4TestDepends.test_require_present.<locals>.<listcomp>   s&    666##666r   )
r   formatrH   rG   rI   rT   setuptools.testsrU   rM   rN   )r-   rO   rU   pathss       r   test_require_presentz TestDepends.test_require_presents   s    
 gtW7KLLLz!!!}$$$$,,,}}'))))|33333------66X666~~e$$$$$~~e$$$$$$$r   N)	__name__
__module____qualname__r/   r9   needs_bytecoderA   rP   r`   r   r   r   r   r   /   s        9 9 90   
 
 ^
 $ $ ^$. % % ^% % %r   r   c                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )

TestDistroc                     t          ddg          | _        t          ddg          | _        t          g dddg| j        | j        fi           | _        d S )	Nzbar.extzbar.czc.yzy.c)aza.bza.b.cbczb.dr$   )packages
py_modulesext_modulespackage_dir)r   e1e2r   dist)r-   methods     r   setup_methodzTestDistro.setup_method   sa    Iy11EE7++444s|$'*	
 
 
			r   c                 R    t          | j        t          j        j                  sJ d S r
   )
isinstancerq   r   Distributionr-   s    r   testDistroTypezTestDistro.testDistroType   s%    $)Z_%ABBBBBBBr   c                    | j                             d           | j         j        ddgk    sJ | j                             d           | j         j        dgk    sJ | j         j        dgk    sJ | j         j        | j        | j        gk    sJ | j                             d           | j         j        g k    sJ | j         j        dgk    sJ | j         j        | j        gk    sJ t                                          d           d S )Nrh   ri   rj   r$   )rq   exclude_packagerk   rl   rm   ro   rp   r   rw   s    r   testExcludePackagezTestDistro.testExcludePackage   s   	!!#&&&y!c3Z////	!!#&&&y!cU****y#u,,,,y$$'(:::::	!!#&&&y!R''''y#u,,,,y$	1111 	##C(((((r   c                 t   | j                             | j        g           | j         j        | j        gk    sJ | j                             | j        g           | j         j        | j        | j        gk    sJ | j                             | j        g           | j         j        | j        | j        gk    sJ d S )Nrm   )rq   excludero   rm   rp   includerw   s    r   testIncludeExcludezTestDistro.testIncludeExclude   s    	twi000y$	1111 		twi000y$$'(::::: 		twi000y$$'(:::::::r   c                     | j                             g d           | j         j        g k    sJ | j         j        dgk    sJ | j         j        | j        gk    sJ d S )N)rj   ri   rh   rk   r$   )rq   r~   rk   rl   rm   ro   rw   s    r   testExcludePackageszTestDistro.testExcludePackages   sm    	???333y!R''''y#u,,,,y$	111111r   c                     t                      }|                    dgdg| j        g           t                      }|                    dgdg| j        g           d S )Nrh   ri   )rk   rl   rm   )r   r   rp   r~   )r-   rq   s     r   	testEmptyzTestDistro.testEmpty   sZ    {{seDG9MMM{{seDG9MMMMMr   c                    | j                             d          sJ | j                             d           | j                             d          rJ | j                             d          sJ | j                             d           | j                             d          rJ | j                             d          sJ | j                             d           | j                             d          rJ d S )Nrh   ri   rj   )rq   has_contents_forrz   rw   s    r   testContentszTestDistro.testContents   s    y))#.....	!!#&&&9--c22222y))#.....	!!#&&&9--c22222y))#.....	!!#&&&9--c2222222r   c                    t          j        t                    5  | j                            d           d d d            n# 1 swxY w Y   t          j        t                    5  | j                            d           d d d            n# 1 swxY w Y   t          j        t                    5  | j                            ddi           d d d            n# 1 swxY w Y   t          j        t                    5  | j                            ddi           d d d            n# 1 swxY w Y   t          j        t                    5  | j                            ddi           d d d            n# 1 swxY w Y   t          j        t                    5  | j                            ddi           d d d            n# 1 swxY w Y   t          j        t                    5  | j                            dg           d d d            n# 1 swxY w Y   t          j        t                    5  | j                            dg           d d d            d S # 1 swxY w Y   d S )Nr$   )nonexistent_optionr&   r   r}   r(   )rn   )r1   r2   r   rq   r   r~   rw   s    r   testInvalidIncludeExcludez$TestDistro.testInvalidIncludeExclude   s   ].// 	6 	6I555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6].// 	6 	6I555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6].// 	3 	3ISz222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3].// 	3 	3ISz222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3].// 	6 	6I3*555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6].// 	6 	6I3*555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 ].// 	1 	1I3%000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1].// 	1 	1I3%000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   AA	A&BBB2CC #C  D**D.1D.E88E<?E<GG
G
*HHH7I!!I%(I%N)ra   rb   rc   rs   rx   r{   r   r   r   r   r   r   r   r   rf   rf      s        	
 	
 	
C C C) ) )"; ; ;2 2 2N N N3 3 31 1 1 1 1r   rf   c                     |                      d           | dz                      d           | dz                      d           | S )Nfoo
foo/bar.py 
readme.txt)mkdirwrite)tmpdirs    r   example_sourcer      sK    
LLl!!"%%%l!!"%%%Mr   c                      t          t          j        t                                         }ddg} fd|D             }||k    sJ d S )Nr   r   c                 :    g | ]}                     |          S r   )join)rZ   fnr   s     r   r\   z test_findall.<locals>.<listcomp>   s'    ;;;B##B'';;;r   )listr   findallrJ   r   foundexpecteds   `  r   test_findallr      s]    #C$7$78899El+H;;;;(;;;HHr   c                     |                                  5  t          t          j                              }d d d            n# 1 swxY w Y   dt          j                            dd          g}||k    sJ d S )Nr   r   zbar.py)as_cwdr   r   r   rW   rX   r   r   s      r   test_findall_curdirr      s    				 	  + +Z'))**+ + + + + + + + + + + + + + +bgll5(;;<HHs   !AA	Ac                     d}d}	 t          j        ||           n1# t          t          t          f$ r t          j        d           Y nw xY wt          j        |           dS )z/
    Skip if cannot create a symbolic link
    linktargetzCannot create symbolic linksN)rW   symlinkOSErrorNotImplementedErrorAttributeErrorr1   skipremove)r   link_fn	target_fns      r   can_symlinkr      sx    
 GI4

9g&&&&(.9 4 4 42333334Igs    +A
	A
r   c                     |                                  5  t          j        dd           t          t	          j                              }|g k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   bar)r   rW   r   r   r   r   )r   r   s     r   test_findall_missing_symlinkr     s    	  

5%   Z'))**{{{{{                 s   >A!!A%(A%z$unable to exclude tests; #4475 #3260c                     t          |           5 }d |                                D             }d d d            n# 1 swxY w Y   |D ]}d|vsJ 	d S )Nc                 N    g | ]"}|                     t          j        d           #S /replacerW   seprZ   r6   s     r   r\   z=test_its_own_wheel_does_not_contain_tests.<locals>.<listcomp>  (    GGGqAIIbfc**GGGr   z/tests/)r   namelist)setuptools_wheelzipfilecontentsmembers       r   )test_its_own_wheel_does_not_contain_testsr     s    	!	"	" HgGGG4D4D4F4FGGGH H H H H H H H H H H H H H H  ' '&&&&&' '   ;??c                     t          |           5 }d |                                D             }d d d            n# 1 swxY w Y   t          d |D                       sJ d S )Nc                 N    g | ]"}|                     t          j        d           #S r   r   r   s     r   r\   z3test_wheel_includes_cli_scripts.<locals>.<listcomp>  r   r   c              3      K   | ]}d |v V  	dS )z
cli-64.exeNr   rZ   r   s     r   	<genexpr>z2test_wheel_includes_cli_scripts.<locals>.<genexpr>  s'      ==&|v%======r   r   r   anyr   r   r   s      r   test_wheel_includes_cli_scriptsr     s    	!	"	" HgGGG4D4D4F4FGGGH H H H H H H H H H H H H H H ==H==========r   c                     t          |           5 }d |                                D             }d d d            n# 1 swxY w Y   t          d |D                       sJ d S )Nc                 N    g | ]"}|                     t          j        d           #S r   r   r   s     r   r\   z9test_wheel_includes_vendored_metadata.<locals>.<listcomp>  r   r   c              3   @   K   | ]}t          j        d |          V  dS )z_vendor/.*\.dist-info/METADATAN)researchr   s     r   r   z8test_wheel_includes_vendored_metadata.<locals>.<genexpr>   s@        AG	3V<<     r   r   r   s      r   %test_wheel_includes_vendored_metadatar     s    	!	"	" HgGGG4D4D4F4FGGGH H H H H H H H H H H H H H H   KS         r   )(r@   rW   r   r>   r   r   r1   packaging.versionr   r   setuptools.dependsdependsr+   setuptools.distr   distutils.cmdr   distutils.corer   distutils.errorsr   fixturer   r   markskipifr*   rd   r   rf   r   r   r   r   usefixturesr   xfailr   r   r   r   r   r   <module>r      sx   ( ( 				 				 



        % % % % % %                     & & & & & &         $ $ $ $ $ $ 0 0 0 0 0 0   0 0 0 ##*++++ $  T% T% T% T% T% T% T% T%nW1 W1 W1 W1 W1 W1 W1 W1t        
 
 
 ''  (' @AA' ' BA'> > >    r   