
    i
                     f   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 n# e$ r ddlZddlmZ dd	lmZ Y nw xY w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
j                  Zedk    r e
j                     dS dS )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dS )QuietHandlerc                 4    | j         xj        |ffz  c_        d S N)servermessages)selfargss     G/usr/local/lib/python3.11/dist-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dS )Serverr   r   c                 P    t          j        | t          j        t                     d S r   )r   __init__r
   DEFAULT_BIND_ADDR_TUPLEr   r   s    r   r   zServer.__init__<   s,    D":(	* 	* 	* 	* 	*r   c                 N    t          j        |            | xj        dz  c_        d S )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dS )TestGreennessFc                    t                      }t          j        |j                  }|j                                        d         }t          j        d|z            }|                                 |	                                 |
                                 |                     |j        d           |                                 d S )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';<<|''))!,o3d:;;


		/33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444444 : : :NNN))))))99999999	:  ! ! ! ! ! !+ + + + ++V + + +
# # # # #Z # # #    I&     zIN s   A AA