e4SrSSKrSSKJr SSKJr SrSr"SS \5r"S S\5r "S S \5r S r "SS\5r g) TestSuiteN)case)utilTc,[XS5nU"5 g)NcgNr 4/opt/imh/python3.13/lib/python3.13/unittest/suite.py!_call_if_exists.. sr )getattr)parentattrfuncs r _call_if_existsr s 6 .DFr cb\rSrSrSrSrSSjrSrSrSr Sr S r S r S r S rS rSrSrg) BaseTestSuitezNA simple test suite that doesn't provide class or module shared fixtures. TcB/UlSUlURU5 gNr)_tests_removed_testsaddTests)selftestss r __init__BaseTestSuite.__init__s  er cfS[R"UR5<S[U5<S3$)N)rstrclass __class__listrs r __repr__BaseTestSuite.__repr__s"&--"?dLLr cp[XR5(d[$[U5[U5:H$r ) isinstancer$NotImplementedr%)rothers r __eq__BaseTestSuite.__eq__s*%00! !DzT%[((r c,[UR5$r )iterrr&s r __iter__BaseTestSuite.__iter__"sDKK  r cfURnUHnU(dM XR5- nM U$r )rcountTestCases)rcasestests r r4BaseTestSuite.countTestCases%s4##Dt,,.. r c*[U5(d#[SR[U555e[ U[ 5(a0[ U[R[45(a [S5eURRU5 g)Nz{} is not callablezNTestCases and TestSuites must be instantiated before passing them to addTest()) callable TypeErrorformatreprr*type issubclassrTestCaserrappendrr6s r addTestBaseTestSuite.addTest,su~~077T CD D dD ! !j26--1K'M'M?@ @ 4 r cx[U[5(a [S5eUHnURU5 M g)Nz0tests must be an iterable of tests, not a string)r*strr:rB)rrr6s r rBaseTestSuite.addTests6s1 eS ! !NO OD LL r c[U5HEup#UR(a U$U"U5 UR(dM4URU5 MG U$r ) enumerate shouldStop_cleanup_removeTestAtIndex)rresultindexr6s r runBaseTestSuite.run<sL$T?KE    L}}}''. +  r cURUn[US5(a#U=RUR5- slSURU'g![a gf=f)z2Stop holding a reference to the TestCase at index.r4N)rhasattrrr4r:)rrMr6s r rK BaseTestSuite._removeTestAtIndexEsa &;;u%Dt-..##t':':'<<#!%DKK    sA A"!A"c&UR"U0UD6$r rN)rargskwdss r __call__BaseTestSuite.__call__Ssxx&&&r c6UHnUR5 M g)7Run the tests without collecting errors in a TestResultN)debugrAs r r[BaseTestSuite.debugVsD JJLr )rrN)r )__name__ __module__ __qualname____firstlineno____doc__rJrr'r-r1r4rBrrNrKrWr[__static_attributes__r r r rrsDH M) !!  &'r rc^\rSrSrSrSSjrSrSrSrSr SS jr SS jr S r S r S rg)r\aA test suite is a composite test consisting of a number of TestCases. For use, create an instance of TestSuite, then add test case instances. When all tests have been added, the suite can be passed to a test runner, such as TextTestRunner. It will run the individual test cases in the order in which they were added, aggregating the results. When subclassing, do not forget to call the base class constructor. c|Sn[USS5SLa S=Uln[U5HupEUR(a O[ U5(atUR XQ5 UR XQ5 URXQ5 URUl [URSS5(d[USS5(aMU(d U"U5 OUR5 UR(dMURU5 M U(a*UR SU5 URU5 SUlU$)NF_testRunEnteredT_classSetupFailed_moduleSetUpFailed)rrfrHrI _isnotsuite_tearDownPreviousClass_handleModuleFixture_handleClassSetUpr$_previousTestClassr[rJrK_handleModuleTearDown)rrLr[topLevelrMr6s r rN TestSuite.runfs 6,e 4 =04 4F "X$T?KE  4  ++D9))$7&&t4,0NN)DNN,?GGF$8%@@V  }}}''.)+,   ' 'f 5  & &v .%*F " r c<[5nURUS5 g)rZTN) _DebugResultrN)rr[s r r[TestSuite.debugs r c [USS5nURnXC:XagUR(ag[USS5(agSnSUl[USS5n[USS5nUb[[ US5 U"5 U(a2Ub/U"5 URHn URX*SSW U S 9 M [ US 5 gg![a Nf=f![ adn[U[5(aeSnSUlO![a Of=f[R"U5n URX(SU 5 SnANSnAff=f![ US 5 f=f) Nrm__unittest_skip__F setUpClassdoClassCleanups _setupStdoutTrinfo_restoreStdout) rr$rhrgr:r Exceptionr*rrrr#"_createClassOrModuleLevelExceptiontearDown_exceptions) rr6rL previousClass currentClassfailedrvrwe classNameexc_infos r rlTestSuite._handleClassSetUps~( !,0A4H  ! FN 3 : GLo9#%$0$D$D?? & \9%-@/%E  (891 "   ! G!&,77!F9= 6$ $ l ;I;;FD5DD5 D2D-(D5-D22D55ENc8USUS3nURXXe5 g)Nz ())_addClassOrModuleLevelException)rrLexc method_namerrz errorNames r r},TestSuite._createClassOrModuleLevelExceptions$"m2fXQ/  ,,V)Jr c[U5n[USS5nUb2[U[R5(aU"U[ U55 gU(d&UR U[R"55 gUR XT5 g)NaddSkip) _ErrorHolderrr*rSkipTestrEaddErrorrr)rrL exceptionrrzerrorrs r r)TestSuite._addClassOrModuleLevelExceptionsaY'&)T2  :i#G#G E3y> *s||~6,r cJURU5nUcgUR(ag[RUn[ US5 [ USS5nUbU"5 [R"5 [ US5 g![a gf=f![a3n[U[5(aeURXSU5 SnANkSnAff=f![a3n[U[5(aeURXSU5 SnANSnAff=f![ US5 f=f)NrxtearDownModuler{) rrhrrrrrr|r*rrr}rr)rrLrrrrs r rnTestSuite._handleModuleTearDowns-226:  !   $ $  [[0F / 6$V-=tDN)L"$ H%%' F$4 51   !L!&,77;;FrsW    IFIXi6 i6X$6$L6r