D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
lib
/
python3.8
/
test
/
libregrtest
/
__pycache__
/
Filename :
runtest.cpython-38.pyc
back
Copy
U ���g+) � @ sv d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Z d dlmZ d dl mZmZ d dlmZ d dlmZmZ dZd ZdZdZd Zd ZdZdZd Zedededededededededi ZdZddddddddd d!g Z e!� Z"g Z#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 >@Ztest_grammarZtest_opcodesZ test_dictZtest_builtinZtest_exceptionsZ test_typesZ test_unittestZtest_doctestZ test_doctest2Ztest_supportc C s, | j }|ttttfkrdS |tkr(|jS dS )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_failedE s r c C s8 t �| jd�}|| j }| jtkr4d|t| j�f }|S )Nz%sz%s (%s))�_FORMAT_TEST_RESULT�getr � test_name�TIMEOUTr � test_time)r Zfmt�textr r r �format_test_resultN s r c C s | pt j�t j�t��pt jS )N)�os�path�dirname�__file__�curdir)r! r r r �findtestdirV s r% c C sr t | �} 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�modZextr r r � findtestsZ s r2 c C s |� d�s| jr|S d| S d S )Nztest.)� startswithr- )r r r r r �get_abs_moduleg s r4 � TestResultz#test_name result test_time xml_datac sR | j }| jd k }|r$tj| jdd� t�� }�zt� | j | j� | jrJg nd t_}| j r`dt_ |r�dt_t�� }tj}tj}z@|t_|t_t| |dd�} | tkr�|�� } |�| � |�� W 5 |t_|t_X n| jt_t| || j d�} |�rdd lm m� � fdd�|D �}nd }t�� | }t|| ||�W �S |�rFt�� d t_X d S )NT)�exitF)�display_failurer c s g | ]}� � |��d ��qS )zus-ascii)Ztostring�decode)�.0�x�ZETr r � <listcomp>� s z_runtest.<locals>.<listcomp>)Zverbose3Ztimeout�faulthandlerZdump_traceback_later�time�perf_counterZcancel_dump_traceback_laterr Zjunit_xml_listZset_match_testsZmatch_testsZignore_testsZxmlpathZfailfast�verbose�io�StringIO�sys�stdout�stderr�_runtest_innerr �getvalue�write�flushZxml.etree.ElementTreeZetreeZElementTreer5 ) r r Zoutput_on_failureZuse_timeoutZ start_timeZxml_list�streamZorig_stdoutZorig_stderrr �outputZxml_datar r r; r �_runtestr sP � �rL c C sV zt | |�W S | js>t�� }td|� d|� �tjdd� t|tdd� Y S X dS )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��filerI g N) rL �pgo� traceback� format_exc�printrC rE r5 �FAILED)r r �msgr r r �runtest� s �rW c C sH t �� }|�| �}|jD ]}t|tjd� q|jr:td��t� |� d S )N)rP zerrors while loading tests) �unittestZ TestLoaderZloadTestsFromModule�errorsrT rC rE � Exceptionr Zrun_unittest)� the_module�loaderr/ �errorr r r �_test_module� s r^ c C s� t | |�}t�|� t�|�}t|dd �}|d kr>t�t|�}z"| jrTt| ||�}n |� d}W 5 t || j � X t� � tjr�dt_t|� dttj�� d�� t�tj� tj�� t�� |S )NZ test_mainFTz created z uncollectable object(s).)r4 r Zunload� importlib� import_module�getattr� functools�partialr^ �cleanup_test_droppingsr@ Z huntrleaksr � gc_collect�gcZgarbage�environment_alteredr �len� FOUND_GARBAGE�extend�clearZ reap_children)r r Zabstestr[ Ztest_runner�refleakr r r �_runtest_inner2� s( rm Tc C s� dt _| jrd}z8t� t|| j| j| jd��}t| |�}W 5 Q R X W �nj t jk r� } z.| js~| js~t |� d|� �dd� t W Y �S d }~X Y �n tjk r� } z.| js�| js�t |� d|� �dd� t W Y �S d }~X Y n� t jk �r@ } z<d|� d�}|�r|� d|� �}t |tjdd � t W Y �S d }~X Y nt t jk �rZ t Y S tk �rx t � t Y S | j�s�t�� }t d|� d |� �tjdd � t Y S X |�r�tS |j�r�tS tS )NF)rQ z skipped -- T)rI rM z failedz -- rO rN )r rg rQ r r r@ �quietrm ZResourceDeniedrT r rX ZSkipTestr Z TestFailedrC rE rU Z TestDidNotRunr �KeyboardInterrupt�INTERRUPTEDrR rS Zchangedr r )r r r7 Zenvironmentrl rV �excr r r rF sN � rF c C s t �� t jfD ]�}tj�|�s"qtj�|�rDdd l}d|j }}n*tj� |�r^dtj }}ntd|�d���|r�t| � d|� d|��� dt _ z.dd l}t�||j|jB |jB � ||� W q tk �r } z"t| � d|� d|�d |� �� W 5 d }~X Y qX qd S ) Nr Z directoryrP z os.path says z) exists but is neither directory nor filez left behind � Tz and it couldn't be removed: )r re ZTESTFNr r! �exists�isdir�shutilZrmtree�isfile�unlink�RuntimeErrorr rg �stat�chmod�S_IRWXU�S_IRWXG�S_IRWXOrZ )r r@ r0 ru ZkindZnukerry rq r r r rd 0 s&