o
    U˟iR                     @   s  d dl Z ddlmZ d dlZeje zd dlZW n	 ey#   Y nw e  zd dl	m
Z
 W n	 ey9   Y nw e
j  [
ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" ddlm#Z# ddlm$Z$ ddlm%Z% ddlm&Z& ddlm'Z' ddlm(Z( dd lm)Z) dd!lm*Z* dd"lm+Z+ dd#lm,Z, dd$lm-Z- dd%lm.Z. dd&lm/Z/ dd'l0m1Z1 dd(l0m2Z2 dd)l0m3Z3 dd*l0m4Z4 dd+l0m5Z5 dd,l0m6Z6 dd-l0m7Z7 dd.l0m8Z8 dd/l0m9Z9 dd0l0m:Z: dd1l0m;Z; dd2l0m<Z< dd3l0m=Z= dd4l0m>Z> dd5l0m?Z? dd6l0m@Z@ dd7l0mAZA dd8l0mBZB dd9l0mCZC dd:l0mDZD dd;l0mEZE dd<l0mFZF dd=l0mGZG dd>l0mHZH dd?l0mIZI dd@l0mJZJ ddAlKmLZL ddBlMmNZN ddClOmPZP ddDlOmQZQ ddElOmRZR ddFlOmSZS ddGlOmTZT ddHlOmUZU ddIlOmVZV ddJlOmWZW e jXZXe jYZYddKlZm[Z[ ddLlZm\Z\ ddMl]m^Z^ ddNl]m_Z_ ddOl`maZa ddPlbmcZc e jaZdddQlemfZf ddRlemgZg ddSlemhZh ddTlemiZi dUdV Zjzd dWl mkZk W n# eyX   zd dlkZkW n eyU   G dXdY dYelZkY nw Y nw ekZkd dZlmmnZn dS )[    N   )QuietHub)	_corecffi)VERBOSE)WIN)LINUX)OSX)LIBUV)CFFI_BACKEND)DEBUG)RUN_LEAKCHECKS)RUN_COVERAGE)PY2)PY3)PY36)PY37)PY38)PY39)PY310)PYPY)PYPY3)CPYTHON)PLATFORM_SPECIFIC_SUFFIXES)NON_APPLICABLE_SUFFIXES)SHARED_OBJECT_EXTENSION)RUNNING_ON_TRAVIS)RUNNING_ON_APPVEYOR)RUNNING_ON_CI)RUNNING_ON_MANYLINUX)RUNNING_ON_MUSLLINUX)RUNNING_ON_GITHUB_ACTIONS)RESOLVER_NOT_SYSTEM)RESOLVER_DNSPYTHON)RESOLVER_ARES)resolver_dnspython_available)EXPECT_POOR_TIMER_RESOLUTION)CONN_ABORTED_ERRORS)skipOnWindows)skipOnAppVeyor)skipOnCI)skipOnPyPy3OnCI)
skipOnPyPy)skipOnPyPyOnCI)skipOnPyPyOnWindows)skipOnPyPy3)skipIf)
skipUnless)skipOnLibev)skipOnLibuv)skipOnLibuvOnWin)skipOnLibuvOnCI)skipOnLibuvOnCIOnPyPy)skipOnLibuvOnPyPyOnWin)skipOnPurePython)skipWithCExtensions)
skipOnPy37)skipOnPy310)skipOnPy312)	skipOnPy3)skipWithoutResource)skipWithoutExternalNetwork)skipOnManylinux)skipOnMacOnCI)ExpectedException)ignores_leakcheck)LARGE_TIMEOUT)DEFAULT_LOCAL_HOST_ADDR)DEFAULT_LOCAL_HOST_ADDR6)DEFAULT_BIND_ADDR)DEFAULT_BIND_ADDR_TUPLE)DEFAULT_CONNECT_HOST)DEFAULT_SOCKET_TIMEOUT)DEFAULT_XPC_SOCKET_TIMEOUT)bind_and_listen)tcp_listener)get_number_open_files)get_open_files)TestCase)walk_modules)reraiseFlakyTestTimeout)reraiseFlakyTestRaceCondition)reraises_flaky_timeout)reraises_flaky_race_conditionc                  C   s   ddl } tr|   dS dS )z3Collect garbage if necessary for destructors to runr   N)gcr   collect)rU    rW   _/var/www/apps/myagent/mysuperagent/venv/lib/python3.10/site-packages/gevent/testing/__init__.pygc_collect_if_needed   s   rY   )mockc                   @   s   e Zd Zedd ZdS )rZ   c                 C   s
   t | S )N)unittestskip)reasonrW   rW   rX   patch   s   
z
mock.patchN)__name__
__module____qualname__staticmethodr^   rW   rW   rW   rX   rZ      s    rZ   )verify)or[   hubr   
gevent.hubgeventset_default_hub_classfaulthandlerImportErrorenablegevent.libuvr   libgevent_test_setupsysinfor   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   skippingr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   	exceptionrA   	leakcheckrB   paramsrC   rD   rE   rF   rG   rH   rI   rJ   mainSkipTestsocketsrK   rL   	openfilesrM   rN   testcaserO   modulesrP   BaseTestCaseflakyrQ   rR   rS   rT   rY   rZ   objectzope.interfacerc   rW   rW   rW   rX   <module>   s   	
	