File: //usr/lib/python3.9/unittest/__pycache__/main.cpython-39.pyc
a
kx�g�+ � @ st d Z ddlZddlZddlZddlmZmZ ddlmZ dZ dZ
dZd d
� Zdd� Z
d
d� ZG dd� de�ZeZdS )zUnittest main program� N� )�loader�runner)�installHandlerTa Examples:
%(prog)s test_module - run tests from test_module
%(prog)s module.TestClass - run tests from module.TestClass
%(prog)s module.Class.test_method - run specified test method
%(prog)s path/to/test_file.py - run tests from test_file.py
aF Examples:
%(prog)s - run default set of tests
%(prog)s MyTestSuite - run suite 'MyTestSuite'
%(prog)s MyTestCase.testSomething - run MyTestCase.testSomething
%(prog)s MyTestCase - run all 'test*' test methods
in MyTestCase
c C sx t j�| �rt| �� �d�rtt j�| �rXt j�| t �� �}t j�|�sP|�t j �rT| S |} | d d� �
dd��
dd�S | S )Nz.py����\�.�/)�os�path�isfile�lower�endswith�isabs�relpath�getcwd�
startswith�pardir�replace)�nameZrel_path� r �#/usr/lib/python3.9/unittest/main.py�
_convert_name s r c C s dd� | D �S )Nc S s g | ]}t |��qS r )r )�.0r r r r �
<listcomp>. � z"_convert_names.<locals>.<listcomp>r )�namesr r r �_convert_names- s r c C s d| vrd| } | S )N�*z*%s*r )�patternr r r �_convert_select_pattern1 s r c @ s� e Zd ZdZdZdZd Z Z Z Z Z
ZdZdddde
jddddddfdd�dd �Zdd
d�Zdd
� Zdd� Zddd�Zdd� Zdd� Zdd� Zdd� Zd dd�Zdd� ZdS )!�TestProgramzA command-line program that runs a set of tests; this is primarily
for making test modules conveniently executable.
Nr �__main__TF)� tb_localsc C s� t |t�r<t|�| _|�d�dd � D ]}
t| j|
�| _q&n|| _|d u rPtj}|| _|| _ | | _
|| _|
| _|| _
|d u r�tjs�d| _n|| _|| _|| _|| _tj�|d �| _| �|� | �� d S )Nr r �defaultr )�
isinstance�str�
__import__�module�split�getattr�sys�argv�exit�failfast�
catchbreak� verbosity�bufferr# �warnoptions�warnings�defaultTest�
testRunner�
testLoaderr
r �basename�progName� parseArgs�runTests)�selfr( r4 r, r5 r6 r- r0 r. r/ r1 r3 r# �partr r r �__init__A s,
zTestProgram.__init__c C s4 |rt |� | jd u r| �� | �� t�d� d S )N� )�print�_discovery_parser�_initArgParsers�_print_helpr+ r- )r; �msgr r r � usageExitg s
zTestProgram.usageExitc O sZ | j d u r6t| j�� � ttd| ji � | j�� n t| j�� � ttd| ji � d S )N�prog) r( r? �_main_parserZformat_help�
MAIN_EXAMPLESr8 r@ �
print_help�MODULE_EXAMPLES)r; �args�kwargsr r r rB o s
zTestProgram._print_helpc C s� | � � | jd u rpt|�dkrD|d �� dkrD| �|dd � � d S | j�|dd � | � | js�| �g � d S n| j�|dd � | � | jr�t| j�| _ t
dkr�d | _n6| jd u r�d | _ n$t| jt
�r�| jf| _ nt| j�| _ | �� d S )Nr �discoverr>