o
    ÑtPfF  ã                   @   s^   d dl Z d dl mZ d dl mZ d dlmZ dd„ ZG dd„ dejƒZe	dkr-e 
¡  dS dS )	é    N)Úsocket)Úserverc                 C   s"   |   d¡r	 |   d¡s|  ¡  d S )Ni   )ÚrecvÚclose)ÚsockÚ_© r   ú`/var/www/html/humari/django-venv/lib/python3.10/site-packages/gevent/tests/test__socket_close.pyÚreadall	   s   

ÿr
   c                   @   s:   e Zd ZdZdd„ Zdd„ Zdd„ Ze d¡d	d
„ ƒZ	dS )ÚTestFc                 C   s   t  tjt¡| _ | j  ¡  d S ©N)r   ÚStreamServerÚ	greentestÚDEFAULT_BIND_ADDR_TUPLEr
   Ústart©Úselfr   r   r	   ÚsetUp   s   z
Test.setUpc                 C   s   | j  ¡  d S r   )r   Ústopr   r   r   r	   ÚtearDown   s   zTest.tearDownc                 C   sª   t   t jt j¡}| tj| jjf¡ t 	|j
d¡}z6t d¡ | ¡  |jdd |  | ¡ |¡ |  |jd ¡ |  |jt j¡ |  |jjt j¡ W | ¡  d S | ¡  w )Né   çü©ñÒMbP?gš™™™™™¹?)Útimeout)r   ÚAF_INETÚSOCK_STREAMÚconnectr   ÚDEFAULT_CONNECT_HOSTr   Úserver_portÚgeventÚspawnr   Úsleepr   ÚjoinÚ
assertTrueÚreadyÚassertEqualÚvalueÚassertIsInstanceÚ	exceptionÚerrorÚerrnoÚEBADFÚkill©r   r   Úreceiverr   r   r	   Útest_recv_closed   s   
zTest.test_recv_closedzSometimes randomly times outc                 C   s†   t   t jt j¡}| tj| jjf¡ t 	|j
d¡}z t d¡ |  t|j
d¡ |  t|j
d¡ W | ¡  | ¡  d S | ¡  | ¡  w )Nr   r   )r   r   r   r   r   r   r   r   r   r   r   r    ÚassertRaisesÚAssertionErrorr+   r   r,   r   r   r	   Útest_recv_twice+   s   
ÿ
zTest.test_recv_twiceN)
Ú__name__Ú
__module__Ú__qualname__Úerror_fatalr   r   r.   r   ÚskipOnLibuvOnCIr1   r   r   r   r	   r      s    r   Ú__main__)r   r   r   Úgevent.testingÚtestingr   r
   ÚTestCaser   r2   Úmainr   r   r   r	   Ú<module>   s    *ÿ