???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3

  \G                 @   sj   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 )    N   )result)registerResultTc               @   s&   e Zd Zdd Zdd ZdddZdS )	_WritelnDecoratorc             C   s
   || _ d S )N)stream)selfr    r   '/usr/lib64/python3.6/unittest/runner.py__init__   s    z_WritelnDecorator.__init__c             C   s   |dkrt |t| j|S )Nr   __getstate__)r   r   )AttributeErrorgetattrr   )r   attrr   r   r	   __getattr__   s    z_WritelnDecorator.__getattr__Nc             C   s   |r| j | | j d d S )N
)write)r   argr   r   r	   writeln   s    
z_WritelnDecorator.writeln)N)__name__
__module____qualname__r
   r   r   r   r   r   r	   r      s   r   c                   s   e Zd Zdd Zd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 )TextTestResult=F   -c                s8   t t| j||| || _|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  }| jr$|r$dj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| | jr>| jj| j| | jjd | j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| | jr$| jjd n| jr@| jjd | j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|| | jr&| jjd n| jrB| jjd | j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|| | jr&| jjd n| jrB| jjd | jj  d S )NFAILF)	r   r   
addFailurer   r   r   r   r   r&   )r   r#   r-   )r    r   r	   r0   J   s    zTextTestResult.addFailurec                sL   t t| j|| | jr,| jjdj| n| jrH| jjd | jj	  d S )Nzskipped {0!r}s)
r   r   addSkipr   r   r   formatr   r   r&   )r   r#   reason)r    r   r	   r2   R   s    zTextTestResult.addSkipc                sF   t t| j|| | jr&| jjd n| jrB| jjd | jj  d S )Nzexpected failurex)	r   r   addExpectedFailurer   r   r   r   r   r&   )r   r#   r-   )r    r   r	   r6   Z   s    z!TextTestResult.addExpectedFailurec                sD   t t| j| | jr$| jjd n| jr@| jjd | jj  d S )Nzunexpected successu)	r   r   addUnexpectedSuccessr   r   r   r   r   r&   )r   r#   )r    r   r	   r8   b   s    z#TextTestResult.addUnexpectedSuccessc             C   s6   | j s| jr| jj  | jd| j | 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 | j jd|| j|f  | j j| j | j jd|  qW d S )Nz%s: %sz%s)r   r   
separator1r$   
separator2)r   Zflavourr:   r#   r-   r   r   r	   r9   p   s
    zTextTestResult.printErrorList)r   r   r   r=   r>   r
   r$   r%   r)   r,   r0   r2   r6   r8   r<   r9   __classcell__r   r   )r    r	   r      s   r   c               @   s0   e Zd ZeZdddddZdd	 Zd
d ZdS )TextTestRunnerNTr   F)	tb_localsc      	      C   sN   |d krt j}t|| _|| _|| _|| _|| _|| _|| _	|d k	rJ|| _
d S )N)sysstderrr   r   r   r   failfastbufferrA   warningsresultclass)	r   r   r   r   rD   rE   rG   rF   rA   r   r   r	   r
      s    
zTextTestRunner.__init__c             C   s   | j | j| j| jS )N)rG   r   r   r   )r   r   r   r	   _makeResult   s    zTextTestRunner._makeResultc             C   s4  | j  }t| | j|_| j|_| j|_tj  | jr^tj| j | jdkr^tjdt	dd t
j
 }t|dd }|d k	r|  z|| W d t|dd }|d k	r|  X t
j
 }W d Q R X || }|j  t|dr| jj|j |j}| jjd	||d
krdpd|f  | jj  d }	 }
}ytt|j|j|jf}W n tk
rV   Y nX |\}	}
}g }|j s| jjd t|jt|j }}|r|jd|  |r|jd|  n| jjd |r|jd|  |	r|jd|	  |
r|jd|
  |r$| jjddj|f  n| jjd |S )NdefaultalwaysmodulezPlease use assert\w+ instead.)categorymessagestartTestRunstopTestRunr>   zRan %d test%s in %.3fsr   r1    r   ZFAILEDzfailures=%dz	errors=%dZOKz
skipped=%dzexpected failures=%dzunexpected successes=%dz (%s)z, r   )rI   rJ   )rH   r   rD   rE   rA   rF   catch_warningssimplefilterfilterwarningsDeprecationWarningtimer   r<   hasattrr   r   r>   ZtestsRunmaplenZexpectedFailuresunexpectedSuccessesskippedr   ZwasSuccessfulr   r;   r:   appendr!   )r   r#   r   Z	startTimerN   rO   ZstopTimeZ	timeTakenrunZexpectedFailsrY   rZ   ZresultsZinfosZfailedZerroredr   r   r	   r\      sr    





zTextTestRunner.run)NTr   FFNN)r   r   r   r   rG   r
   rH   r\   r   r   r   r	   r@   x   s    r@   )rB   rU   rF   rP   r   Zsignalsr   Z
__unittestobjectr   Z
TestResultr   r@   r   r   r   r	   <module>   s   [