£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
     fW                 @   sn   d Z ddlZddlZddlZddlmZ ddlmZ dZG dd de	Z
G d	d
 d
ejZG dd de	ZdS )zRunning tests    N   )result)registerResultTc               @   s*   e Zd ZdZdd Zdd Zd	ddZdS )
_WritelnDecoratorz@Used to decorate file-like objects with a handy 'writeln' methodc             C   s
   || _ d S )N)stream)selfr    r   4/opt/alt/python37/lib64/python3.7/unittest/runner.py__init__   s    z_WritelnDecorator.__init__c             C   s   |dkrt |t| j|S )N)r   __getstate__)AttributeErrorgetattrr   )r   attrr   r   r	   __getattr__   s    z_WritelnDecorator.__getattr__Nc             C   s   |r|  | |  d d S )N
)write)r   argr   r   r	   writeln   s    
z_WritelnDecorator.writeln)N)__name__
__module____qualname____doc__r
   r   r   r   r   r   r	   r      s   r   c                   s   e Zd ZdZdZdZ fddZdd Z fdd	Z fd
dZ	 fddZ
 fddZ fddZ fddZ fddZdd Zdd Z  ZS )TextTestResultzhA test result class that can print formatted text results to a stream.

    Used by TextTestRunner.
    zF======================================================================zF----------------------------------------------------------------------c                s8   t t| ||| || _|dk| _|dk| _|| _d S )Nr   )superr   r
   r   showAlldotsdescriptions)r   r   r   	verbosity)	__class__r   r	   r
   %   s
    

zTextTestResult.__init__c             C   s0   |  }| jr$|r$dt||fS t|S d S )Nr   )ZshortDescriptionr   joinstr)r   testZdoc_first_liner   r   r	   getDescription,   s    
zTextTestResult.getDescriptionc                sB   t t| | | jr>| j| | | jd | j  d S )Nz ... )r   r   	startTestr   r   r   r"   flush)r   r!   )r   r   r	   r#   3   s
    zTextTestResult.startTestc                sD   t t| | | jr$| jd n| jr@| jd | j  d S )Nok.)	r   r   
addSuccessr   r   r   r   r   r$   )r   r!   )r   r   r	   r'   :   s    zTextTestResult.addSuccessc                sF   t t| || | jr&| jd n| jrB| jd | j  d S )NERRORE)	r   r   addErrorr   r   r   r   r   r$   )r   r!   err)r   r   r	   r*   B   s    zTextTestResult.addErrorc                sF   t t| || | jr&| jd n| jrB| jd | j  d S )NFAILF)	r   r   
addFailurer   r   r   r   r   r$   )r   r!   r+   )r   r   r	   r.   J   s    zTextTestResult.addFailurec                sL   t t| || | jr,| jd| n| jrH| jd | j	  d S )Nzskipped {0!r}s)
r   r   addSkipr   r   r   formatr   r   r$   )r   r!   reason)r   r   r	   r0   R   s    zTextTestResult.addSkipc                sF   t t| || | jr&| jd n| jrB| jd | j  d S )Nzexpected failurex)	r   r   addExpectedFailurer   r   r   r   r   r$   )r   r!   r+   )r   r   r	   r4   Z   s    z!TextTestResult.addExpectedFailurec                sD   t t| | | jr$| jd n| jr@| jd | j  d S )Nzunexpected successu)	r   r   addUnexpectedSuccessr   r   r   r   r   r$   )r   r!   )r   r   r	   r6   b   s    z#TextTestResult.addUnexpectedSuccessc             C   s6   | j s| jr| j  | d| j | d| j d S )Nr(   r,   )r   r   r   r   printErrorListerrorsfailures)r   r   r   r	   printErrorsj   s    
zTextTestResult.printErrorsc             C   s\   xV|D ]N\}}| j | j | j d|| |f  | j | j | j d|  qW d S )Nz%s: %sz%s)r   r   
separator1r"   
separator2)r   Zflavourr8   r!   r+   r   r   r	   r7   p   s
    zTextTestResult.printErrorList)r   r   r   r   r;   r<   r
   r"   r#   r'   r*   r.   r0   r4   r6   r:   r7   __classcell__r   r   )r   r	   r      s   r   c               @   s4   e Zd ZdZeZdddddZd	d
 Zdd ZdS )TextTestRunnerzA test runner class that displays results in textual form.

    It prints out the names of tests as they are run, errors as they
    occur, and a summary of the results at the end of the test run.
    NTr   F)	tb_localsc      	      C   sN   |dkrt j}t|| _|| _|| _|| _|| _|| _|| _	|dk	rJ|| _
dS )zConstruct a TextTestRunner.

        Subclasses should accept **kwargs to ensure compatibility as the
        interface changes.
        N)sysstderrr   r   r   r   failfastbufferr?   warningsresultclass)	r   r   r   r   rB   rC   rE   rD   r?   r   r   r	   r
      s    
zTextTestRunner.__init__c             C   s   |  | j| j| jS )N)rE   r   r   r   )r   r   r   r	   _makeResult   s    zTextTestRunner._makeResultc             C   s2  |   }t| | j|_| j|_| j|_t  | jr^t| j | jdkr^tjdt	dd t
 }t|dd}|dk	r|  z|| W dt|dd}|dk	r|  X t
 }W dQ R X || }|  t|dr| j|j |j}| jd	||d
kodpd|f  | j  d }	 }
}ytt|j|j|jf}W n tk
rT   Y nX |\}	}
}g }| s| jd t|jt|j }}|r|d|  |r|d|  n| jd |r|d|  |	r|d|	  |
r|d|
  |r"| jdd|f  n| jd |S )z&Run the given test case or test suite.)defaultalwaysmodulezPlease use assert\w+ instead.)categorymessagestartTestRunNstopTestRunr<   zRan %d test%s in %.3fsr   r/    r   ZFAILEDzfailures=%dz	errors=%dZOKz
skipped=%dzexpected failures=%dzunexpected successes=%dz (%s)z, r   )rF   r   rB   rC   r?   rD   catch_warningssimplefilterfilterwarningsDeprecationWarningtimeZperf_counterr   r:   hasattrr   r   r<   ZtestsRunmaplenZexpectedFailuresunexpectedSuccessesskippedr   ZwasSuccessfulr   r9   r8   appendr   )r   r!   r   Z	startTimerL   rM   ZstopTimeZ	timeTakenrunZexpectedFailsrW   rX   ZresultsZinfosZfailedZerroredr   r   r	   rZ      sr    





zTextTestRunner.run)NTr   FFNN)	r   r   r   r   r   rE   r
   rF   rZ   r   r   r   r	   r>   x   s    r>   )r   r@   rS   rD   rN   r   Zsignalsr   Z
__unittestobjectr   Z
TestResultr   r>   r   r   r   r	   <module>   s   [