
    <|h
                     ^   d Z ddlmZ ddlmZ ddlmZ ddlmZ  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Zdd
lmZ  G d dee      Z G d dee      Z G d de
j0                        Zedk(  r e
j6                          yy# e$ r ddlZddlmZ dd	lmZ Y fw xY w)zz
Trivial test that a single process (and single thread) can both read
and write from green sockets (when monkey patched).
    )print_function)absolute_import)division)monkeyN)request)
HTTPServer)SimpleHTTPRequestHandler)paramsc                       e Zd Zd Zy)QuietHandlerc                 F    | j                   xj                  |ffz  c_        y N)servermessages)selfargss     [/var/www/html/test/engine/venv/lib/python3.12/site-packages/gevent/tests/test__greenness.pylog_messagezQuietHandler.log_message4   s    $
*    N)__name__
__module____qualname__r    r   r   r   r   2   s    +r   r   c                        e Zd ZdZdZd Zd Zy)Serverr   r   c                 V    t        j                  | t        j                  t               y r   )r   __init__r
   DEFAULT_BIND_ADDR_TUPLEr   r   s    r   r   zServer.__init__<   s    D"::(	*r   c                 X    t        j                  |        | xj                  dz  c_        y )N   )r   handle_requestrequests_handledr   s    r   r"   zServer.handle_requestA   s!    !!$'"r   N)r   r   r   r   r#   r   r"   r   r   r   r   r   7   s    H*
#r   r   c                       e Zd ZdZd Zy)TestGreennessFc                 x   t               }t        j                  |j                        }|j                  j                         d   }t        j                  d|z        }|j                          |j                          |j                          | j                  |j                  d       |j                          y )Nr!   zhttp://127.0.0.1:%s)r   geventspawnr"   socketgetsocknameurllib2urlopenreadclosejoinassertEqualr#   server_close)r   httpdserver_greenletportrsps        r   test_urllib2zTestGreenness.test_urllib2I   s     ,,u';';<||'')!,oo3d:;
		//3r   N)r   r   r   check_totalrefcountr6   r   r   r   r%   r%   F   s    
r   r%   __main__)__doc__
__future__r   r   r   r'   r   	patch_allgevent.testingtesting	greentesturllibr   r+   http.serverr   r	   ImportErrorBaseHTTPServerSimpleHTTPServerr
   objectr   r   TestCaser%   r   mainr   r   r   <module>rG      s   , & &       #:)&4  !++V +
#Z #I&&   zINN ]  :)9	:s   B B,+B,