o
    ÑtPf  ã                   @   s  d dl mZmZmZ d dlZd dlZddlmZ dd„ Zdd„ Z	e	Z
e	Ze	Ze	Ze	Ze	Ze	Ze	Ze	Ze	Ze	Zejr<ejne	ZejrDejne	ZejrLejne	ZejrTejne	Zejr\ejne	Zejsdejne	Z e	Z!e	Z"e	Z#e	Z$e	Z%e	Z&e	Z'ej(rzejZej)r€ejZ
ej*r†ejZej+r’ejZej)r’ejZej,r˜ejZej-r¶ejZej+r¤ejZej(rªejZej.r¶ejZej+r¶ejZej/r¼ejne	Z0ej1Z1ej2Z2da3d	d
„ Z4dd„ Z5dd„ Z6ej7rýejZ!ej+räejZ#ej-räejZ$ej8rðej9rðej:rðejZ&ej(rüejZ"ej-rüejZ%nejZ'ddd„Z;ddd„Z<dS )é    )Úabsolute_importÚprint_functionÚdivisionNé   )Úsysinfoc                 C   s   | S ©N© )Úfr   r   úX/var/www/html/humari/django-venv/lib/python3.10/site-packages/gevent/testing/skipping.pyÚ	_identity   s   r   c                 C   s   | sJ ‚t S r   )r   ©Úreasonr   r   r
   Ú_do_not_skip   s   r   c                   C   s   t d u r
t ¡ d ua t S r   )Ú_has_psutil_processr   Úget_this_psutil_processr   r   r   r
   Ú_check_psutilo   s   r   c                    s   ‡ ‡fdd„}|S )Nc                    s`   t | tƒs| ‰t | ¡‡‡‡fdd„ƒ}|} | S | ‰ ˆ j‰t | ¡‡ ‡‡‡fdd„ƒ}|ˆ _| S )Nc                     s   ˆƒ st  ˆ¡‚ˆ | i |¤ŽS r   )ÚunittestÚSkipTest)ÚargsÚkwargs)r	   Ú	predicater   r   r
   Úskip_wrapperz   s   
zE_make_runtime_skip_decorator.<locals>.decorator.<locals>.skip_wrapperc                    s(   ˆƒ sdˆ _ ˆˆ _t ˆ¡‚ˆ| ƒ d S )NT)Ú__unittest_skip__Ú__unittest_skip_why__r   r   )Úself)ÚbaseÚ
base_setUpr   r   r   r
   ÚsetUpŽ   s
   
z>_make_runtime_skip_decorator.<locals>.decorator.<locals>.setUp)Ú
isinstanceÚtypeÚ	functoolsÚwrapsr   )Ú	test_itemr   r   ©r   r   )r   r   r	   r
   Ú	decoratorw   s   
õz/_make_runtime_skip_decorator.<locals>.decoratorr   )r   r   r$   r   r#   r
   Ú_make_runtime_skip_decoratorv   s   "r%   c                 C   s   d|  } t | tƒS )Nzpsutil not available: )r%   r   r   r   r   r
   ÚskipWithoutPSUtil›   s   
r&   Ú c                    s:   dˆ f }|s
|}n|d | d }‡ fdd„}t ||ƒS )NzRequires resource %rz (ú)c                     s   ddl m}  |  ¡  ˆ ¡S )Nr   ©Ú	resources)r'   r*   Úensure_setup_resourcesÚis_resource_enabledr)   ©Úresourcer   r
   r   ½   s   z&skipWithoutResource.<locals>.predicate)r%   )r.   r   Úrequiresr   r   r-   r
   ÚskipWithoutResource´   s   

r0   c                 C   s
   t d| ƒS )NÚnetwork)r0   r   r   r   r
   ÚskipWithoutExternalNetworkÃ   s   
r2   )r'   )=Ú
__future__r   r   r   r    r   r'   r   r   r   Ú	skipOnMacÚskipOnMacOnCIÚskipOnWindowsÚskipOnAppVeyorÚskipOnCIÚskipOnManylinuxÚ
skipOnPyPyÚskipOnPyPyOnCIÚskipOnPyPy3OnCIÚskipOnPyPy3ÚskipOnPyPyOnWindowsÚPY3ÚskipÚ	skipOnPy3ÚPY37Ú
skipOnPy37ÚPY310ÚskipOnPy310ÚPY312ÚskipOnPy312ÚPURE_PYTHONÚskipOnPurePythonÚskipWithCExtensionsÚskipOnLibuvÚskipOnLibuvOnWinÚskipOnLibuvOnCIÚskipOnLibuvOnCIOnPyPyÚskipOnLibuvOnPyPyOnWinÚskipOnLibuvOnTravisOnCPython27ÚskipOnLibevÚWINÚOSXÚRUNNING_ON_APPVEYORÚRUNNING_ON_CIÚRUNNING_ON_MANYLINUXÚPYPYÚPYPY3ÚRUN_COVERAGEÚskipUnderCoverageÚskipIfÚ
skipUnlessr   r   r%   r&   ÚLIBUVÚRUNNING_ON_TRAVISÚCPYTHONÚ	PY27_ONLYr0   r2   r   r   r   r
   Ú<module>   sš   %€
