
    ϶vgc                     |   d dl Z d dlZd dlZd dlZd dlZdej        v ZdddZd Zd(dZ	d)d	Z
ej                            ej        d
k    d          Zed             Zd Zej                            dd          d             Zd Zd ZdZej                            d          ej                            d ej        dde           ej        dde           ej        dde          dddg          d                         Zd Zej                            d          ej                            d!d" ej        de          g          d#                         Zd$Zej                            d          ej                            dd% ej        dd&e          g          d'                         ZdS )*    N__pypy__Tzutf-8)textencodingc                 b    | r,t          j                    dk    rt          j        d         | d<   | S )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    e/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/tests/test_distutils_adoption.pywin_srr      s4      5x  I--J|4LJ    	distutilsc                      dj         di t                      }dd|g} | j        |fdt          |          it          |S )Nz+import {imports}; print(distutils.__file__)python-cr    )formatlocalsrunr   _TEXT_KWARGS)venvimportsr   kwargspy_cmdcmds         r   find_distutilsr       sU    A:AMMFHHMMFT6
"C48CCCVC[[CLCFCCCr   c           	          t          j        d          }dd|g}t           | j        |fdt	          |          it
                    S )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%      sS    _	 F T6
"Cxtx=====>>>r   )      z-stdlib distutils is removed from Python 3.12+)reasonc                     t          d          }| j        t          | |                              t          j                  vsJ t          | |          dk    sJ dS )z;
    Ensure stdlib distutils is used when appropriate.
    stdlibSETUPTOOLS_USE_DISTUTILSr   r   Ndictnamer    splitr   sepr%   r   r   s     r   test_distutils_stdlibr3   1   sh    
 
1
1
1C9N4S999??GGGGGG4S)))Q......r   c                     t          d          }t          | d|          }| j        |                    t          j                  v sJ t          | |          dk    sJ dS )z:
    Ensure local distutils is used when appropriate.
    localr+   zsetuptools, distutils)r   r   r      N)r.   r    r/   r0   r   r1   r%   )r   r   locs      r   $test_distutils_local_with_setuptoolsr8   ;   sn     
0
0
0C
'>C
H
H
HC9		"&))))))4S)))Q......r   IS_PYPYz!pypy imports distutils on startupc                     t          d          }| j        t          | |                              t          j                  v sJ t          | |          dk    sJ dS )zZ
    Even without importing, the setuptools-local copy of distutils is
    preferred.
    r5   r+   r   r6   Nr-   r2   s     r   test_distutils_localr;   E   sh     
0
0
0C9t555;;BFCCCCCC4S)))Q......r   c                 4    g d} | j         |fi t           dS )zD
    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DHS!!L!!!!!r   c                  <    t          d          j        j        sJ dS )z=
    Distutils module spec should have an origin. #2990.
    r   N)
__import____spec__originr   r   r   test_distutils_has_originrB   Y   s$     k""+22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)r5   rF   )r5   rH   )r5   rI   c                     t          |           }t                              |          }dd|g} |j        |fdt	          |          it
                                          }|dk    sJ d S )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   s~     (9
:
:
:C.55o5VVFT6
"CTXc;;vc{{;l;;AAC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   r5   c                     t          |           }ddt          g} |j        |fdt          |          it                                          }|dk    sJ d S )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      si     (9
:
:
:CT>
?CTXc;;vc{{;l;;AAC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")
)r5   r   zsetuptools._distutilsc                     t          |           }ddt                              |          g} |j        |fdt	          |          it
                                          }|dk    sJ d S )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      s     (9
:
:
:C077+ 	8 	
 	
C TXc;;vc{{;l;;AACCFYr   )r   N)N)r   r	   sysr"   pytestbuiltin_module_namesr9   r   r   r    r%   markskipifversion_infoskip_without_stdlib_distutilsr3   r8   xfailr;   r=   rB   rM   usefixturesparametrizeparamrQ   rS   rT   rV   rW   r   r   r   <module>rc      s   				  



  
0
0'22	 	 	D D D D	? 	? 	? 	? !' 2 2: !3 ! !  / / // / / 9%HII/ / JI/" " "3 3 3% !* &&,Xz1NOOOX{2OPPPX~5RSSS!
 
 
 
 '&' # &&X%BCCC    '&, ( &&, 	-5R	
 	
 	
	
 

 

 
 '&
 
 
r   