Ë
    êmxi#  ã                   ó$  — 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© ó    úL/home/htdocs/ttos/venv/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   ø€ ØÔ)Ò)ð Ü‰G‰O˜D &Õ)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)   ø€ Ø%ˆF�8ÑØ$9ˆF�=Ñ!Ü‰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Ø—‘×!Ñ!Ü—M‘MØ=ØŸ)™)¤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Ÿ|™|Ò+Ø�OŠO˜qÑ �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'   € Ø�Šœ3˜t›9Ñ$�Ø�y‰y�‰˜tÓ$Ð$r   c                 ó6   — | j                   j                  «       S r   )rQ   Úflush)r   s    r   rW   zCountingStderr.flushz   s   € Ø�y‰y�‰Ó Ð 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   è ø€ Ò!A°Q¤'¬"¨a§.Ñ!Aùs   ‚)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Ü×ÑØÔ3¸Nõô ×ÑÐ&Ó'×0Ñ0´×1AÑ1AÔBä
ØÜØñ
õ	ô ˆ<œc¨4¼*×:NÑ:NÕOÜ
ˆ:œC¨¼×8JÑ8JÕKÜ
ØÜØð>ñ
õ	ô ØØØcõò+ô ˆ8œ# t°jÕAä“,€KÜÓUÔVô
 —*‘*€KÜ$ [Ó1€OØ „C„Jãà€Fð €Fˆ:Ñä.¨{Ó;€Fˆ<ÑðØˆ�‰×ÑÑ&˜vÒ&ð
 ×"Ñ" QÒ&Ø×(Ñ(¨1Ò,Ø×&Ñ&¨Ò*Ø×)Ñ)¨AÒ-ä�M‰MØQØ×&Ñ&Ø×)Ñ)Ø×'Ñ'Ø×*Ñ*ôô ×#Ò#Ü—‘˜•ð $ð .øð ×"Ñ" QÒ&Ø×(Ñ(¨1Ò,Ø×&Ñ&¨Ò*Ø×)Ñ)¨AÒ-ä�M‰MØ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�—‘ô ô"
!�R—Y‘Yô 
!ò]ð@ ˆzÒÙ…Fð r   