
    <|h                         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        yy)
    )print_functionNc                       y N )_args_kwargss     Z/var/www/html/test/engine/venv/lib/python3.12/site-packages/gevent/tests/test__doctests.py
myfunctionr
      s        c                       e Zd ZdZd Zd Zy)RENormalizingOutputCheckerzS
    Pattern-normalizing output checker. Inspired by one used in zope.testing.
    c                     |D cg c]%  \  }}t        j                  |j                  |      ' c}}| _        y c c}}w r   )	functoolspartialsubtransformers)selfpatternsrereplacements       r	   __init__z#RENormalizingOutputChecker.__init__   s-    [cdKY..rvv{Cdds   *:c                     ||k(  ry| j                   D ]  } ||      } ||      } t        j                  j                  | |||      S )NT)r   doctestOutputCheckercheck_output)r   wantgotoptionflagstransformers        r	   r   z'RENormalizingOutputChecker.check_output   sT    $;,, 	#Kt$Dc"C	# $$11$c;OOr   N)__name__
__module____qualname____doc__r   r   r   r   r	   r   r      s    ePr   r   c                   (    e Zd Zd Zd Zd ZeZd Zy)Modulesc                     ddl m} || _        t               | _         |d      D ]  \  }}| j                  ||        y )Nr   )walk_modulesT)	recursive)gevent.testingr'   allowed_modulessetmodules
add_module)r   r*   r'   pathmodules        r	   r   zModules.__init__*   s<    /.u(48 	*LD&OOFD)	*r   c                     | j                   r|| j                   vry |t        v ry | j                  j                  ||f       y r   )r*   FORBIDDEN_MODULESr,   add)r   namer.   s      r	   r-   zModules.add_module3   s=    D0D0D$D$$$&r   c                 ,    t        | j                        S r   )boolr,   r   s    r	   __bool__zModules.__bool__:       DLL!!r   c                 ,    t        | j                        S r   )iterr,   r6   s    r	   __iter__zModules.__iter__?   r8   r   N)r    r!   r"   r   r-   r7   __nonzero__r;   r   r   r	   r%   r%   (   s    *'" 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        j                  dh       	 t        j                  dd  }t        j                  j                  d	       t        ||d
}t!        |      }|s't        j"                  ddj%                  |      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 }|j5                         }d d d        t-        j6                  dt,        j8                        sQt;        j<                  |||	      }t?        |j@                        }|jC                  d|||       |jE                  |       |dz  }|
|z  }
 |jC                  d|
|       t'        jF                  d      }|jI                  |       t        jJ                  |        y # 1 sw Y   xY w# t        jJ                  |        w xY w)N1PURE_PYTHONr   )socket)util)sysinfozgevent.subprocess   .)r
   geventr@   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environrE   r@   r)   rA   rB   WINr1   updatesysargvr.   appendr
   r%   exitjoinunittest	TestSuiter   r   compilesortedopenreadsearchMr   DocTestSuitelen_testslogaddTestTextTestRunnerrunchdir)cwdrE   r@   rA   rB   r*   globsr,   suiterI   tests_countmodules_countmr.   fcontentss
test_countrunners                      r	   mainrq   C   s   
))+C #BJJ} $&{{  "
 	
-((12, %
 /*HH3chh6OOP""$, ZZRT?A ZZ$e,ZZ$e,	.
 	 g 		*GAtdD! $Q668$yyx6((ugN ]
11dJGa "z)		* 	0+}M((15

5
$ $ 	s,   !C2I I $-I BI  I		I I#__main__)
__future__r   r   r   rL   r   rQ   rV   r
   r   r   r+   r1   objectr%   rq   r    r   r   r	   <module>ru      sc    %   	 	 
 	P!6!6 P$ E "f "6?B zF r   