
    gN                        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j0                        Z G d dej4                        Zd Zedk(  r e        yy)    )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.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     J/var/www/openai/venv/lib/python3.12/site-packages/tornado/test/runtests.pyallr   :   s    %%88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<   t        |   |i | y )Nstream)super__init__)selfargskwargs	__class__stderrs      r   r   z;test_runner_factory.<locals>.TornadoTextTestRunner.__init__@   s    %F8Gd-f-r   c           
      >   t         |   |      }|j                  rt        d |j                  D              }| j                  j                  t        j                  ddj                  t        |            z               | j                  j                  d       |S )Nc              3   &   K   | ]	  \  }}|  y wr   r   ).0testreasons      r   	<genexpr>zItest_runner_factory.<locals>.TornadoTextTestRunner.run.<locals>.<genexpr>G   s     "OntV6s   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.runD   s|    W[&F~~""O"OO!!MM=))F<$89: !!$'Mr   )__name__
__module____qualname__r   r'   __classcell__)r   r   s   @r   TornadoTextTestRunnerr   ?   s    	.	 	r   r5   )r   TextTestRunner)r   r5   s   ` r   test_runner_factoryr7   >   s     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__W   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ERRORr>   WARNINGr=   INFOr<   )r   records     r   filterzLogCounter.filter[   ss    >>W]]*!
 	 ^^w.!#  ^^w||+OOq Or   )r1   r2   r3   __doc__r   rG   r4   )r   s   @r   r9   r9   T   s    =Dr   r9   c                       e Zd Zd Zd Zd Zy)CountingStderrc                      || _         d| _        y r;   )real
byte_count)r   rL   s     r   r   zCountingStderr.__init__f   s    	r   c                 t    | xj                   t        |      z  c_         | j                  j                  |      S r   )rM   lenrL   r*   )r   datas     r   r*   zCountingStderr.writej   s'    3t9$yyt$$r   c                 6    | j                   j                         S r   )rL   flush)r   s    r   rR   zCountingStderr.flushn   s    yy  r   N)r1   r2   r3   r   r*   rR   r   r   r   rJ   rJ   e   s    %!r   rJ   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\..*)rV   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)r"   vs     r   r%   z)main.<locals>.<lambda>.<locals>.<genexpr>   s     !A&Q'"a.&s   )ri   	set_debugr   operatoror_)valuess    r   r_   zmain.<locals>.<lambda>   s!    8<<!A&!AB!
r   )r`   multiplehelprb   zfail-if-logszTIf true, fail the tests if any log output is produced (unless captured by ExpectLog))ra   rp   c                 L    t        j                  t         j                  |        y r   )locale	setlocaleLC_ALL)xs    r   
set_localezmain.<locals>.set_locale   s    *r   rr   c                  d    t        j                         j                  d   j                         S r;   )rB   	getLoggerhandlers	addFilter)log_counters   r   r_   zmain.<locals>.<lambda>   s$    w002;;A>HHUr   r   Fwarnings
testRunnerz?logged %d infos, %d warnings, %d errors, and %d bytes to stderrr@   r   )r|   filterwarningsImportWarningDeprecationWarningPendingDeprecationWarningrB   rx   setLevelCRITICALr   strr   r\   r   r9   r   sysr   rJ   tornado.testingr7   testingmainr<   r=   r>   rM   rT   r	   fail_if_logsexit)rv   orig_stderrcounting_stderrtornador   r{   s        @r   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   ri   iorr   rB   rl   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     	 	     
   . ) $ ? ?%PG!, "
!RYY 
!]@ zF r   