ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3

  \G                 @   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   '/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____doc__r
   r   r   r   r   r   r	   r      s   r   c                   s   e Zd 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 )TextTestResultzhA test result class that can print formatted text results to a stream.

    Used by TextTestRunner.
    =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	   r1   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	   r3   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	   r7   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	   r9   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	   r:   p   s
    zTextTestResult.printErrorList)r   r   r   r   r>   r?   r
   r%   r&   r*   r-   r1   r3   r7   r9   r=   r:   __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bufferrB   warningsresultclass)	r   r   r   r    rE   rF   rH   rG   rB   r   r   r	   r
      s    
zTextTestRunner.__init__c             C   s   | j | j| j| jS )N)rH   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 )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   r2    r   ZFAILEDzfailures=%dz	errors=%dZOKz
skipped=%dzexpected failures=%dzunexpected successes=%dz (%s)z, r   )rJ   rK   )rI   r   rE   rF   rB   rG   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	startTimerO   rP   ZstopTimeZ	timeTakenrunZexpectedFailsrZ   r[   ZresultsZinfosZfailedZerroredr   r   r	   r]      sr    





zTextTestRunner.run)NTr   FFNN)	r   r   r   r   r   rH   r
   rI   r]   r   r   r   r	   rA   x   s    rA   )r   rC   rV   rG   rQ   r   Zsignalsr   Z
__unittestobjectr   Z
TestResultr   rA   r   r   r   r	   <module>   s   [