
    <|hF                         d dl Z d dl mZ d dl mZ d dlmZ d Z G d dej                        Ze	dk(  r ej                          yy)    N)socket)serverc                 l    | j                  d      r	 | j                  d      r| j                          y )Ni   )recvclose)sock_s     ^/var/www/html/test/engine/venv/lib/python3.12/site-packages/gevent/tests/test__socket_close.pyreadallr   	   s&    
))D/ ))D/JJL    c                   R    e Zd ZdZd Zd Zd Z ej                  d      d        Z	y)TestFc                     t        j                  t        j                  t              | _         | j                   j                          y N)r   StreamServer	greentestDEFAULT_BIND_ADDR_TUPLEr   startselfs    r
   setUpz
Test.setUp   s,    )))*K*KWUr   c                 8    | j                   j                          y r   )r   stopr   s    r
   tearDownzTest.tearDown   s    r   c                     t        j                   t         j                  t         j                        }|j                  t        j
                  | j                  j                  f       t        j                  |j                  d      }	 t        j                  d       |j                          |j                  d       | j                  |j                         |       | j!                  |j"                  d        | j%                  |j&                  t         j(                         | j!                  |j&                  j*                  t         j,                         |j/                          y # |j/                          w xY 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   receivers      r
   test_recv_closedzTest.test_recv_closed   s    }}V^^V-?-?@i44dkk6M6MNO<<		2.		LLJJLMM#M&OOHNN,h7X^^T2!!("4"4fllCX//55v||DMMOHMMOs   	CE+ +E=zSometimes randomly times outc                 L   t        j                   t         j                  t         j                        }|j                  t        j
                  | j                  j                  f       t        j                  |j                  d      }	 t        j                  d       | j                  t        |j                  d       | j                  t        |j                  d       |j                          |j                          y # |j                          |j                          w xY w)Nr   r   )r   r   r    r!   r   r"   r   r#   r$   r%   r   r&   assertRaisesAssertionErrorr1   r   r2   s      r
   test_recv_twicezTest.test_recv_twice+   s    }}V^^V-?-?@i44dkk6M6MNO<<		2.	LLndii<ndii<MMOJJL MMOJJLs   	AD "D#N)
__name__
__module____qualname__error_fatalr   r   r4   r   skipOnLibuvOnCIr8    r   r
   r   r      s8    K" Y=>
 ?
r   r   __main__)r$   r   r   gevent.testingtestingr   r   TestCaser   r9   mainr>   r   r
   <module>rD      sD       "
'9 'T zINN r   