f4 ddlZddlmZddlmZdZdZGddeZGd d eZGd d eZ d Z GddeZ dS)N)case)utilTc>t||d}|dS)NcdSNr 5/opt/alt/python311/lib64/python3.11/unittest/suite.pyz!_call_if_exists.. sr )getattr)parentattrfuncs r _call_if_existsr s$ 64 . .DDFFFFFr cXeZdZ dZddZdZdZdZdZdZ d Z d Z d Z d Z d ZdS) BaseTestSuiteTr cLg|_d|_||dSNr)_tests_removed_testsaddTests)selftestss r __init__zBaseTestSuite.__init__s)  er c\dtj|jdt|dS)N)rstrclass __class__listrs r __repr__zBaseTestSuite.__repr__s+"&-"?"?"?"?dLLr czt||jstSt|t|kSr) isinstancer NotImplementedr!)rothers r __eq__zBaseTestSuite.__eq__s3%00 "! !DzzT%[[((r c*t|jSr)iterrr"s r __iter__zBaseTestSuite.__iter__"sDK   r cP|j}|D]}|r||z }|Sr)rcountTestCases)rcasestests r r-zBaseTestSuite.countTestCases%s=# / /D /,,... r c@t|s/tdt|t |t r0t |tjtfrtd|j |dS)Nz{} is not callablezNTestCases and TestSuites must be instantiated before passing them to addTest()) callable TypeErrorformatreprr%type issubclassrTestCase TestSuiterappendrr/s r addTestzBaseTestSuite.addTest,s~~ E077T CCDD D dD ! ! @j26-1K'M'M @?@@ @ 4     r ct|trtd|D]}||dS)Nz0tests must be an iterable of tests, not a string)r%strr2r;)rrr/s r rzBaseTestSuite.addTests6sR eS ! ! PNOO O  D LL      r ct|D]5\}}|jrn(|||jr||6|Sr) enumerate shouldStop_cleanup_removeTestAtIndex)rresultindexr/s r runzBaseTestSuite.run<s\$T?? / /KE4   DLLL} /''... r c |j|}t|dr"|xj|z c_d|j|<dS#t$rYdSwxYw)Nr-)rhasattrrr-r2)rrDr/s r rBz BaseTestSuite._removeTestAtIndexEs@ &;u%Dt-.. =##t':':'<'<<##!%DK       DD s A AAc|j|i|SrrE)rargskwdss r __call__zBaseTestSuite.__call__Sstx&&&&r c: |D]}|dSr)debugr:s r rNzBaseTestSuite.debugVs-E  D JJLLLL  r N)r )__name__ __module__ __qualname__rArr#r(r+r-r;rrErBrLrNr r r rrsH MMM))) !!!!!!  & & &'''r rcPeZdZ d dZdZdZdZdZ d dZ d d Z d Z d Z dS)r8Fcld}t|dddur dx|_}t|D]\}}|jrnt |rv||||||||||j|_ t|jddst|ddr|s ||n| |j r| ||r2|d|| |d|_|S)NF_testRunEnteredT_classSetupFailed_moduleSetUpFailed)r rTr?r@ _isnotsuite_tearDownPreviousClass_handleModuleFixture_handleClassSetUpr _previousTestClassrNrArB_handleModuleTearDown)rrCrNtopLevelrDr/s r rEz TestSuite.runfsb 6,e 4 4 = =04 4F "X$T?? / /KE4  4   ++D&999))$777&&tV444,0N)DN,?GGF$8%@@ V  } /''...  +  ' 'f 5 5 5  & &v . . .%*F " r cP t}||ddS)NT) _DebugResultrE)rrNs r rNzTestSuite.debugs(E r ct|dd}|j}||krdS|jrdSt|ddrdSd} d|_n#t$rYnwxYwt|dd}t|dd}|t |d |nt#t $rg}t|trd} d|_n#t$rYnwxYwtj |} | ||d| Yd}~nd}~wwxYw|r6|4||j D]"} | || dd| | #t |d dS#t |d wxYwdS) Nr[__unittest_skip__F setUpClassdoClassCleanups _setupStdoutTrinfo_restoreStdout) r r rVrUr2r Exceptionr%r_rr"_createClassOrModuleLevelExceptiontearDown_exceptions) rr/rC previousClass currentClassfailedrbrce classNameexc_infos r rZzTestSuite._handleClassSetUps8(> !,0A4HH  ! FN 3 3 3 : GJLLLL G G G!&,77!F9= 66$ $ l ; ;I;;FAd}t|dd}||j}|S)Nr[)r rP)rrCpreviousModulerks r _get_previous_modulezTestSuite._get_previous_modules-(> * * * * * -s|~~66666t,,,,,r c|||}|dS|jrdS tj|}n#t$rYdSwxYwt |d t |dd}|Q |nE#t$r8}t|tr| ||d|Yd}~nd}~wwxYw tj nE#t$r8}t|tr| ||d|Yd}~nd}~wwxYwt |ddS#t |dwxYw)NrdtearDownModulerg) rsrVrvrwrxrr rhr%r_rirry)rrCrrr{rrns r r\zTestSuite._handleModuleTearDowns226::  ! F  $  F [0FF    FF  /// 6$V-=tDDN)L"N$$$$ LLL!&,77;;FACD) D.D D)DD))D;ct|dd}|j}||ks|dSt|ddrdSt|ddrdSt|ddrdSt|dd}t|dd}||dSt|d |e |nY#t$rL}t |t rt j|}|||d|Yd}~nd}~wwxYw|e||j D]S} t |t r| d t j|}||| d d|| Tt|d dS#t|d wxYw) Nr[rUFrVra tearDownClassrcrdrrerg) r r rrhr%r_rrrirj) rr/rCrkrlrrcrnrorps r rXz TestSuite._tearDownPreviousClasss%(E T tt 5s  !!ceZdZ dZdZdZdS)r_NF)rOrPrQr[rVr@r r r r_r_ws"IJJJr r_) rvrr __unittestrobjectrr8rrWr_r r r rs      IIIIIFIIIXi6i6i6i6i6 i6i6i6X$$$$$6$$$L6r