JFIF$        dd7 

Viewing File: /usr/lib64/python3.9/unittest/__pycache__/main.cpython-39.pyc

a

�i�+�@stdZddlZddlZddlZddlmZmZddlmZdZ	dZ
dZd	d
�Zdd�Z
d
d�ZGdd�de�ZeZdS)zUnittest main program�N�)�loader�runner)�installHandlerTaExamples:
  %(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
aFExamples:
  %(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
cCs�tj�|�r||���d�r|tj�|�rXtj�|t���}tj�|�sP|�tj	�rT|S|}tj�
|�dd��dd��dd�S|S)Nz.py����\�.�/)�os�path�isfile�lower�endswith�isabs�relpath�getcwd�
startswith�pardir�normpath�replace)�nameZrel_path�r�%/usr/lib64/python3.9/unittest/main.py�
_convert_names$rcCsdd�|D�S)NcSsg|]}t|��qSr)r)�.0rrrr�
<listcomp>.�z"_convert_names.<locals>.<listcomp>r)�namesrrr�_convert_names-srcCsd|vrd|}|S)N�*z*%s*r)�patternrrr�_convert_select_pattern1sr!c@s�eZdZdZdZdZdZZZZ	Z
ZdZdddde
jddddddfdd�dd	�Zdd
d�Zdd
�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Cs�t|t�r<t|�|_|�d�dd�D]}
t|j|
�|_q&n||_|durPtj}||_||_	|	|_
||_|
|_||_
|dur�tjs�d|_n||_||_||_||_tj�|d�|_|�|�|��dS)Nrr�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)r5r-r6r7r.r1r/r0r2r4r$�partrrr�__init__As,


zTestProgram.__init__cCs4|rt|�|jdur|��|��t�d�dS)N�)�print�_discovery_parser�_initArgParsers�_print_helpr,r.)r<�msgrrr�	usageExitgs
zTestProgram.usageExitcOsZ|jdur6t|j���ttd|ji�|j��n t|j���ttd|ji�dS)N�prog)	r)r@�_main_parser�format_help�
MAIN_EXAMPLESr9rA�
print_help�MODULE_EXAMPLES)r<�args�kwargsrrrrCos
zTestProgram._print_helpcCs�|��|jdurpt|�dkrD|d��dkrD|�|dd��dS|j�|dd�|�|js�|�g�dSn|j�|dd�|�|jr�t|j�|_	t
dkr�d|_n6|jdur�d|_	n$t|jt
�r�|jf|_	nt|j�|_	|��dS)Nr�discoverr?r#)rBr)�lenr
�
_do_discoveryrG�
parse_args�testsr�	testNames�__name__r5r&r'�list�createTests)r<r-rrrr:xs(


zTestProgram.parseArgscCst|jr|j|j_|r@|dur"|jn|�}|�|j|j|j�|_n0|jdur\|j�|j	�|_n|j�
|j|j	�|_dS�N)�testNamePatternsr7rN�startr �top�testrSZloadTestsFromModuler)ZloadTestsFromNames)r<�from_discovery�LoaderrrrrrV�s


�zTestProgram.createTestscCs$|��}|�|�|_|�|�|_dSrW)�_getParentArgParser�_getMainArgParserrG�_getDiscoveryArgParserrA)r<Z
parent_parserrrrrB�szTestProgram._initArgParserscCs�tjdd�}|jddddddd	�|jd
ddddd
d	�|jddddd�|jdurn|jdddddd�d|_|jdur�|jdddddd�d|_|jdur�|jdddddd�d|_|jdur�|jdd d!td"d#�g|_|S)$NF)�add_helpz-vz	--verboser1�store_constr?zVerbose output)�dest�action�const�helpz-qz--quietrzQuiet outputz--localsr$�
store_truez"Show local variables in tracebacks)rcrdrfz-fz
--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)rcrd�typerf)�argparse�ArgumentParser�add_argumentr/r0r2rXr!)r<�parserrrrr^�sL
�
��

�

�

�
�zTestProgram._getParentArgParsercCs2tj|gd�}|j|_|j|_|jdddd�|S)N��parentsrRrz?a list of any number of test modules, classes and test methods.)�nargsrf)rjrkr9rFrCrJrl)r<�parentrmrrrr_�s�zTestProgram._getMainArgParsercCsztj|gd�}d|j|_d|_|jddddd�|jd	d
ddd�|jd
dddd�dD]}|j|dtjtjd�qZ|S)Nrnz%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))rcrfz-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�?)rpr%rf)rjrkr9rF�epilogrl�SUPPRESS)r<rqrm�argrrrr`�s$
�
�
��z"TestProgram._getDiscoveryArgParsercCsLd|_d|_d|_|dur:|jdur,|��|j�||�|jd|d�dS)Nrztest*.pyT)r\r])rYr rZrArBrQrV)r<r-r]rrrrP�s
zTestProgram._do_discoveryc	Cs�|jrt�|jdurtj|_t|jt�r�zTz"|j|j|j|j	|j
|jd�}Wn,tyz|j|j|j|j	|j
d�}Yn0Wq�ty�|��}Yq�0n|j}|�
|j�|_|jr�t�|j���dS)N)r1r/r2r4r$)r1r/r2r4)r0rr6rZTextTestRunnerr&rir1r/r2r4r$�	TypeError�runr[�resultr.r,Z
wasSuccessful)r<r6rrrr;�s2
�
�zTestProgram.runTests)N)FN)N)rT�
__module__�__qualname__�__doc__r)r1r/r0r2r9r4rXrArZdefaultTestLoaderr>rErCr:rVrBr^r_r`rPr;rrrrr"7s,��&
	
#

r")r{r,rjr
�rrZsignalsrZ
__unittestrIrKrrr!�objectr"�mainrrrr�<module>s	]
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg