
    vKgc                     \   S SK r S SKrS SKrS SKrS SKrS\R
                  ;   rSSS.rS rS'S jr	S(S jr
\R                  R                  \R                  S	:  S
S9r\S 5       rS r\R                  R#                  SSS9S 5       rS rS rSr\R                  R-                  S5      \R                  R/                  S\R0                  " SS\S9\R0                  " SS\S9\R0                  " SS\S9SSS/5      S 5       5       rSr\R                  R-                  S5      \R                  R/                  S S!\R0                  " S\S9/5      S" 5       5       rS#r\R                  R-                  S5      \R                  R/                  SS$\R0                  " SS%\S9/5      S& 5       5       rg))    N__pypy__Tzutf-8)textencodingc                 r    U (       a/  [         R                  " 5       S:X  a  [        R                  S   U S'   U $ )z
On Windows, SYSTEMROOT must be present to avoid

> Fatal Python error: _Py_HashRandomization_Init: failed to
> get random numbers to initialize Python
Windows
SYSTEMROOT)platformsystemosenvironenvs    h/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/tests/test_distutils_adoption.pywin_srr      s-     x I-JJ|4LJ    c                     SR                   " S0 [        5       D6nSSU/nU R                  " U4S[        U5      0[        DUD6$ )Nz+import {imports}; print(distutils.__file__)python-cr    )formatlocalsrunr   _TEXT_KWARGS)venvimportsr   kwargspy_cmdcmds         r   find_distutilsr      sE    :AAMFHMFT6
"C88CCVC[CLCFCCr   c           	          [         R                  " S5      nSSU/n[        U R                  " U4S[	        U5      0[
        D65      $ )Nz
        import sys
        is_distutils = lambda finder: finder.__class__.__name__ == "DistutilsMetaFinder"
        print(len(list(filter(is_distutils, sys.meta_path))))
        r   r   r   )textwrapdedentintr   r   r   )r   r   r   r   s       r   count_meta_pathr$      sE    __	F T6
"Ctxx===>>r   )      z-stdlib distutils is removed from Python 3.12+)reasonc                     [        SS9nU R                  [        XS9R                  [        R
                  5      ;  d   e[        XS9S:X  d   eg)z3
Ensure stdlib distutils is used when appropriate.
stdlibSETUPTOOLS_USE_DISTUTILSr   r   Ndictnamer   splitr   sepr$   r   r   s     r   test_distutils_stdlibr2   1   sG    
 
1C99N49??GGGG4)Q...r   c                     [        SS9n[        U SUS9nU R                  UR                  [        R
                  5      ;   d   e[        XS9S::  d   eg)z2
Ensure local distutils is used when appropriate.
localr*   zsetuptools, distutils)r   r   r      N)r-   r   r.   r/   r   r0   r$   )r   r   locs      r   $test_distutils_local_with_setuptoolsr7   ;   sO     
0C
'>C
HC99		"&&))))4)Q...r   IS_PYPYz!pypy imports distutils on startupc                     [        SS9nU R                  [        XS9R                  [        R
                  5      ;   d   e[        XS9S::  d   eg)zN
Even without importing, the setuptools-local copy of distutils is
preferred.
r4   r*   r   r5   Nr,   r1   s     r   test_distutils_localr:   E   sG     
0C99t5;;BFFCCCC4)Q...r   c                 :    / SQnU R                   " U40 [        D6  g)z8
Ensure pip can be imported.
Regression test for #3002.
)r   r   z
import pipN)r   r   )r   r   s     r   test_pip_importr<   P   s    
 )CHHS!L!r   c                  P    [        S5      R                  R                  (       d   eg)z5
Distutils module spec should have an origin. #2990.
	distutilsN)
__import____spec__originr   r   r   test_distutils_has_originrB   Y   s     k"++2222r   a8  
# Depending on the importlib machinery and _distutils_hack, some imports are
# duplicated resulting in different module objects being loaded, which prevents
# patches as shown in #3042.
# This script provides a way of verifying if this duplication is happening.

from distutils import cmd
import distutils.command.sdist as sdist

# import last to prevent caching
from distutils import {imported_module}

for mod in (cmd, sdist):
    assert mod.{imported_module} == {imported_module}, (
        f"\n{{mod.dir_util}}\n!=\n{{{imported_module}}}"
    )

print("success")

tmpdir_cwd)distutils_versionimported_moduler)   dir_util)marks	file_utilarchive_util)r4   rF   )r4   rH   )r4   rI   c                     [        U S9n[        R                  US9nSSU/nUR                  " U4S[	        U5      0[
        D6R                  5       nUS:X  d   eg )Nr*   rE   r   r   r   success)r-   !ENSURE_IMPORTS_ARE_NOT_DUPLICATEDr   r   r   r   strip)rD   rE   r   r   scriptr   outputs          r   )test_modules_are_not_duplicated_on_importrQ   u   sa     (9
:C.55o5VFT6
"CXXc;vc{;l;AACFYr   z
import types
import distutils.dist as dist
from distutils import log
if isinstance(dist.log, types.ModuleType):
    assert dist.log == log, f"\n{dist.log}\n!=\n{log}"
print("success")
rD   r4   c                     [        U S9nSS[        /nUR                  " U4S[        U5      0[        D6R                  5       nUS:X  d   eg )Nr*   r   r   r   rL   )r-   #ENSURE_LOG_IMPORT_IS_NOT_DUPLICATEDr   r   r   rN   )rD   r   r   r   rP   s        r   +test_log_module_is_not_duplicated_on_importrT      sO     (9
:CT>
?CXXc;vc{;l;AACFYr   z
from setuptools.modified import newer
from {imported_module}.errors import DistutilsError

# Can't use pytest.raises in this context
try:
    newer("", "")
except DistutilsError:
    print("success")
else:
    raise AssertionError("Expected to raise")
)r4   r>   zsetuptools._distutilsc                     [        U S9nSS[        R                  US9/nUR                  " U4S[	        U5      0[
        D6R                  5       nUS:X  d   eg )Nr*   r   r   rK   r   rL   )r-   (ENSURE_CONSISTENT_ERROR_FROM_MODIFIED_PYr   r   r   r   rN   )rD   rE   r   r   r   rP   s         r   &test_consistent_error_from_modified_pyrW      sg     (9
:C077+ 	8 	
C XXc;vc{;l;AACFYr   )r>   N)N)r   r	   sysr!   pytestbuiltin_module_namesr8   r   r   r   r$   markskipifversion_infoskip_without_stdlib_distutilsr2   r7   xfailr:   r<   rB   rM   usefixturesparametrizeparamrQ   rS   rT   rV   rW   r   r   r   <module>rc      s   	  
  
00
0'2	D	? !' 2 2: !3 !  / // 9%HI/ J/"3% !* &,Xz1NOX{2OPX~5RS!

 '' # &X%BC ', ( &, 	-5R	
	


 '
r   