o
    c                     @   s   d dl mZmZ d dlmZ e  d dlZd dlZd dlm	Z	 d dlZd dl
mZ d dlmZ d dlmZ edG dd	 d	ejZed
krNe  dS dS )    )print_functionabsolute_import)monkeyN)sleep)StreamServer)utilz2Timing issues sometimes lead to connection refusedc                   @   sB   e Zd ZdZddgZejrddlmZ deiZ	dd Z
d	d
 ZdS )Testzportforwarder.pyz127.0.0.1:10011z127.0.0.1:10012r   )CREATE_NEW_PROCESS_GROUPcreationflagsc                 C   s0   t jr| | j  d S | | j d d S )Nr   )	greentestWINassertIsNotNonepopenpollassertEqual)self r   ^/var/www/chikooza/env/lib/python3.10/site-packages/gevent/tests/test__example_portforwarder.pyafter   s   z
Test.afterc                    s   g   fdd}t | jd |}|  zFtd}|d td | jt	t
dt
j td |d |  td	 | j  W d    n1 sPw   Y  W |  n|  w | ddg  d S )
Nc                    s,   	 |  d}td|  |sd S  | q)NTi   zgot %r)recvprintappend)sock_addressdatalogr   r   handle#   s   

z#Test._run_all_tests.<locals>.handle   )z	127.0.0.1i'  s   msg1g?CTRL_C_EVENTs   msg2g @)r   example_argsstartsocketcreate_connectionsendallr   r   send_signalgetattrsignalSIGTERMclosegeventTimeoutwaitr   )r   r   serverconnr   r   r   _run_all_tests    s$   


zTest._run_all_testsN)__name__
__module____qualname__exampler    r   r   
subprocessr	   start_kwargsr   r/   r   r   r   r   r      s    r   __main__)
__future__r   r   r*   r   	patch_allr'   r"   timer   gevent.serverr   gevent.testingtestingr   r   skipOnLibuvOnCIOnPyPy
TestServerr   r0   mainr   r   r   r   <module>   s    3