/ lib / unittest / main.pyc
main.pyc
 1  o

 2  6�Hc-�@stdZddlZddlZddlZddlmZmZddlmZdZ	dZ
 3  dZd	d
 4  �Zdd�Z
d
d�ZGdd�de�ZeZdS)zUnittest main program�N�)�loader�runner)�installHandlerTaExamples:
 5    %(prog)s test_module               - run tests from test_module
 6    %(prog)s module.TestClass          - run tests from module.TestClass
 7    %(prog)s module.Class.test_method  - run specified test method
 8    %(prog)s path/to/test_file.py      - run tests from test_file.py
 9  aFExamples:
10    %(prog)s                           - run default set of tests
11    %(prog)s MyTestSuite               - run suite 'MyTestSuite'
12    %(prog)s MyTestCase.testSomething  - run MyTestCase.testSomething
13    %(prog)s MyTestCase                - run all 'test*' test methods
14                                         in MyTestCase
15  cCs�tj�|�r>|���d�r>tj�|�r,tj�|t���}tj�|�s(|�tj	�r*|S|}tj�
16  |�dd��dd��dd�S|S)Nz.py������\�.�/)�os�path�isfile�lower�endswith�isabs�relpath�getcwd�
17  startswith�pardir�normpath�replace)�name�rel_path�r�uC:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2800.0_x64__qbz5n2kfra8p0\lib\unittest\main.py�
_convert_names$rcCsdd�|D�S)NcSsg|]}t|��qSr)r)�.0rrrr�
18  <listcomp>.sz"_convert_names.<locals>.<listcomp>r)�namesrrr�_convert_names-srcCsd|vrd|}|S)N�*z*%s*r)�patternrrr�_convert_select_pattern1sr!c@s�eZdZdZdZdZdZZZZ	Z
19  ZdZdddde
jddddddfdd�dd	�Zdd
20  d�Zdd
�Zdd�Zddd�Zdd�Zdd�Zdd�Zdd�Zddd�Zdd�ZdS) �TestProgramzA command-line program that runs a set of tests; this is primarily
21         for making test modules conveniently executable.
22      Nr�__main__TF)�	tb_localscCs�t|t�rt|�|_|�d�dd�D]	}
t|j|
�|_qn||_|dur(tj}||_||_	|	|_
23  ||_|
24  |_||_
|durEtjsEd|_n||_||_||_||_tj�|d�|_|�|�|��dS)Nrr�defaultr)�
25  isinstance�str�
26  __import__�module�split�getattr�sys�argv�exit�failfast�
27  catchbreak�	verbosity�bufferr$�warnoptions�warnings�defaultTest�
28  testRunner�
29  testLoaderr
30  r�basename�progName�	parseArgs�runTests)�selfr)r5r-r6r7r.r1r/r0r2r4r$�partrrr�__init__As.
31  
32  �
33  zTestProgram.__init__cCs4|rt|�|jdur|��|��t�d�dS)N�)�print�_discovery_parser�_initArgParsers�_print_helpr,r.)r<�msgrrr�	usageExitgs
34  zTestProgram.usageExitcOs\|jdurt|j���ttd|ji�|j��dSt|j���ttd|ji�dS)N�prog)	r)r@�_main_parser�format_help�
MAIN_EXAMPLESr9rA�
35  print_help�MODULE_EXAMPLES)r<�args�kwargsrrrrCos
36  zTestProgram._print_helpcCs�|��|jdur8t|�dkr"|d��dkr"|�|dd��dS|j�|dd�|�|js7|�g�dSn|j�|dd�|�|jrTt|j�|_	t
37  dkrSd|_n|jdur]d|_	nt|jt
�ri|jf|_	nt|j�|_	|��dS)Nr�discoverr?r#)rBr)�lenr
�
_do_discoveryrG�
38  parse_args�testsr�	testNames�__name__r5r&r'�list�createTests)r<r-rrrr:xs,
39  
40  ��
41  zTestProgram.parseArgscCsx|jr|j|j_|r!|dur|jn|�}|�|j|j|j�|_dS|jdur0|j�|j	�|_dS|j�
42  |j|j	�|_dS�N)�testNamePatternsr7rN�startr �top�testrS�loadTestsFromModuler)�loadTestsFromNames)r<�from_discovery�LoaderrrrrrV�s
43  
44  
45  
46  �zTestProgram.createTestscCs$|��}|�|�|_|�|�|_dSrW)�_getParentArgParser�_getMainArgParserrG�_getDiscoveryArgParserrA)r<�
parent_parserrrrrB�szTestProgram._initArgParserscCs�tjdd�}|jddddddd	�|jd
47  ddddd
d	�|jddddd�|jdur7|jdddddd�d|_|jdurI|jdddddd�d|_|jdur[|jdddddd�d|_|jdurm|jdd d!td"d#�g|_|S)$NF)�add_helpz-vz	--verboser1�store_constr?zVerbose output)�dest�action�const�helpz-qz--quietrzQuiet outputz--localsr$�
48  store_truez"Show local variables in tracebacks)rfrgriz-fz
49  --failfastr/zStop on first fail or errorz-cz--catchr0z'Catch Ctrl-C and display results so farz-bz--bufferr2z%Buffer stdout and stderr during testsz-krX�appendz.Only run tests which match the given substring)rfrg�typeri)�argparse�ArgumentParser�add_argumentr/r0r2rXr!)r<�parserrrrr`�sL
50  �
51  ��
52  
53  �
54  
55  �
56  
57  �
58  �zTestProgram._getParentArgParsercCs2tj|gd�}|j|_|j|_|jdddd�|S)N��parentsrRrz?a list of any number of test modules, classes and test methods.)�nargsri)rmrnr9rFrCrJro)r<�parentrprrrra�s�zTestProgram._getMainArgParsercCsztj|gd�}d|j|_d|_|jddddd�|jd	d
59  ddd�|jd
dddd�dD]
}|j|dtjtjd�q-|S)Nrqz%s discoverzcFor test discovery all test modules must be importable from the top level directory of the project.z-sz--start-directoryrYz*Directory to start discovery ('.' default))rfriz-pz	--patternr z+Pattern to match tests ('test*.py' default)z-tz--top-level-directoryrZz<Top level directory of project (defaults to start directory))rYr rZ�?)rsr%ri)rmrnr9rF�epilogro�SUPPRESS)r<rtrp�argrrrrb�s$
60  �
61  �
62  ��z"TestProgram._getDiscoveryArgParsercCsLd|_d|_d|_|dur|jdur|��|j�||�|jd|d�dS)Nrztest*.pyT)r^r_)rYr rZrArBrQrV)r<r-r_rrrrP�s
63  zTestProgram._do_discoveryc	Cs�|jrt�|jdurtj|_t|jt�rMz*z|j|j|j|j	|j
64  |jd�}Wnty=|j|j|j|j	|j
65  d�}YnwWntyL|��}Ynw|j}|�
|j�|_|jret�|j���dSdS)N)r1r/r2r4r$)r1r/r2r4)r0rr6r�TextTestRunnerr&rlr1r/r2r4r$�	TypeError�runr[�resultr.r,�
wasSuccessful)r<r6rrrr;�s:
66  
67  �
68  �����zTestProgram.runTestsrW)FN)rT�
69  __module__�__qualname__�__doc__r)r1r/r0r2r9r4rXrAr�defaultTestLoaderr>rErCr:rVrBr`rarbrPr;rrrrr"7s.��
70  &	
71  #
72  
r")r�r,rmr
73  �rr�signalsr�
74  __unittestrIrKrrr!�objectr"�mainrrrr�<module>s	]