o
    Eh#                     @   s   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	d
 Zdd ZG dd dejZG dd dejZdd Zedkrwe  dS dS )    )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                   C   s   t jtS N)unittestdefaultTestLoaderloadTestsFromNamesTEST_MODULES r   r   V/var/www/html/Persson_Maskin/env/lib/python3.10/site-packages/tornado/test/runtests.pyall;   s   r   c                    s.   G dd dt j G  fdddt j}|S )Nc                       s   e Zd Z fddZ  ZS )z2test_runner_factory.<locals>.TornadoTextTestResultc                    s   |t krd S t || d S r
   )r	   superaddSkip)selftestreason	__class__r   r   r   B   s   z:test_runner_factory.<locals>.TornadoTextTestResult.addSkip)__name__
__module____qualname__r   __classcell__r   r   r   r   TornadoTextTestResultA   s    r   c                       s,   e Zd Z fddZ fddZ  ZS )z2test_runner_factory.<locals>.TornadoTextTestRunnerc                    s&   |d<  |d< t  j|i | d S )Nstreamresultclass)r   __init__r   argskwargs)r   r   stderrr   r   r    K   s   z;test_runner_factory.<locals>.TornadoTextTestRunner.__init__c              	      sR   t  |}|jr'dd |jD }| jtddt|  | jd |S )Nc                 S   s   h | ]\}}|qS r   r   ).0r   r   r   r   r   	<setcomp>S       zItest_runner_factory.<locals>.TornadoTextTestRunner.run.<locals>.<setcomp>z#Some tests were skipped because: %sz, 
)	r   runskippedr   writetextwrapfilljoinsorted)r   r   resultskip_reasonsr   r   r   r)   P   s   z6test_runner_factory.<locals>.TornadoTextTestRunner.run)r   r   r   r    r)   r   r   r   r$   r   r   TornadoTextTestRunnerJ   s    r3   )r   TextTestResultTextTestRunner)r$   r3   r   r2   r   test_runner_factory?   s   	r6   c                       s(   e Zd ZdZ fddZdd Z  ZS )
LogCounterz3Counts the number of WARNING or higher log records.c                    s(   t  j|i | d | _ | _| _d S Nr   )r   r    
info_countwarning_counterror_countr!   r   r   r   r    c   s   zLogCounter.__init__c                 C   sZ   |j tjkr|  jd7  _dS |j tjkr|  jd7  _dS |j tjkr+|  jd7  _dS )N   T)levelnologgingERRORr;   WARNINGr:   INFOr9   )r   recordr   r   r   filterg   s   zLogCounter.filter)r   r   r   __doc__r    rC   r   r   r   r   r   r7   `   s    r7   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )CountingStderrc                 C   s   || _ d| _d S r8   )real
byte_count)r   rF   r   r   r   r    r   s   
zCountingStderr.__init__c                 C   s   |  j t|7  _ | j|S r
   )rG   lenrF   r+   )r   datar   r   r   r+   v   s   zCountingStderr.writec                 C   s
   | j  S r
   )rF   flush)r   r   r   r   rJ   z   s   
zCountingStderr.flushN)r   r   r   r    r+   rJ   r   r   r   r   rE   q   s    rE   c                     s  t d t jdtd t jdtd t jdtdd t jdtd t jdtdd tdtj t	dt
d dd	 d
 t	dt
d tjd
 t	dt
d tjd
 t	dt
dddd	 d t	dddd dd } t	dt
d | d
 t  t fdd	 tj}t|}|t_dd l}i }d|d< t||d< z9|jjdi | W  jdks jdks jdks|jdkrtd j j j|j tjrtd d S d S d S  jdks jdks jdks|jdkrtd j j j|j tjrtd w w w ) Nerrorignore)categoryztornado\..*)rM   moduleztornado.access
httpclientc                 S   s   t j| tdddS )NF)
allow_ipv6)defaults)r   	configuredict)sr   r   r   <lambda>   s    
zmain.<locals>.<lambda>)typedefaultcallback
httpserverresolverdebug_gcTzhA comma-separated list of gc module debug constants, e.g. DEBUG_STATS or DEBUG_COLLECTABLE,DEBUG_OBJECTSc                 S   s   t ttjdd | D S )Nc                 s   s    | ]}t t|V  qd S r
   )getattrgc)r%   vr   r   r   	<genexpr>   s    z)main.<locals>.<lambda>.<locals>.<genexpr>)r]   	set_debugr   operatoror_)valuesr   r   r   rU      s    )rV   multiplehelprX   zfail-if-logszTIf true, fail the tests if any log output is produced (unless captured by ExpectLog))rW   re   c                 S   s   t t j|  d S r
   )locale	setlocaleLC_ALL)xr   r   r   
set_locale   s   zmain.<locals>.set_localerf   c                      s   t  jd  S r8   )r>   	getLoggerhandlers	addFilterr   log_counterr   r   rU      r'   r   Fwarnings
testRunnerz?logged %d infos, %d warnings, %d errors, and %d bytes to stderrr<   r   )rp   filterwarningsImportWarningDeprecationWarningPendingDeprecationWarningr>   rk   setLevelCRITICALr   strr   rR   r   r7   r   sysr$   rE   tornado.testingr6   testingmainr9   r:   r;   rG   rK   r   fail_if_logsexit)rj   orig_stderrcounting_stderrtornador#   r   rn   r   r|   ~   s   









r|   __main__) 	functoolsr   r]   iorf   r>   ra   r,   ry   r   rp   tornado.httpclientr   tornado.httpserverr   tornado.netutilr   tornado.optionsr   r   r   tornado.test.utilr	   r   r   r6   Filterr7   IOBaserE   r|   r   r   r   r   r   <module>   s0    (!`
