HOME


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

���g+)�@svddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZddlmZddlmZmZdZdZdZdZd	Zd
ZdZdZd
Zedededededededededi	ZdZddddddddd d!g
Z e!�Z"gZ#d"d#�Z$d$d%�Z%d;d&d'�Z&de e"fd(d)�Z'd*d+�Z(e�)d,d-�Z*d.d/�Z+d0d1�Z,d2d3�Z-d4d5�Z.d<d7d8�Z/d9d:�Z0dS)=�N)�support)�dash_R�clear_caches)�saved_test_environment)�format_duration�
print_warning����������������i����i����z	%s passedz	%s failedz%s failed (env changed)z
%s skippedz%s skipped (resource denied)z%s interruptedz
%s crashedz%s run no testsz%s timed outg>@Ztest_grammarZtest_opcodesZ	test_dictZtest_builtinZtest_exceptionsZ
test_typesZ
test_unittestZtest_doctestZ
test_doctest2Ztest_supportcCs,|j}|ttttfkrdS|tkr(|jSdS)NFT)�result�PASSED�RESOURCE_DENIED�SKIPPED�TEST_DID_NOT_RUN�ENV_CHANGEDZfail_env_changed)r�ns�ok�r�./usr/lib/python3.8/test/libregrtest/runtest.py�	is_failedEsrcCs8t�|jd�}||j}|jtkr4d|t|j�f}|S)Nz%sz%s (%s))�_FORMAT_TEST_RESULT�getr�	test_name�TIMEOUTr�	test_time)rZfmt�textrrr�format_test_resultNs


rcCs|ptj�tj�t��ptjS)N)�os�path�dirname�__file__�curdir)r!rrr�findtestdirVsr%c	Csrt|�}t�|�}g}t|�|B}|D]>}tj�|�\}}|dd�dkr&|dkr&||kr&|�|�q&|t|�S)z-Return a list of all applicable test modules.N�Ztest_)z.py�)r%r �listdir�setr!�splitext�append�sorted)	�testdirZstdtestsZnottests�names�testsZothers�name�modZextrrr�	findtestsZs
 r2cCs |�d�s|jr|Sd|SdS)Nztest.)�
startswithr-)rrrrr�get_abs_modulegsr4�
TestResultz#test_name result test_time xml_datac
sR|j}|jdk	}|r$tj|jdd�t��}�zt�	|j
|j�|jrJgndt_}|j
r`dt_
|r�dt_t��}tj}tj}z@|t_|t_t||dd�}	|	tkr�|��}
|�|
�|��W5|t_|t_Xn|jt_t|||jd�}	|�rddlmm��fdd�|D�}nd}t��|}t||	||�W�S|�rFt��dt_XdS)NT)�exitF)�display_failurercsg|]}��|��d��qS)zus-ascii)Ztostring�decode)�.0�x�ZETrr�
<listcomp>�sz_runtest.<locals>.<listcomp>)Zverbose3Ztimeout�faulthandlerZdump_traceback_later�time�perf_counterZcancel_dump_traceback_laterrZjunit_xml_listZset_match_testsZmatch_testsZignore_testsZxmlpathZfailfast�verbose�io�StringIO�sys�stdout�stderr�_runtest_innerr�getvalue�write�flushZxml.etree.ElementTreeZetreeZElementTreer5)
rrZoutput_on_failureZuse_timeoutZ
start_timeZxml_list�streamZorig_stdoutZorig_stderrr�outputZxml_datarrr;r�_runtestrsP
�

�rLcCsVzt||�WS|js>t��}td|�d|��tjdd�t|tdd�YSXdS)a�Run a single test.

    ns -- regrtest namespace of options
    test_name -- the name of the test

    Returns the tuple (result, test_time, xml_data), where result is one
    of the constants:

        INTERRUPTED      KeyboardInterrupt
        RESOURCE_DENIED  test skipped because resource denied
        SKIPPED          test skipped for some other reason
        ENV_CHANGED      test failed because it changed the execution environment
        FAILED           test failed
        PASSED           test passed
        EMPTY_TEST_SUITE test ran no subtests.
        TIMEOUT          test timed out.

    If ns.xmlpath is not None, xml_data is a list containing each
    generated testsuite element.
    �test � crashed -- T��filerIgN)	rL�pgo�	traceback�
format_exc�printrCrEr5�FAILED)rr�msgrrr�runtest�s�rWcCsHt��}|�|�}|jD]}t|tjd�q|jr:td��t�	|�dS)N)rPzerrors while loading tests)
�unittestZ
TestLoaderZloadTestsFromModule�errorsrTrCrE�	ExceptionrZrun_unittest)�
the_module�loaderr/�errorrrr�_test_module�s

r^c	Cs�t||�}t�|�t�|�}t|dd�}|dkr>t�t|�}z"|jrTt|||�}n
|�d}W5t	||j
�Xt�
�tjr�dt_t|�dttj��d��t�tj�tj��t��|S)NZ	test_mainFTz	 created z uncollectable object(s).)r4rZunload�	importlib�
import_module�getattr�	functools�partialr^�cleanup_test_droppingsr@Z
huntrleaksr�
gc_collect�gcZgarbage�environment_alteredr�len�
FOUND_GARBAGE�extend�clearZ
reap_children)rrZabstestr[Ztest_runner�refleakrrr�_runtest_inner2�s(



rmTc
Cs�dt_|jrd}z8t�t||j|j|jd��}t||�}W5QRXW�njtjk
r�}z.|js~|js~t	|�d|��dd�t
WY�Sd}~XY�ntjk
r�}z.|js�|js�t	|�d|��dd�t
WY�Sd}~XYn�tjk
�r@}z<d|�d�}|�r|�d|��}t	|tjdd	�tWY�Sd}~XYnttjk
�rZtYStk
�rxt	�tYS|j�s�t��}t	d|�d
|��tjdd	�tYSX|�r�tS|j�r�tStS)NF)rQz skipped -- T)rIrMz failedz -- rOrN)rrgrQrrr@�quietrmZResourceDeniedrTrrXZSkipTestrZ
TestFailedrCrErUZ
TestDidNotRunr�KeyboardInterrupt�INTERRUPTEDrRrSZchangedrr)rrr7ZenvironmentrlrV�excrrrrFsN�
rFcCst��tjfD]�}tj�|�s"qtj�|�rDddl}d|j}}n*tj�	|�r^dtj
}}ntd|�d���|r�t|�d|�d|���dt_
z.ddl}t�||j|jB|jB�||�Wqtk
�r}z"t|�d|�d|�d	|���W5d}~XYqXqdS)
NrZ	directoryrPz
os.path says z) exists but is neither directory nor filez
 left behind � Tz and it couldn't be removed: )rreZTESTFNr r!�exists�isdir�shutilZrmtree�isfile�unlink�RuntimeErrorrrg�stat�chmod�S_IRWXU�S_IRWXG�S_IRWXOrZ)rr@r0ruZkindZnukerryrqrrrrd0s&rd)N)T)1�collectionsr=rbrfr_rAr rCr>rRrXZtestrZtest.libregrtest.refleakrrZtest.libregrtest.save_envrZtest.libregrtest.utilsrrrrUrrrrpZCHILD_ERRORrrrZPROGRESS_MIN_TIMEZSTDTESTSr)ZNOTTESTSrirrr%r2r4�
namedtupler5rLrWr^rmrFrdrrrr�<module>s���	

�9
,
0