
    i                         d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd Z G d dej	                  Z
 e            Z G d de          Zd Zed	k    r e             dS dS )
    )print_functionNc                      d S N )_args_kwargss     F/usr/local/lib/python3.11/dist-packages/gevent/tests/test__doctests.py
myfunctionr
      s    D    c                       e Zd ZdZd Zd ZdS )RENormalizingOutputCheckerzS
    Pattern-normalizing output checker. Inspired by one used in zope.testing.
    c                 (    d |D             | _         d S )Nc                 H    g | ]\  }}t          j        |j        |           S r   )	functoolspartialsub).0rereplacements      r	   
<listcomp>z7RENormalizingOutputChecker.__init__.<locals>.<listcomp>   s+    dddKY.rv{CCdddr   )transformers)selfpatternss     r	   __init__z#RENormalizingOutputChecker.__init__   s    dd[cdddr   c                     ||k    rdS | j         D ]} ||          } ||          }t          j                            | |||          S )NT)r   doctestOutputCheckercheck_output)r   wantgotoptionflagstransformers        r	   r   z'RENormalizingOutputChecker.check_output   s_    $;;4, 	# 	#K;t$$D+c""CC$11$c;OOOr   N)__name__
__module____qualname____doc__r   r   r   r   r	   r   r      sD         e e eP P P P Pr   r   c                   *    e Zd Zd Zd Zd ZeZd ZdS )Modulesc                     ddl m} || _        t                      | _         |d          D ]\  }}|                     ||           d S )Nr   )walk_modulesT)	recursive)gevent.testingr*   allowed_modulessetmodules
add_module)r   r-   r*   pathmodules        r	   r   zModules.__init__*   sh    //////.uu(L4888 	* 	*LD&OOFD))))	* 	*r   c                 x    | j         r|| j         vrd S |t          v rd S | j                            ||f           d S r   )r-   FORBIDDEN_MODULESr/   add)r   namer1   s      r	   r0   zModules.add_module3   sP     	D0D$D$DF$$$F$&&&&&r   c                 *    t          | j                  S r   )boolr/   r   s    r	   __bool__zModules.__bool__:       DL!!!r   c                 *    t          | j                  S r   )iterr/   r9   s    r	   __iter__zModules.__iter__?   r;   r   N)r#   r$   r%   r   r0   r:   __nonzero__r>   r   r   r	   r(   r(   (   sW        * * *' ' '" " " K" " " " "r   r(   c                     t          j                    } dt           j        d<   dd l}ddlm} ddlm} ddlm} |j        rt          
                    dh           	 t          j        dd          }t          j                            d	           t          ||d
}t!          |          }|s*t          j        dd                    |          z             t'          j                    }t+          t-          j        d          dft-          j        d          dft-          j        d          dff          }	d}
d}t1          |          D ]\  }}t3          |d          5 }|                                }d d d            n# 1 swxY w Y   t-          j        d|t,          j                  rbt;          j        |||	          }t?          |j                   }|!                    d|||           |"                    |           |dz  }|
|z  }
|!                    d|
|           t'          j#        d          }|$                    |           t          j%        |            d S # t          j%        |            w xY w)N1PURE_PYTHONr   )socket)util)sysinfozgevent.subprocess   .)r
   geventrC   zNo modules found matching %s z@ls: cannot access 'non_existent_file': No such file or directoryz0ls: non_existent_file: No such file or directoryzb(".*?")z\1zb('.*?')rbs   ^\s*>>> )
extraglobscheckerz%s (from %s): %s testszTotal: %s tests in %s modules   )	verbosity)&osgetcwdenvironrH   rC   r,   rD   rE   WINr4   updatesysargvr1   appendr
   r(   exitjoinunittest	TestSuiter   r   compilesortedopenreadsearchMr   DocTestSuitelen_testslogaddTestTextTestRunnerrunchdir)cwdrH   rC   rD   rE   r-   globsr/   suiterL   tests_countmodules_countmr1   fcontentss
test_countrunners                      r	   mainrt   C   s   
)++C #BJ}MMM $#####&&&&&&{   "
 	 	 	
-(122, %
 
 /** 	QH3chh6O6OOPPP"$$, ZRT T?A Z$$e,Z$$e,	.
 	 	 g 		* 		*GAtdD!! $Q6688$ $ $ $ $ $ $ $ $ $ $ $ $ $ $yx66 *(ugNNN ]]
11dJGGGa   "z)0+}MMM(1555

5
s2   DI$ E?3I$ ?F	I$ F	CI$ $I:__main__)
__future__r   r   r   rO   r   rT   rY   r
   r   r   r.   r4   objectr(   rt   r#   r   r   r	   <module>rx      s    % % % % % %      				 				 



 	 	 	P P P P P!6 P P P$ CEE " " " " "f " " "6? ? ?B zDFFFFF r   