HOME


Mini Shell 1.0
DIR: /snap/core20/current/lib/python3.8/test/support/__pycache__/
Upload File :
Current File : //snap/core20/current/lib/python3.8/test/support/__pycache__/testresult.cpython-38.pyc
U

���g
�@s8dZddlZddlZddlZddlZddlZddlZddlmm	Z
ddlmZGdd�dej�Z
Gdd�d�Zdd	d
�Zddd�Zed
k�r4Gdd�dej�Ze��Ze�e�e��e��Zeedd�ejD���Zeej�Ze�e�Z e!de�"��e!ddd�e
�#e �$��D]Z%e!e%�&�dd��qe!�dS)z=Test runner and result class for the regression test suite.

�N)�datetimecs�eZdZdZdZ�fdd�Zedd��Z�fdd�Zd"d
d�Z	dd
�Z
edd��Z�fdd�Z�fdd�Z
�fdd�Z�fdd�Z�fdd�Z�fdd�Zdd�Zdd�Zd d!�Z�ZS)#�RegressionTestResultzG======================================================================
zG----------------------------------------------------------------------
cs\t�j||dd�d|_t�d�|_|j�dt���	d��d|_
d|_g|_t
|�|_dS)Nr)�stream�descriptions�	verbosityTZ	testsuite�start� )�super�__init__�buffer�ETZElement�_RegressionTestResult__suite�setrZutcnowZ	isoformat�_RegressionTestResult__e�!_RegressionTestResult__start_timeZ_RegressionTestResult__results�bool�_RegressionTestResult__verbose)�selfrrr��	__class__��-/usr/lib/python3.8/test/support/testresult.pyr
szRegressionTestResult.__init__cCsVz
|j}Wntk
r&t|�YSXz|�WStk
rLt|�YSXt|�S�N)�id�AttributeError�str�	TypeError�repr)�cls�testZtest_idrrrZ__getIds
zRegressionTestResult.__getIdcsVt��|�t�|jd�|_}t��|_|j	rR|j
�|�|��d��|j
�
�dS)NZtestcasez ... )r	�	startTestr�
SubElementr
r�time�perf_counterrrr�write�getDescription�flush)rr�errrr +s
zRegressionTestResult.startTestFc	KsD|j}d|_|dkrdS|�d|�d|�|���|�d|�dd��|�d|�dd��|jrz|�dt��|jd��|r�|jdk	r�|j���	�}|t
�|d�_|j
dk	r�|j
���	�}|t
�|d	�_|��D]l\}}|r�|s�q�t
�||�}	t|d
��r4|��D],\}
}|
�r$|	�|
t|��n
t|�|	_�qq�t|�|	_q�dS)N�nameZstatus�run�resultZ	completedr"z0.6fz
system-outz
system-err�items)rr�pop�_RegressionTestResult__getIdrr"r#Z_stdout_buffer�getvalue�rstriprr!�textZ_stderr_bufferr+�hasattrr)rrZcapture�argsr'�stdout�stderr�k�vZe2Zk2Zv2rrr�_add_result3s4

z RegressionTestResult._add_resultcCs|jr|j�|�d��dS)N�
)rrr$)r�cZwordrrrZ__writeSszRegressionTestResult.__writecCslt|t�r0|jdkr|j}q8|j�d|j��}nt|�}t�||d�}t�|||�}|d�|�d�|�d�S)N�builtins�.�)�type�messager<)�
isinstancer=�
__module__�__name__r�	traceback�format_exception�join)rZerr_typeZ	err_valueZerr_tb�typename�msg�tbrrrZ__makeErrorDictWs

�z$RegressionTestResult.__makeErrorDictcs4|j|d|j|�d�t��||�|�dd�dS)NT)�error�E�ERROR)r7�$_RegressionTestResult__makeErrorDictr	�addError�_RegressionTestResult__write�rr�errrrrrLjszRegressionTestResult.addErrorcs4|j|d|j|�d�t��||�|�dd�dS)NT)�output�xzexpected failure)r7rKr	�addExpectedFailurerMrNrrrrRosz'RegressionTestResult.addExpectedFailurecs4|j|d|j|�d�t��||�|�dd�dS)NT)Zfailure�F�FAIL)r7rKr	�
addFailurerMrNrrrrUtszRegressionTestResult.addFailurecs2|j||d�t��||�|�dd|���dS)N)Zskipped�Szskipped )r7r	�addSkiprM)rr�reasonrrrrWyszRegressionTestResult.addSkipcs&|�|�t��|�|�dd�dS)Nr;�ok)r7r	�
addSuccessrM�rrrrrrZ~s
zRegressionTestResult.addSuccesscs*|j|dd�t��|�|�dd�dS)NZUNEXPECTED_SUCCESS)Zoutcome�uzunexpected success)r7r	�addUnexpectedSuccessrMr[rrrr]�sz)RegressionTestResult.addUnexpectedSuccesscCs2|jr|j�d�|�d|j�|�d|j�dS)Nr8rJrT)rrr$�printErrorList�errors�failures�rrrr�printErrors�sz RegressionTestResult.printErrorscCs\|D]R\}}|j�|j�|j�|�d|�|��d��|j�|j�|j�d|�qdS)Nz: r8z%s
)rr$�
separator1r%�
separator2)rZflavorr_rrOrrrr^�s
z#RegressionTestResult.printErrorListcCsH|j}|�dt|j��|�dtt|j���|�dtt|j���|S)NZtestsr_r`)r
rrZtestsRun�lenr_r`)rr'rrr�get_xml_element�s
z$RegressionTestResult.get_xml_element)F)rAr@�__qualname__rcrdr
�classmethodr-r r7rMrKrLrRrUrWrZr]rbr^rf�
__classcell__rrrrrs&

 
rc@seZdZddd�Zdd�ZdS)�QuietRegressionTestRunnerFcCst|dd�|_||j_dS)Nr)rr*r)rrrrrrr
�sz"QuietRegressionTestRunner.__init__cCs||j�|jSr)r*r[rrrr)�s
zQuietRegressionTestRunner.runN)F)rAr@rgr
r)rrrrrj�s
rjFcCs&|rtjtjt||d�Stjt|d�S)N)Zresultclassrr)r)�	functools�partial�unittestZTextTestRunnerrrj)rrrrr�get_test_runner_class�s�rncCst||�|�Sr)rn)rrZcapture_outputrrr�get_test_runner�sro�__main__c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�	TestTestscCsdSrrrarrr�	test_pass�szTestTests.test_passcCst�d�dS)Ng�?)r"�sleeprarrr�test_pass_slow�szTestTests.test_pass_slowcCs*tdtjd�tdtjd�|�d�dS)Nr3��filer4zfailure message)�print�sysr3r4Zfailrarrr�	test_fail�szTestTests.test_failcCs(tdtjd�tdtjd�td��dS)Nr3rur4z
error message)rwrxr3r4�RuntimeErrorrarrr�
test_error�szTestTests.test_errorN)rAr@rgrrrtryr{rrrrrq�srqccs|]}|dkVqdS)z-vNr)�.0�arrr�	<genexpr>�sr~zOutput:zXML: r<)�end)F)F)'�__doc__rk�iorxr"rBrmZxml.etree.ElementTreeZetreeZElementTreerrZTextTestResultrrjrnrorAZTestCaserqZ	TestSuiteZsuiteZaddTestZ	makeSuite�StringIOr�sum�argvZ
runner_clsr3Zrunnerr)r*rwr.Ztostringlistrf�s�decoderrrr�<module>s4