B
    ÐH/\Æ  ã               @   s²   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ ej	 
e¡Zdd„ ZdZdddœZG d	d
„ d
ejƒZdd„ Zx eƒ  ¡ D ]\ZZeeƒ e< qˆW edkr®e ¡  dS )é    N)Úutilc           	   C   sT   t  ¡ } z:t  t¡ ddddddddg}|d	d
„ t d¡D ƒ7 }W d t  | ¡ X |S )Nzwsgiserver.pyzwsgiserver_ssl.pyzwebproxy.pyzwebpy.pyzunixsocket_server.pyzunixsocket_client.pyzpsycopg2_pool.pyzgeventsendfile.pyc             S   s   g | ]}|d d… ‘qS )é   N© )Ú.0Úxr   r   ú:lib/python3.7/site-packages/gevent/tests/test__examples.pyú
<listcomp>   s    z)_find_files_to_ignore.<locals>.<listcomp>ztest__example_*.py)ÚosÚgetcwdÚchdirÚthis_dirÚglob)Zold_dirÚresultr   r   r   Ú_find_files_to_ignore   s    
r   )é   é   )r   é   )r   r   )zconcurrent_download.pyzprocesses.pyc               @   s   e Zd ZdZdZdd„ ZdS )Ú_AbstractTestMixin)r   r   Nc          	   C   sh   t   ¡ }| j\}}tjtjd| jg|| jdddddidrL|  d| j ¡ nt   ¡ | }|  	||¡ d S )Nz-uTZGEVENT_DEBUGÚerror)ZtimeoutÚcwdÚquietZbuffer_outputÚnestedZsetenvzFailed example: )
ÚtimeÚ
time_ranger   ÚrunÚsysÚ
executableÚfilenamer   ZfailZassertGreaterEqual)ÚselfÚstartZmin_timeZmax_timeZtookr   r   r   Ú	test_runs,   s    
z_AbstractTestMixin.test_runs)Ú__name__Ú
__module__Ú__qualname__r   r   r    r   r   r   r   r   (   s   r   c           	   C   s    i } yt  ¡ j}W n$ tjk
r6   t jddd | S X tƒ }x\t |d ¡D ]J}tj	 
|¡}||krhqNtd| ttjf|t |tj¡dœƒ}|| |j< qNW | S )NzWARNING: No examples dir foundzsuboptimal-behaviour)Zcolorz/*.pyZTest_)r   r   )r   ÚExampleMixinr   ÚunittestZSkipTestÚlogr   r   r	   ÚpathÚbasenameÚtyper   Ú	greentestZTestCaseÚtime_rangesÚgetr   r!   )r   Zexample_dirÚignorer   ZbnZtcr   r   r   Ú_build_test_classes;   s$    r.   Ú__main__)r   r	   r   r   r%   Zgevent.testingZtestingr*   r   r'   ÚdirnameÚ__file__r   r   Zdefault_time_ranger+   r$   r   r.   ÚitemsÚkÚvÚlocalsr!   Úmainr   r   r   r   Ú<module>   s"   