B � fW � @ sn d Z ddlZddlZddlZddlmZ ddlmZ dZG dd� de �Z G d d � d ej�ZG dd� de �Z dS ) z Running tests� N� )�result)�registerResultTc @ s* e Zd ZdZdd� Zdd� Zd dd�ZdS ) �_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 |dkrt |��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 Zd ZdZdZdZ� fdd�Zdd� Z� fdd �Z� fd d�Z � fdd �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. zF======================================================================zF----------------------------------------------------------------------c s8 t t| ��|||� || _|dk| _|dk| _|| _d S )Nr )�superr r r �showAll�dots�descriptions)r r r � verbosity)� __class__r r r % s zTextTestResult.__init__c C s0 |� � }| jr$|r$d�t|�|f�S t|�S d S )Nr )ZshortDescriptionr �join�str)r �testZdoc_first_liner r r �getDescription, s zTextTestResult.getDescriptionc sB t t| ��|� | jr>| j�| �|�� | j�d� | j�� d S )Nz ... )r r � startTestr r r r" �flush)r r! )r r r r# 3 s zTextTestResult.startTestc sD t t| ��|� | jr$| j�d� n| jr@| j�d� | j�� d S )N�ok�.) r r � addSuccessr r r r r r$ )r r! )r r r r' : s zTextTestResult.addSuccessc sF t t| ��||� | jr&| j�d� n| jrB| 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 zTextTestResult.addErrorc sF t t| ��||� | jr&| j�d� n| jrB| 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 zTextTestResult.addFailurec sL t t| ��||� | jr,| j�d�|�� n| jrH| 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 zTextTestResult.addSkipc sF t t| ��||� | jr&| j�d� n| jrB| j�d� | j�� d S )Nzexpected 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| ��|� | jr$| j�d� n| jr@| j�d� | j�� d S )Nzunexpected 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| jr| j�� | �d| j� | �d| j� d S )Nr( r, )r r r r �printErrorList�errors�failures)r r r r �printErrorsj s zTextTestResult.printErrorsc C s\ xV|D ]N\}}| j �| j� | j �d|| �|�f � | j �| j� | j �d| � qW d S )Nz%s: %sz%s)r r � separator1r" � separator2)r Zflavourr8 r! r+ r r r r7 p s zTextTestResult.printErrorList)r r r r r; r<