????
Your IP : 3.135.192.183
3
\G�@sndZddlZddlZddlZddlmZddlmZdZGdd�de �Z
Gd d
�d
ej�ZGdd�de �Z
dS)
z
Running tests�N�)�result)�registerResultTc@s*eZdZdZdd�Zdd�Zd dd�ZdS)
�_WritelnDecoratorz@Used to decorate file-like objects with a handy 'writeln' methodcCs
||_dS)N)�stream)�selfr�r�'/usr/lib64/python3.6/unittest/runner.py�__init__sz_WritelnDecorator.__init__cCs|dkrt|��t|j|�S)Nr�__getstate__)rr)�AttributeError�getattrr)r�attrrrr �__getattr__sz_WritelnDecorator.__getattr__NcCs|r|j|�|jd�dS)N�
)�write)r�argrrr �writelns
z_WritelnDecorator.writeln)N)�__name__�
__module__�__qualname__�__doc__r
rrrrrr r
srcs�eZdZdZddZddZ�fdd�Zdd�Z�fd d
�Z�fdd�Z �fd
d�Z
�fdd�Z�fdd�Z�fdd�Z
�fdd�Zdd�Zdd�Z�ZS)�TextTestResultzhA test result class that can print formatted text results to a stream.
Used by TextTestRunner.
�=�F�-cs8tt|�j|||�||_|dk|_|dk|_||_dS)Nr)�superrr
r�showAll�dots�descriptions)rrr� verbosity)� __class__rr r
%s
zTextTestResult.__init__cCs0|j�}|jr$|r$djt|�|f�St|�SdS)Nr)ZshortDescriptionr�join�str)r�testZdoc_first_linerrr �getDescription,s
zTextTestResult.getDescriptioncsBtt|�j|�|jr>|jj|j|��|jjd�|jj�dS)Nz ... )rr� startTestrrrr%�flush)rr$)r!rr r&3s
zTextTestResult.startTestcsDtt|�j|�|jr$|jjd�n|jr@|jjd�|jj�dS)N�ok�.) rr�
addSuccessrrrrrr')rr$)r!rr r*:szTextTestResult.addSuccesscsFtt|�j||�|jr&|jjd�n|jrB|jjd�|jj�dS)N�ERROR�E) rr�addErrorrrrrrr')rr$�err)r!rr r-BszTextTestResult.addErrorcsFtt|�j||�|jr&|jjd�n|jrB|jjd�|jj�dS)N�FAIL�F) rr�
addFailurerrrrrr')rr$r.)r!rr r1JszTextTestResult.addFailurecsLtt|�j||�|jr,|jjdj|��n|jrH|jjd�|jj �dS)Nz
skipped {0!r}�s)
rr�addSkiprrr�formatrrr')rr$�reason)r!rr r3RszTextTestResult.addSkipcsFtt|�j||�|jr&|jjd�n|jrB|jjd�|jj�dS)Nzexpected failure�x) rr�addExpectedFailurerrrrrr')rr$r.)r!rr r7Zsz!TextTestResult.addExpectedFailurecsDtt|�j|�|jr$|jjd�n|jr@|jjd�|jj�dS)Nzunexpected success�u) rr�addUnexpectedSuccessrrrrrr')rr$)r!rr r9bsz#TextTestResult.addUnexpectedSuccesscCs6|js|jr|jj�|jd|j�|jd|j�dS)Nr+r/)rrrr�printErrorList�errors�failures)rrrr �printErrorsjs
zTextTestResult.printErrorscCs\xV|D]N\}}|jj|j�|jjd||j|�f�|jj|j�|jjd|�qWdS)Nz%s: %sz%s)rr�
separator1r%�
separator2)rZflavourr;r$r.rrr r:ps
zTextTestResult.printErrorList)rrrrr>r?r
r%r&r*r-r1r3r7r9r=r:�
__classcell__rr)r!r rsrc@s4eZdZdZeZd
dd�dd�Zd d
�Zdd�ZdS)�TextTestRunnerz�A 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.
NTrF)� tb_localsc CsN|dkrtj}t|�|_||_||_||_||_||_||_ |dk rJ||_
dS)z�Construct a TextTestRunner.
Subclasses should accept **kwargs to ensure compatibility as the
interface changes.
N)�sys�stderrrrrr �failfast�bufferrB�warnings�resultclass) rrrr rErFrHrGrBrrr r
�s
zTextTestRunner.__init__cCs|j|j|j|j�S)N)rHrrr )rrrr �_makeResult�szTextTestRunner._makeResultcCs4|j�}t|�|j|_|j|_|j|_tj���|jr^tj|j�|jdkr^tjdt dd�t
j
�}t|dd�}|dk r�|�z||�Wdt|dd�}|dk r�|�Xt
j
�}WdQRX||}|j�t
|d �r�|jj|j�|j}|jjd
||dk�rd�pd
|f�|jj�d} }
}ytt|j|j|jf�}Wntk
�rVYnX|\} }
}g}
|j��s�|jjd�t|j�t|j�}}|�r�|
jd|�|�r�|
jd|�n|jjd�|�r�|
jd|�| �r�|
jd| �|
�r|
jd|
�|
�r$|jjddj|
�f�n|jjd�|S)z&Run the given test case or test suite.�default�always�modulezPlease use assert\w+ instead.)�category�message�startTestRunN�stopTestRunr?zRan %d test%s in %.3fsrr2�rZFAILEDzfailures=%dz errors=%dZOKz
skipped=%dzexpected failures=%dzunexpected successes=%dz (%s)z, r)rJrK)rIrrErFrBrG�catch_warnings�simplefilter�filterwarnings�DeprecationWarning�timer
r=�hasattrrrr?ZtestsRun�map�lenZexpectedFailures�unexpectedSuccesses�skippedrZ
wasSuccessfulrr<r;�appendr")rr$rZ startTimerOrPZstopTimeZ timeTaken�runZ
expectedFailsrZr[ZresultsZinfosZfailedZerroredrrr r]�sr
zTextTestRunner.run)NTrFFNN) rrrrrrHr
rIr]rrrr rAxsrA)rrCrVrGrQrZsignalsrZ
__unittest�objectrZ
TestResultrrArrrr �<module>s[