o
    ÑtPfG  ã                   @   sJ   d dl Z d dl mZ d dlmZ G dd„ dejƒZedkr#e ¡  dS dS )é    N)Úsocketc                       sD   e Zd ZdZdZdZdd„ Z‡ fdd„Z‡ fdd„Zdd	„ Z	‡  Z
S )
ÚTestNc                 C   s6   z| j  ¡ \}}|  |¡ W d S  tjy   Y d S w ©N)ÚserverÚacceptÚ_close_on_teardownr   Úerror)ÚselfÚconnÚ_© r   úb/var/www/html/humari/django-venv/lib/python3.10/site-packages/gevent/tests/test__socket_timeout.pyÚ_accept   s   ÿzTest._acceptc                    sN   t t| ƒ ¡  |  tjdd¡| _| j ¡ d | _t	 
| j¡| _t	 d¡ d S )Né   )Úbacklogr   )Úsuperr   ÚsetUpr   Ú	greentestÚtcp_listenerr   ÚgetsocknameÚserver_portÚgeventÚspawnr   ÚacceptorÚsleep©r	   ©Ú	__class__r   r   r      s
   z
Test.setUpc                    sF   | j d ur| j  ¡  d | _ | jd ur| j ¡  d | _tt| ƒ ¡  d S r   )r   Úkillr   Úcloser   r   ÚtearDownr   r   r   r   r       s   



zTest.tearDownc                 C   s–   t  d¡ t ¡ }|  |¡ | tj| jf¡ | d¡ |  	tj
¡}| d¡ W d   ƒ n1 s2w   Y  |j}|  |jd¡ |  t|ƒd¡ d S )Nr   gš™™™™™¹?i   )ú	timed outr!   )r   r   r   r   Úconnectr   ÚDEFAULT_CONNECT_HOSTr   Ú
settimeoutÚassertRaisesr   ÚrecvÚ	exceptionÚassertEqualÚargsÚstr)r	   ÚsockÚcmÚexr   r   r   Útest_timeout#   s   


ÿzTest.test_timeout)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r    r.   Ú__classcell__r   r   r   r   r      s    	r   Ú__main__)	r   r   Úgevent.testingÚtestingr   ÚTestCaser   r/   Úmainr   r   r   r   Ú<module>   s    ,ÿ