a
    „'fG  ã                   @   sF   d dl Z d dl mZ d dlmZ G dd„ dejƒZedkrBe ¡  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 n tjy0   Y n0 d S ©N)ÚserverÚacceptÚ_close_on_teardownr   Úerror)ÚselfÚconnÚ_© r   úo/var/www/staging/api/virtual_environments/venv/lib/python3.9/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   Ú	greentestZ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r4| 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 sd0    Y  |j}|  |jd¡ |  t|ƒd¡ d S )Nr   gš™™™™™¹?i   )ú	timed outr    )r   r   r   r   Úconnectr   Z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   Zgevent.testingÚtestingr   ZTestCaser   r-   Úmainr   r   r   r   Ú<module>   s
   ,