
    Xh#                     $   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 dlZd dl	Z	d dl
Z
d dlmZ d dlmZ d dlmZ d dlmZmZmZ d dlmZ g dZd	 Zd
 Z G d dej4                        Z G d dej8                        Zd Zedk(  r e        yy)    )reduceN)AsyncHTTPClient)
HTTPServer)Resolver)defineadd_parse_callbackoptions)ABT_SKIP_MESSAGE)$ztornado.httputil.doctestsztornado.iostream.doctestsztornado.util.doctestsztornado.test.asyncio_testztornado.test.auth_testztornado.test.autoreload_testztornado.test.circlerefs_testztornado.test.concurrent_testz!tornado.test.curl_httpclient_testztornado.test.escape_testztornado.test.gen_testz!tornado.test.http1connection_testztornado.test.httpclient_testztornado.test.httpserver_testztornado.test.httputil_testztornado.test.import_testztornado.test.ioloop_testztornado.test.iostream_testztornado.test.locale_testztornado.test.locks_testztornado.test.netutil_testztornado.test.log_testztornado.test.options_testztornado.test.process_testztornado.test.queues_testztornado.test.routing_testz#tornado.test.simple_httpclient_testztornado.test.tcpclient_testztornado.test.tcpserver_testztornado.test.template_testztornado.test.testing_testztornado.test.twisted_testztornado.test.util_testztornado.test.web_testztornado.test.websocket_testztornado.test.wsgi_testc                  H    t         j                  j                  t              S N)unittestdefaultTestLoaderloadTestsFromNamesTEST_MODULES     I/var/www/html/myenv/lib/python3.12/site-packages/tornado/test/runtests.pyallr   ;   s    %%88FFr   c                 t      G d dt         j                         G  fddt         j                        }|S )Nc                        e Zd Z fdZ xZS )2test_runner_factory.<locals>.TornadoTextTestResultc                 :    |t         k(  ry t        | 	  ||       y r   )r
   superaddSkip)selftestreason	__class__s      r   r   z:test_runner_factory.<locals>.TornadoTextTestResult.addSkipB   s    )) GOD&)r   )__name__
__module____qualname__r   __classcell__r   s   @r   TornadoTextTestResultr   A   s    	* 	*r   r$   c                   .     e Zd Z fdZ fdZ xZS )2test_runner_factory.<locals>.TornadoTextTestRunnerc                 8    |d<   |d<   t        |   |i | y )Nstreamresultclass)r   __init__)r   argskwargsr$   r   stderrs      r   r*   z;test_runner_factory.<locals>.TornadoTextTestRunner.__init__K   s)    %F8$9F=!Gd-f-r   c           
      N   t         |   |      }|j                  r|j                  D ch c]  \  }}|	 }}}| j                  j	                  t        j                  ddj                  t        |            z               | j                  j	                  d       |S c c}}w )Nz#Some tests were skipped because: %sz, 
)	r   runskippedr(   writetextwrapfilljoinsorted)r   r   resultr   skip_reasonsr   s        r   r0   z6test_runner_factory.<locals>.TornadoTextTestRunner.runP   s    W[&F~~=C^^L>D&LL!!MM=))F<$89: !!$'M  Ms   B!)r   r    r!   r*   r0   r"   )r   r$   r-   s   @r   TornadoTextTestRunnerr&   J   s    	.
	 	r   r9   )r   TextTestResultTextTestRunner)r-   r9   r$   s   ` @r   test_runner_factoryr<   ?   s/    * 7 7 * 7 7 & ! r   c                   (     e Zd ZdZ fdZd Z xZS )
LogCounterz3Counts the number of WARNING or higher log records.c                 N    t        |   |i | dx| _        x| _        | _        y Nr   )r   r*   
info_countwarning_counterror_count)r   r+   r,   r   s      r   r*   zLogCounter.__init__c   s,    $)&)BCCC$,t/?r   c                 4   |j                   t        j                  k\  r| xj                  dz  c_        y|j                   t        j                  k\  r| xj
                  dz  c_        y|j                   t        j                  k\  r| xj                  dz  c_        y)N   T)levelnologgingERRORrC   WARNINGrB   INFOrA   )r   records     r   filterzLogCounter.filterg   ss    >>W]]*!
 	 ^^w.!#  ^^w||+OOq Or   )r   r    r!   __doc__r*   rL   r"   r#   s   @r   r>   r>   `   s    =Dr   r>   c                       e Zd Zd Zd Zd Zy)CountingStderrc                      || _         d| _        y r@   )real
