o
    LK&h                     @   s  d dl Z d dlZd dlZd dlmZ d dlmZ d dlZejdddd Z	dd	 Z
d
d Zejjdddejje  ddejddejdejjddddejdejjddddejdejjddddejdejjddddejdejjdddgdd Zdd ZdS )    N)URLError)urlopenT)autousec                 C   s.   |  g d }|tjkrtd dS dS )zY
    pytest_virtualenv may not work. if it doesn't, skip these
    tests. See #1284.
    )python-czimport sys; print(sys.prefix)z/virtualenv is broken (see pypa/setuptools#1284)N)runstripsysprefixpytestskip)venvvenv_prefix r   S/var/www/html/venv/lib/python3.10/site-packages/setuptools/tests/test_virtualenv.pypytest_virtualenv_works
   s   
r   c                 C   s    ddddt |g}| | dS )zC
    Check setuptools can be installed in a clean environment.
    r   -mpipinstallN)strr   )venv_without_setuptoolssetuptools_wheelcmdr   r   r   test_clean_env_install   s   r   c                   C   s:   t jddsz	tddd W dS  ty   Y dS w dS )NNETWORK_REQUIREDFzhttps://pypi.org   )timeoutT)osenvirongetr   r   r   r   r   r   access_pypi   s   r    z*platform.python_implementation() == "PyPy"zChttps://github.com/pypa/setuptools/pull/2865#issuecomment-965834995)reasonz
no networkpip_versionzpip<20.1zsys.version_info >= (3, 12)z-pip 23.1.2 required for Python 3.12 and later)markszpip<21zpip<22zpip<23z,https://github.com/pypa/pip/archive/main.zipz#2975c              	   C   s   |}| g d | dur| ddddd| dg ttj | g d	 W d   n1 s1w   Y  | ddt|g | ddd
dt|g dS )z7
    Check pip can upgrade setuptools from source.
    )r   r   -UwheelNr   r   r   r   r$   z--retries=1)r   r   zimport setuptoolsz--no-cache-dirz	--upgrade)r   r   raises
subprocessCalledProcessErrorr   )r"   r   r   setuptools_sdistr   r   r   r   test_pip_upgrade_from_source)   s   5r*   c                 C   s   |j j}| jg d|d dS )zP
    Quick and dirty test to ensure all external dependencies are vendored.
    )r   zsetup.pyz--help)cwdN)configrootdirr   )	bare_venvrequestsetuptools_dirr   r   r   test_no_missing_dependenciesl   s   r1   )r   r'   r	   urllib.errorr   urllib.requestr   r   fixturer   r   r    markskipifparametrizeparamxfailr*   r1   r   r   r   r   <module>   sl    


&