
    ih                        d Z ddlZ G d de      Z G d de      Z ed      Z ed      Z ed	      Z ed
      Zed        Z	edd       Z
edd       Zed        Zed        Zed        Zd
Z e       ej                   e<   y)a  
A re-export of the support module from Python's test package, with some
version compatibility shims and overrides.

The manylinux docker images do not include test.support at all, for space reasons,
so we need to be vaguely functional to run tests in that environment.
    Nc                       e Zd Zd Zy)_Defaultc                     || _         y N)value)selfr   s     T/var/www/html/dev/engine/venv/lib/python3.12/site-packages/gevent/testing/support.py__init__z_Default.__init__(   s	    
    N)__name__
__module____qualname__r
    r   r	   r   r   #   s    
r   r   c                   :     e Zd ZdZd Zd Zd Z fdZd Z xZ	S )_ModuleProxy)	_this_mod_stdlib_supportc                 J    t         j                  t           | _        | | _        y r   )sysmodulesr   r   r   r   s    r	   r
   z_ModuleProxy.__init__/   s    X.#r   c                 t    | j                   | u r	 ddlm} || _         | j                   S # t        $ r d }Y  w xY w)Nr   )support)r   testr   ImportError)r   stdlib_supports     r	   __get_stdlib_supportz!_ModuleProxy.__get_stdlib_support3   sD    4'&: $2D ###	  &!%&s   ) 77c                    	 t        | j                  |      }t	        |t
              r	 t        | j                         |      S y # t        $ r t        | j                         |      cY S w xY w# t        $ r |j                  cY S w xY wr   )getattrr   AttributeError _ModuleProxy__get_stdlib_support
isinstancer   r   )r   name	local_vals      r	   __getattr__z_ModuleProxy.__getattr__=   s    	>5I i*'t88:DAA +  	>4446==	> " ' &'s"   A A- #A*)A*-BBc                 $   |t         j                  v rt        t         |   ||       y 	 t	        | j                         ||       	 t        | j                  |       y # t        $ r Y y w xY w# t        $ r t	        | j                  ||       Y y w xY wr   )	r   	__slots__super__setattr__setattrr!   delattrr   r    )r   r#   r   	__class__s      r	   r)   z_ModuleProxy.__setattr__J   s    <))),1$>	D--/u=-!   	1DNND%0	1s#   A, A 	A)(A), BBc                 ,    t        | j                        S r   )reprr   r   s    r	   __repr__z_ModuleProxy.__repr__Z   s    DNN##r   )
r   r   r   r'   r
   r!   r%   r)   r/   __classcell__)r,   s   @r	   r   r   +   s!    0I$$ $r   r   z::1	localhostz	127.0.0.1Fc                      y)NFr   _s    r	   is_resource_enabledr5   b   s    r   c                 n   dd l }||n t        j                  t           j                  }| j
                  |j                  k(  rL| j                  |j                  k(  r3t        |d      r'| j                  |j                  |j                  d       | j                  |df       | j                         d   }|S )Nr   SO_EXCLUSIVEADDRUSE   )socketr   r   r   HOSTfamilyAF_INETtypeSOCK_STREAMhasattr
setsockopt
SOL_SOCKETr7   bindgetsockname)sockhostr9   ports       r	   	bind_portrG   f   s    #4X)>)C)CD{{fnn$f6H6H)H601OOF--v/I/I1MIItQia DKr   c                    dd l }| xs |j                  } |xs |j                  }|j                  | |      }	 t        j                  t
           j                  |      }|j                          ~|S # |j                          ~w xY w)Nr   )r9   r<   r>   r   r   r   rG   close)r;   socktyper9   tempsockrF   s        r	   find_unused_portrL   r   st    %v~~F-6--H}}VX.H{{8$..x8K 	s   &A1 1Bc                      g S r   r   r   r   r	   threading_setuprN      s    Ir   c                       y r   r   r3   s    r	   threading_cleanuprP          r   c                       y r   r   r   r   r	   reap_childrenrS      rQ   r   r   )NN)__doc__r   objectr   r   HOSTv6r:   HOSTv4verboser5   rG   rL   rN   rP   rS   gevent_has_setup_resourcesr   r   r   r   r	   <module>rZ      s   ( v 0$6 0$d 
%	+	
5/	 
 
	 
	 

 

 
 
 
	 
	 
	 
	 # $H r   