byte_count)r   rQ   s     r   r*   zCountingStderr.__init__r   s    	r   c                 t    | xj                   t        |      z  c_         | j                  j                  |      S r   )rR   lenrQ   r2   )r   datas     r   r2   zCountingStderr.writev   s'    3t9$yyt$$r   c                 6    | j                   j                         S r   )rQ   flush)r   s    r   rW   zCountingStderr.flushz   s    yy  r   N)r   r    r!   r*   r2   rW   r   r   r   rO   rO   q   s    %!r   rO   c            	      F   t        j                  d       t        j                  dt               t        j                  dt               t        j                  dt        d       t        j                  dt               t        j                  dt        d       t        j                  d      j                  t
        j                         t        dt        d d 	       t        d
t        d t        j                  	       t        dt        d t        j                  	       t        dt        ddd        t        ddd       d } t        dt        d | 	       t               t        fd       t         j"                  }t%        |      }|t         _        dd l}i }d|d<   t)        |      |d<   	  |j*                  j,                  di | j.                  dkD  s-j0                  dkD  sj2                  dkD  s|j4                  dkD  rht        j6                  dj.                  j0                  j2                  |j4                         t8        j:                  rt!        j<                  d       y y y # j.                  dkD  s-j0                  dkD  sj2                  dkD  s|j4                  dkD  rht        j6                  dj.                  j0                  j2                  |j4                         t8        j:                  rt!        j<                  d       w w w xY w)Nerrorignore)categoryztornado\..*)r[   moduleztornado.access
httpclientc                 D    t        j                  | t        d            S )NF)
allow_ipv6)defaults)r   	configuredict)ss    r   <lambda>zmain.<locals>.<lambda>   s    ?44.
 r   )typedefaultcallback
httpserverresolverdebug_gcTzhA comma-separated list of gc module debug constants, e.g. DEBUG_STATS or DEBUG_COLLECTABLE,DEBUG_OBJECTSc                 j    t        j                  t        t        j                  d | D                    S )Nc              3   <   K   | ]  }t        t        |        y wr   )getattrgc).0vs     r   	<genexpr>z)main.<locals>.<lambda>.<locals>.<genexpr>   s     !AQ'"a.!As   )rn   	set_debugr   operatoror_)valuess    r   rd   zmain.<locals>.<lambda>   s#    8<<!A&!AB!
 r   )re   multiplehelprg   zfail-if-logszTIf true, fail the tests if any log output is produced (unless captured by ExpectLog))rf   rw   c                 L    t        j                  t         j                  |        y r   )locale	setlocaleLC_ALL)xs    r   
set_localezmain.<locals>.set_locale   s    *r   ry   c                  d    t        j                         j                  d   j                         S r@   )rG   	getLoggerhandlers	addFilter)log_counters   r   rd   zmain.<locals>.<lambda>   s&    w002;;A>HHU r   r   Fwarnings
testRunnerz?logged %d infos, %d warnings, %d errors, and %d bytes to stderrrE   r   )r   filterwarningsImportWarningDeprecationWarningPendingDeprecationWarningrG   r   setLevelCRITICALr   strr   ra   r   r>   r   sysr-   rO   tornado.testingr<   testingmainrA   rB   rC   rR   rY   r	   fail_if_logsexit)r}   orig_stderrcounting_stderrtornador,   r   s        @r   r   r   ~   s    G$ H}= H/ABG.@XH/HI3N &'001A1AB

	 <c4*:N:NO
:C8J8JK
>
	 c+ 8#tjA,KUV
 **K$[1O CJF F:.{;F<&v&
 ""Q&((1,&&*))A-MMQ&&))''** ## $ . ""Q&((1,&&*))A-MMQ&&))''** ## $ .s   9I: :B&L __main__) 	functoolsr   rn   iory   rG   rs   r3   r   r   r   tornado.httpclientr   tornado.httpserverr   tornado.netutilr   tornado.optionsr   r   r	   tornado.test.utilr
   r   r   r<   Filterr>   IOBaserO   r   r   r   r   r   <module>r      s     	 	     
   . ) $ ? ? .%PG!B "
!RYY 
!]@ zF r   