o
    tPf
                     @   s  d Z ddlmZ ddlmZ ddlmZ ddlmZ e  ddlm	Z
 zddlmZ ddlmZ dd	lmZ W n eyQ   ddlZddlmZ dd	lmZ Y nw ddlZdd
lmZ G dd deeZG dd deeZG dd de
jZedkre
  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                   @   s   e Zd Zdd ZdS )QuietHandlerc                 G   s   | j  j|ff7  _d S N)servermessages)selfargs r   ]/var/www/html/humari/django-venv/lib/python3.10/site-packages/gevent/tests/test__greenness.pylog_message4   s   zQuietHandler.log_messageN)__name__
__module____qualname__r   r   r   r   r   r
   2   s    r
   c                   @   s$   e Zd ZdZdZdd Zdd ZdS )Serverr   r   c                 C   s   t | tjt d S r   )r   __init__r	   DEFAULT_BIND_ADDR_TUPLEr
   r   r   r   r   r   <   s   zServer.__init__c                 C   s   t |  |  jd7  _d S )N   )r   handle_requestrequests_handledr   r   r   r   r   A   s   
zServer.handle_requestN)r   r   r   r   r   r   r   r   r   r   r   r   7   s
    r   c                   @   s   e Zd ZdZdd ZdS )TestGreennessFc                 C   s`   t  }t|j}|j d }td| }|  |	  |
  | |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rspr   r   r   test_urllib2I   s   zTestGreenness.test_urllib2N)r   r   r   check_totalrefcountr-   r   r   r   r   r   F   s    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   r   <module>   s0   