U
���gK` � @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlm
Z
d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dl m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z( d dl)m*Z* dZ+G d d
� d
�Z,d
dd�Z-dS )� N)�_parse_args)� findtests�runtest�get_abs_module�STDTESTS�NOTTESTS�PASSED�FAILED�ENV_CHANGED�SKIPPED�RESOURCE_DENIED�INTERRUPTED�CHILD_ERROR�TEST_DID_NOT_RUN�TIMEOUT�PROGRESS_MIN_TIME�format_test_result� is_failed)�setup_tests)�setup_pgo_tests)�removepy�count�format_duration� printlist)�supportg ^@c @ s� e Zd ZdZdd� Zdd� Zd7dd�Zd8d
d�Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd9d1d2�Zd3d4� Zd5d6� Zd0S ):�Regrtestal Execute a test suite.
This also parses command-line options and modifies its behavior
accordingly.
tests -- a list of strings containing test names (optional)
testdir -- the directory in which to look for tests (optional)
Users other than the Python test suite will certainly want to
specify testdir; if it's omitted, the directory containing the
Python test suite is searched for.
If the tests argument is omitted, the tests listed on the
command-line will be used. If that's empty, too, then all *.py
files beginning with test_ will be used.
The other default arguments (verbose, quiet, exclude,
single, randomize, findleaks, use_resources, trace, coverdir,
print_slow, and random_seed) allow programmers calling main()
directly to set the values that would normally be set by flags
on the command line.
c C s� d | _ g | _g | _g | _g | _g | _g | _g | _g | _g | _ d | _
d| _g | _d | _
t�� | _d| _d| _d | _d | _d | _d | _d | _d | _d S )NF� � )�ns�tests�selected�good�bad�skipped�resource_denieds�environment_changed�run_no_tests�rerun�first_result�interrupted�
test_times�tracer�time� monotonic�
start_time�
test_count�test_count_width�next_single_test�next_single_filename�
testsuite_xml�win_load_tracker�tmp_dir�worker_test_name��self� r9 �+/usr/lib/python3.8/test/libregrtest/main.py�__init__6 s.
zRegrtest.__init__c C s< |