
    #/h                        S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKJr  S SKJr  S SKJr  S SKJrJrJr  / SQrS rS	 r " S
 S\R0                  5      r " S S\R4                  5      rS r\S:X  a  \" 5         gg)    )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    [         R                  R                  [        5      $ N)unittestdefaultTestLoaderloadTestsFromNamesTEST_MODULES     7/usr/lib/python3/dist-packages/tornado/test/runtests.pyallr   :   s    %%88FFr   c                 @   ^   " U 4S jS[         R                  5      nU$ )Nc                   8   >^  \ rS rSrU U4S jrU 4S jrSrU =r$ )2test_runner_factory.<locals>.TornadoTextTestRunner?   c                 0   > TUS'   [         TU ]  " U0 UD6  g )Nstream)super__init__)selfargskwargs	__class__stderrs      r   r   ;test_runner_factory.<locals>.TornadoTextTestRunner.__init__@   s    %F8Gd-f-r   c           
      J  > [         TU ]  U5      nUR                  (       a  [        S UR                   5       5      nU R                  R                  [        R                  " SSR                  [        U5      5      -  5      5        U R                  R                  S5        U$ )Nc              3   *   #    U  H	  u  pUv   M     g 7fr   r   ).0testreasons      r   	<genexpr>Itest_runner_factory.<locals>.TornadoTextTestRunner.run.<locals>.<genexpr>G   s     "Ont6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*   6test_runner_factory.<locals>.TornadoTextTestRunner.runD   s|    W[&F~~""O"OO!!MM=))F<$89: !!$'Mr   r   )__name__
__module____qualname____firstlineno__r   r*   __static_attributes____classcell__)r   r    s   @r   TornadoTextTestRunnerr   ?   s    	.	 	r   r;   )r   TextTestRunner)r    r;   s   ` r   test_runner_factoryr=   >   s     7 7 $ ! r   c                   2   ^  \ rS rSrSrU 4S jrS rSrU =r$ )
LogCounterT   z3Counts the number of WARNING or higher log records.c                 P   > [         TU ]  " U0 UD6  S=U l        =U l        U l        g Nr   )r   r   
info_countwarning_counterror_count)r   r   r   r   s      r   r   LogCounter.__init__W   s,    $)&)BCCC$,t/?r   c                 :   UR                   [        R                  :  a  U =R                  S-  sl        gUR                   [        R                  :  a  U =R
                  S-  sl        gUR                   [        R                  :  a  U =R                  S-  sl        g)N   T)levelnologgingERRORrE   WARNINGrD   INFOrC   )r   records     r   filterLogCounter.filter[   ss    >>W]]*!
 	 ^^w.!#  ^^w||+OOq Or   )rE   rC   rD   )	r5   r6   r7   r8   __doc__r   rO   r9   r:   )r   s   @r   r?   r?   T   s    =D r   r?   c                   &    \ rS rSrS rS rS rSrg)CountingStderre   c                     Xl         SU l        g rB   )real
byte_count)r   rV   s     r   r   CountingStderr.__init__f   s    	r   c                 t    U =R                   [        U5      -  sl         U R                  R                  U5      $ r   )rW   lenrV   r-   )r   datas     r   r-   CountingStderr.writej   s'    3t9$yyt$$r   c                 6    U R                   R                  5       $ r   )rV   flush)r   s    r   r^   CountingStderr.flushn   s    yy  r   )rW   rV   N)r5   r6   r7   r8   r   r-   r^   r9   r   r   r   rS   rS   e   s    %!r   rS   c            	      r  ^ [         R                  " S5        [         R                  " S[        S9  [         R                  " S[        S9  [         R                  " S[        S9  [         R                  " S[        SS9  [         R                  " S[
        S9  [         R                  " S[
        SS9  [        R                  " S5      R                  [        R                  5        [        S[        S S S	9  [        S
[        S [        R                  S	9  [        S[        S [        R                  S	9  [        S[        SSS S9  [        SSSS9  S n [        S[        S U S	9  [        5       m[!        U4S j5        ["        R$                  n['        U5      nU["        l        SS Kn0 nSUS'   [+        U5      US'    UR,                  R.                  " S0 UD6  TR0                  S:  d0  TR2                  S:  d   TR4                  S:  d  UR6                  S:  ao  [        R8                  " STR0                  TR2                  TR4                  UR6                  5        [:        R<                  (       a  ["        R>                  " S5        g g g ! TR0                  S:  d0  TR2                  S:  d   TR4                  S:  d  UR6                  S:  ao  [        R8                  " STR0                  TR2                  TR4                  UR6                  5        [:        R<                  (       a  ["        R>                  " S5        f f f = f)Nerrorignore)categoryztornado\..*)rc   moduleztornado.access
httpclientc                 :    [         R                  " U [        SS9S9$ )NF)
allow_ipv6)defaults)r   	configuredict)ss    r   <lambda>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                 l    [         R                  " [        [        R                  S U  5       5      5      $ )Nc              3   B   #    U  H  n[        [        U5      v   M     g 7fr   )getattrgc)r$   vs     r   r'   )main.<locals>.<lambda>.<locals>.<genexpr>   s     !A&Q'"a..&s   )rw   	set_debugr   operatoror_)valuess    r   rl   rm      s!    8<<!A&!AB!
r   )rn   multiplehelprp   zfail-if-logszTIf true, fail the tests if any log output is produced (unless captured by ExpectLog))ro   r   c                 N    [         R                  " [         R                  U 5        g r   )locale	setlocaleLC_ALL)xs    r   
set_localemain.<locals>.set_locale   s    *r   r   c                  f   > [         R                  " 5       R                  S   R                  T 5      $ rB   )rJ   	getLoggerhandlers	addFilter)log_counters   r   rl   rm      s$    w002;;A>HHUr   r   Fwarnings
testRunnerz?logged %d infos, %d warnings, %d errors, and %d bytes to stderrrH   r   ) r   filterwarningsImportWarningUserWarningDeprecationWarningPendingDeprecationWarningrJ   r   setLevelCRITICALr   strr   ri   r   r?   r   sysr    rS   tornado.testingr=   testingmainrC   rD   rE   rW   ra   r	   fail_if_logsexit)r   orig_stderrcounting_stderrtornador   r   s        @r   r   r   r   s    G$ H}=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J B1L6__main__)	functoolsr   rw   ior   rJ   r{   r.   r   r   r   tornado.httpclientr   tornado.httpserverr   tornado.netutilr   tornado.optionsr   r   r	   r   r   r=   Filterr?   IOBaserS   r   r5   r   r   r   <module>r      s     	 	     
   . ) $ ? ?%PG!, "
!RYY 
!^B zF r   