
    [4%e                         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 g dZd Zd	 Z G d
 dej                  Z G d dej                  Zd Zedk    r e             dS dS )    )reduceN)AsyncHTTPClient)
HTTPServer)Resolver)defineadd_parse_callbackoptions)#ztornado.httputil.doctestsztornado.iostream.doctestsztornado.util.doctestsztornado.test.asyncio_testztornado.test.auth_testztornado.test.autoreload_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                  J    t           j                            t                    S N)unittestdefaultTestLoaderloadTestsFromNamesTEST_MODULES     5lib/python3.11/site-packages/tornado/test/runtests.pyallr   9   s    %88FFFr   c                 <      G  fddt           j                  }|S )Nc                   ,     e Zd Z fdZ fdZ xZS )2test_runner_factory.<locals>.TornadoTextTestRunnerc                 D    |d<    t                      j        |i | d S )Nstream)super__init__)selfargskwargs	__class__stderrs      r   r   z;test_runner_factory.<locals>.TornadoTextTestRunner.__init__?   s/    %F8EGGd-f-----r   c           
      f   t                                          |          }|j        rt          d |j        D                       }| j                            t          j        dd                    t          |                    z                       | j                            d           |S )Nc              3       K   | ]	\  }}|V  
d S r   r   ).0testreasons      r   	<genexpr>zItest_runner_factory.<locals>.TornadoTextTestRunner.run.<locals>.<genexpr>F   s&      "O"OntV6"O"O"O"O"O"Or   z#Some tests were skipped because: %sz, 
)
r   runskippedsetr   writetextwrapfilljoinsorted)r   r#   resultskip_reasonsr   s       r   r'   z6test_runner_factory.<locals>.TornadoTextTestRunner.runC   s    WW[[&&F~ (""O"O"O"O"OOO!!M=))F<$8$899:    !!$'''Mr   )__name__
__module____qualname__r   r'   __classcell__)r   r   s   @r   TornadoTextTestRunnerr   >   sW        	. 	. 	. 	. 	. 	.	 	 	 	 	 	 	 	 	r   r5   )r   TextTestRunner)r   r5   s   ` r   test_runner_factoryr7   =   sB           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                 d     t                      j        |i | dx| _        x| _        | _        d S Nr   )r   r   
info_countwarning_counterror_count)r   r   r   r   s      r   r   zLogCounter.__init__V   s<    $)&)))BCCC$,t/?/?/?r   c                     |j         t          j        k    r| xj        dz  c_        nK|j         t          j        k    r| xj        dz  c_        n%|j         t          j        k    r| xj        dz  c_        dS )N   T)levelnologgingERRORr>   WARNINGr=   INFOr<   )r   records     r   filterzLogCounter.filterZ   sr    >W]**!^w..!#^w|++OOq OOtr   )r1   r2   r3   __doc__r   rG   r4   )r   s   @r   r9   r9   S   sR        ==D D D D D      r   r9   c                        e Zd Zd Zd Zd ZdS )CountingStderrc                 "    || _         d| _        d S r;   )real
byte_count)r   rL   s     r   r   zCountingStderr.__init__e   s    	r   c                 p    | xj         t          |          z  c_         | j                            |          S r   )rM   lenrL   r*   )r   datas     r   r*   zCountingStderr.writei   s,    3t99$yt$$$r   c                 4    | j                                         S r   )rL   flush)r   s    r   rR   zCountingStderr.flushm   s    y   r   N)r1   r2   r3   r   r*   rR   r   r   r   rJ   rJ   d   sA          % % %! ! ! ! !r   rJ   c            	         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t          d           t          j        dt          d           t          j        dt
          d           d	t          j        cxk     rd
k     rn nt          j        dt          d           t          j        dt          d           t          j
        d                              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k    s!j        dk    sj        dk    s|j        dk    rPt          j        d"j        j        j        |j                   t>          j         rt          j!        d#           d S d S d S # j        dk    s!j        dk    sj        dk    s|j        dk    rNt          j        d"j        j        j        |j                   t>          j         rt          j!        d#           w w w xY w)%Nerrorignore)categoryztornado\..*)rV   modulezPlease use assert.* instead)rV   messageztwisted\..*)   )rY      zasyncio\..*z!PY_SSIZE_T_CLEAN will be requiredztornado.access
httpclientc                 J    t          j        | t          d                    S )NF)
allow_ipv6)defaults)r   	configuredict)ss    r   <lambda>zmain.<locals>.<lambda>   s(    ?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                 n    t          j        t          t          j        d | D                                 S )Nc              3   @   K   | ]}t          t          |          V  d S r   )getattrgc)r"   vs     r   r%   z)main.<locals>.<lambda>.<locals>.<genexpr>   s*      !A!AQ'"a..!A!A!A!A!A!Ar   )rl   	set_debugr   operatoror_)valuess    r   rb   zmain.<locals>.<lambda>   s0    8<!A!A&!A!A!ABB!
 !
 r   )rc   multiplehelpre   zfail-if-logszTIf true, fail the tests if any log output is produced (unless captured by ExpectLog))rd   rs   c                 D    t          j        t           j        |            d S r   )locale	setlocaleLC_ALL)xs    r   
set_localezmain.<locals>.set_locale   s    *****r   ru   c                  f    t          j                    j        d                                        S r;   )rB   	getLoggerhandlers	addFilter)log_counters   r   rb   zmain.<locals>.<lambda>   s&    w022;A>HHUU r   r   Fwarnings
testRunnerz?logged %d infos, %d warnings, %d errors, and %d bytes to stderrr@   r   )"r   filterwarningsImportWarningDeprecationWarningPendingDeprecationWarningBytesWarningsysversion_infoResourceWarningrB   r{   setLevelCRITICALr   strr   r_   r   r9   r   r   rJ   tornado.testingr7   testingmainr<   r=   r>   rM   rT   r	   fail_if_logsexit)ry   orig_stderrcounting_stderrtornador   r~   s        @r   r   r   q   s!    G$$$ H}==== H/ABBBBG.@XXXXH/HIIII3N    -7T    *-    H|NSSSSc'''''''''
 	~	
 	
 	
 	
 #3    &''001ABBB

 
	    <c4*:NOOOO
:C8JKKKK
>
 
	 	 	 	 c   + + + 8#tjAAAA,,KUUUUVVV
 *K$[11O CJF F:.{;;F<&&v&&&
 "Q&&(1,,&**)A--MQ&)'*   #   .- "Q&&(1,,&**)A--MQ&)'*   #  .s   ?L A<N__main__)	functoolsr   rl   ioru   rB   ro   r+   r   r   r   tornado.httpclientr   tornado.httpserverr   tornado.netutilr   tornado.optionsr   r   r	   r   r   r7   Filterr9   IOBaserJ   r   r1   r   r   r   <module>r      s~         				 				     



   . . . . . . ) ) ) ) ) ) $ $ $ $ $ $ ? ? ? ? ? ? ? ? ? ?$ $ $NG G G! ! !,       "
! 
! 
! 
! 
!RY 
! 
! 
!| | |~ zDFFFFF r   