
    vKg0#                        S r SSKr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	r	SSK
Jr  SSKr	SSK
Jr  SSKrSSKrSSKJr  SSKJr  \R*                  " SS	9S
 5       rS r\R0                  R3                  \" \S5      (       + SS9r " S S5      r " S S5      r\R*                  S 5       rS rS r \R*                  S 5       r!\R0                  RE                  S5      S 5       r#\R0                  RI                  SS9S 5       r%S r&S r'g)z"Tests for the 'setuptools' package    N)ZipFile)Version)Require)	Extension)DistutilsSetupErrorT)autousec                     g N )
tmpdir_cwds    `/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/tests/test_setuptools.pyisolated_dirr      s    
    c                      S[         R                  l        U R                  SS/5         [        R
                  " S0 U D6S[         R                  l        $ ! S[         R                  l        f = f)zDReturn distribution from 'setup(**args)', without executing commandscommandlinescript_argsinstallNr   )	distutilscore_setup_stop_after
setdefault
setuptoolssetup)argss    r   	makeSetupr      sQ     (5INN$ 	OOMI;/0'$'+/	(4	(s   A A,get_module_constantzbytecode support not available)reasonc                   P    \ rS rSrS rS r\S 5       r\S 5       r\S 5       r	Sr
g)	TestDepends/   c                 2   [        [        S5      (       d  g S nUR                  n[        R                  " USS5      b   e[        R                  " USS5      S:X  d   e[        R                  " USS5      S:X  d   e[        R                  " USS5      b   eg )	Nextract_constantc                      Sq [        qg )Ntest)xzyr   r   r   f1(TestDepends.testExtractConst.<locals>.f15   s    AAr   qr%   r$   r'   r&   )hasattrdep__code__r"   )selfr(   fcs      r   testExtractConstTestDepends.testExtractConst0   s    s.//	
 [[ ##BR0888 ##BR0F::: ##BR0B666 ##BR0888r   c                 ~   [         R                  " [        5         [        R                  " S5        S S S 5        [         R                  " [        5         [        R                  " S5        S S S 5        [        R                  " S5      u  pnUR                  5         g ! , (       d  f       Nq= f! , (       d  f       NI= f)Nzno-such.-thingzsetuptools.non-existentzsetuptools.tests)pytestraisesImportErrorr-   find_moduleclose)r/   f_p_is       r   testFindModuleTestDepends.testFindModuleH   sj    ]];'OO,- (]];'OO56 (OO$67	r		 ('''s   BB.
B+.
B<c                     SSK Jn  [        R                  " SS5      U:X  d   e[        R                  " SS5      [        R
                  :X  d   e[        R                  " SS5      [        :X  d   eg )	Nr   __version__jsonr@   sysversionz setuptools.tests.test_setuptools__doc__)rA   r@   r-   r   rB   rC   rD   )r/   r@   s     r   testModuleExtractTestDepends.testModuleExtractP   sb    $&&v}=LLL&&ui8CKKGGG##$F	R	
r   c                    [        SSS5      nUR                  S:X  d   eUR                  S:X  d   eUR                  [	        S5      :X  d   eUR
                  S:X  d   eUR                  5       S:X  d   eSSKJn  [        UR                  5       5      U:X  d   eUR                  S5      (       d   eUR                  S	5      (       a   eUR                  S
5      (       a   eUR                  5       (       d   eUR                  5       (       d   e[        SSS5      nUR                  5       (       a   eUR                  5       (       a   eg )NJsonz1.0.3rA   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_namerA   r@   strget_version
version_ok
is_present
is_current)r/   reqr@   s      r   testRequireTestDepends.testRequire[   s-   fgv.xx6!!!zzV###$$(8888}}---}},...$3??$%444~~g&&&&>>'****>>),,,,~~~~&y9>>####>>#####r   c                    [        SS SSS9nUR                  b   eUR                  b   eUR                  b   eUR	                  5       S:X  d   eUR
                  S:X  d   eSSKJn  U Vs/ sH"  n[        R                  R                  U5      PM$     nnUR                  U5      (       d   eUR                  U5      (       d   eg s  snf )NTeststestszhttp://example.com)homepager   )__path__)r   formatrM   rL   rN   rZ   setuptools.testsr[   ospathdirnamerR   rS   )r/   rT   r[   ppathss        r   test_require_present TestDepends.test_require_presents   s    
 gtW7KLzz!!!}}$$$$$,,,}}')))||3333--56X#X6~~e$$$$~~e$$$$ 7s   ,(Cr   N)__name__
__module____qualname____firstlineno__r1   r<   needs_bytecoderE   rU   rc   __static_attributes__r   r   r   r   r   /   sH    90 
 
 $ $. % %r   r   c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)
TestDistro   c                     [        SS/5      U l        [        SS/5      U l        [        / SQSS/U R                  U R                  40 S9U l        g )	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_methodTestDistro.setup_method   sK    Iy1EE7+4s|$''*	
	r   c                 n    [        U R                  [        R                  R                  5      (       d   eg r
   )
isinstancerx   r   Distributionr/   s    r   testDistroTypeTestDistro.testDistroType   s#    $))Z__%A%ABBBBr   c                    U R                   R                  S5        U R                   R                  SS/:X  d   eU R                   R                  S5        U R                   R                  S/:X  d   eU R                   R                  S/:X  d   eU R                   R                  U R
                  U R                  /:X  d   eU R                   R                  S5        U R                   R                  / :X  d   eU R                   R                  S/:X  d   eU R                   R                  U R
                  /:X  d   e[        5       R                  S5        g )Nro   rp   rq   r%   )rx   exclude_packagerr   rs   rt   rv   rw   r   r   s    r   testExcludePackageTestDistro.testExcludePackage   s   		!!#&yy!!c3Z///		!!#&yy!!cU***yy##u,,,yy$$$''(::::		!!#&yy!!R'''yy##u,,,yy$$	111 	##C(r   c                    U R                   R                  U R                  /S9  U R                   R                  U R                  /:X  d   eU R                   R                  U R                  /S9  U R                   R                  U R                  U R                  /:X  d   eU R                   R                  U R                  /S9  U R                   R                  U R                  U R                  /:X  d   eg )Nrt   )rx   excluderv   rt   rw   includer   s    r   testIncludeExcludeTestDistro.testIncludeExclude   s    		twwi0yy$$	111 			twwi0yy$$$''(:::: 			twwi0yy$$$''(::::r   c                     U R                   R                  / SQS9  U R                   R                  / :X  d   eU R                   R                  S/:X  d   eU R                   R                  U R
                  /:X  d   eg )N)rq   rp   ro   rr   r%   )rx   r   rr   rs   rt   rv   r   s    r   testExcludePackagesTestDistro.testExcludePackages   sg    		?3yy!!R'''yy##u,,,yy$$	111r   c                     [        5       nUR                  S/S/U R                  /S9  [        5       nUR                  S/S/U R                  /S9  g )Nro   rp   )rr   rs   rt   )r   r   rw   r   )r/   rx   s     r   	testEmptyTestDistro.testEmpty   sH    {seDGG9M{seDGG9Mr   c                 >   U R                   R                  S5      (       d   eU R                   R                  S5        U R                   R                  S5      (       a   eU R                   R                  S5      (       d   eU R                   R                  S5        U R                   R                  S5      (       a   eU R                   R                  S5      (       d   eU R                   R                  S5        U R                   R                  S5      (       a   eg )Nro   rp   rq   )rx   has_contents_forr   r   s    r   testContentsTestDistro.testContents   s    yy))#....		!!#&99--c2222yy))#....		!!#&99--c2222yy))#....		!!#&99--c22222r   c                    [         R                  " [        5         U R                  R	                  SS9  S S S 5        [         R                  " [        5         U R                  R                  SS9  S S S 5        [         R                  " [        5         U R                  R	                  SS0S9  S S S 5        [         R                  " [        5         U R                  R                  SS0S9  S S S 5        [         R                  " [        5         U R                  R	                  SS0S9  S S S 5        [         R                  " [        5         U R                  R                  SS0S9  S S S 5        [         R                  " [        5         U R                  R	                  S/S9  S S S 5        [         R                  " [        5         U R                  R                  S/S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNh= f! , (       d  f       GN<= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr%   )nonexistent_optionr'   r   r   r*   )ru   )r4   r5   r   rx   r   r   r   s    r   testInvalidIncludeExclude$TestDistro.testInvalidIncludeExclude   s   ]]./II5 0]]./II5 0]]./IISz2 0]]./IISz2 0]]./II3*5 0]]./II3*5 0 ]]./II3%0 0]]./II3%0 0/ 0/////////// 0///s_   G,G>HH"H4III(,
G;>
H
H"
H14
I
I
I%(
I6)rx   rv   rw   N)re   rf   rg   rh   rz   r   r   r   r   r   r   r   rj   r   r   r   rl   rl      s,    	
C)";2N31r   rl   c                 x    U R                  S5        U S-  R                  S5        U S-  R                  S5        U $ )Nfoo
foo/bar.py 
readme.txt)mkdirwrite)tmpdirs    r   example_sourcer      s9    
LLl!!"%l!!"%Mr   c                     [        [        R                  " [        U 5      5      5      nSS/nU Vs/ sH  o0R	                  U5      PM     nnX:X  d   eg s  snf )Nr   r   )listr   findallrO   join)r   foundexpectedfns       r   test_findallr      sT    ##C$789El+H2:;(B##B'(H; <s   Ac                     U R                  5          [        [        R                  " 5       5      nS S S 5        S[        R
                  R                  SS5      /nWU:X  d   eg ! , (       d  f       N9= f)Nr   r   zbar.py)as_cwdr   r   r   r^   r_   r   )r   r   r   s      r   test_findall_curdirr      sV    				 Z'')* 
!bggll5(;<HH 
!	 s   A##
A1c                     SnSn [         R                  " X!5        [         R                  " U5        g! [        [        [        4 a    [
        R                  " S5         NDf = f)z'
Skip if cannot create a symbolic link
linktargetzCannot create symbolic linksN)r^   symlinkOSErrorNotImplementedErrorAttributeErrorr4   skipremove)r   link_fn	target_fns      r   can_symlinkr      sS    
 GI4


9& IIg (.9 4234s   3 +A! A!r   c                     U R                  5          [        R                  " SS5        [        [        R
                  " 5       5      nU/ :X  d   e S S S 5        g ! , (       d  f       g = f)Nr   bar)r   r^   r   r   r   r   )r   r   s     r   test_findall_missing_symlinkr     sB    	


5% Z'')*{{ 
s   >A
A'z$unable to exclude tests; #4475 #3260c                     [        U 5       nUR                  5        Vs/ sH"  o"R                  [        R                  S5      PM$     nnS S S 5        W H  nSU;  a  M   e   g s  snf ! , (       d  f       N%= f)N/z/tests/)r   namelistreplacer^   sep)setuptools_wheelzipfiler9   contentsmembers        r   )test_its_own_wheel_does_not_contain_testsr     sg    	!	"g4;4D4D4FG4FqIIbffc*4FG 
# &&&  H 
#	"s   A((A#A(#A((
A6c                    [        U 5       nUR                  5        Vs/ sH"  o"R                  [        R                  S5      PM$     nnS S S 5        [        S W 5       5      (       d   eg s  snf ! , (       d  f       N-= f)Nr   c              3   *   #    U H
  nS U;   v   M     g7f)z
cli-64.exeNr   .0r   s     r   	<genexpr>2test_wheel_includes_cli_scripts.<locals>.<genexpr>  s     =H&|v%Hs   r   r   r   r^   r   anyr   r   r9   r   s       r   test_wheel_includes_cli_scriptsr     sf    	!	"g4;4D4D4FG4FqIIbffc*4FG 
# =H===== H 
#	"   A0(A+A0+A00
A>c                    [        U 5       nUR                  5        Vs/ sH"  o"R                  [        R                  S5      PM$     nnS S S 5        [        S W 5       5      (       d   eg s  snf ! , (       d  f       N-= f)Nr   c              3   N   #    U H  n[         R                  " S U5      v   M     g7f)z_vendor/.*\.dist-info/METADATAN)researchr   s     r   r   8test_wheel_includes_vendored_metadata.<locals>.<genexpr>   s"      KS		3V<<8s   #%r   r   s       r   %test_wheel_includes_vendored_metadatar     ss    	!	"g4;4D4D4FG4FqIIbffc*4FG 
#  KS     H 
#	"r   )(rD   r^   r   rB   r   r   r4   packaging.versionr   r   setuptools.dependsdependsr-   setuptools.distr   distutils.cmdr   distutils.corer   distutils.errorsr   fixturer   r   markskipifr,   ri   r   rl   r   r   r   r   usefixturesr   xfailr   r   r   r   r   r   <module>r      s)   ( 	 	 
   %     &   $ 0  0 ##*+++ $ T% T%nW1 W1t   
 
 ' ( @A' B'>r   