3 \ï(ã@sxddlZddlmZddlmZdZdd„ZGdd „d eƒZGd d „d eƒZGd d „d eƒZ dd„Z Gdd„deƒZ dS)éNé)Úcase)ÚutilTcCst||dd„ƒ}|ƒdS)NcSsdS)N©rrrú&/usr/lib64/python3.6/unittest/suite.pyÚ sz!_call_if_exists..)Úgetattr)ÚparentÚattrÚfuncrrrÚ_call_if_exists sr c@sleZdZdZffdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„ZdS)Ú BaseTestSuiteTcCsg|_d|_|j|ƒdS)Nr)Ú_testsÚ_removed_testsÚaddTests)ÚselfÚtestsrrrÚ__init__szBaseTestSuite.__init__cCsdtj|jƒt|ƒfS)Nz <%s tests=%s>)rÚstrclassÚ __class__Úlist)rrrrÚ__repr__szBaseTestSuite.__repr__cCs t||jƒstSt|ƒt|ƒkS)N)Ú isinstancerÚNotImplementedr)rÚotherrrrÚ__eq__s zBaseTestSuite.__eq__cCs t|jƒS)N)Úiterr)rrrrÚ__iter__"szBaseTestSuite.__iter__cCs(|j}x|D]}|r ||jƒ7}q W|S)N)rÚcountTestCases)rZcasesÚtestrrrr%s  zBaseTestSuite.countTestCasescCsLt|ƒstdjt|ƒƒƒ‚t|tƒr¶s,      $zTestSuite._handleModuleFixturecCsLt|ƒ}t|ddƒ}|dk r8t|tjƒr8||t|ƒƒn|j|tjƒƒdS)NÚaddSkip) Ú _ErrorHolderrrrZSkipTestr)ZaddErrorrQÚexc_info)rr.Z exceptionrMÚerrorrUrrrrHÒs  z)TestSuite._addClassOrModuleLevelExceptionc CsÈ|j|ƒ}|dkrdS|jr dSytj|}Wntk rBdSXt|ddƒ}|dk rÄt|dƒzTy |ƒWnDtk r²}z(t|t ƒrŒ‚d|}|j |||ƒWYdd}~XnXWdt|dƒXdS)NÚtearDownModulerEztearDownModule (%s)rF) rOr;rQrRrSrr rGrrBrH)rr.rNrTrYrKrMrrrrAÚs(     $zTestSuite._handleModuleTearDownc CsÜt|ddƒ}|j}||krdSt|ddƒr.dSt|ddƒr>dSt|ddƒrNdSt|ddƒ}|dk rØt|dƒz^y |ƒWnNtk rÆ}z2t|tƒr–‚tj|ƒ}d|}|j|||ƒWYdd}~XnXWdt|d ƒXdS) Nr@r:Fr;rCÚ tearDownClassrEztearDownClass (%s)rF) rrr rGrrBrrrH) rrr.rIrJrZrKrLrMrrrr=ós,         $z TestSuite._tearDownPreviousClassN)F) r6r7r8r0r5r?rOr>rHrAr=rrrrr&\s ! r&c@sPeZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dS)rVNcCs ||_dS)N)Ú description)rr[rrrrsz_ErrorHolder.__init__cCs|jS)N)r[)rrrrÚidsz_ErrorHolder.idcCsdS)Nr)rrrrÚshortDescription sz_ErrorHolder.shortDescriptioncCs d|jfS)Nz)r[)rrrrr#sz_ErrorHolder.__repr__cCs|jƒS)N)r\)rrrrÚ__str__&sz_ErrorHolder.__str__cCsdS)Nr)rr.rrrr0)sz_ErrorHolder.runcCs |j|ƒS)N)r0)rr.rrrr4.sz_ErrorHolder.__call__cCsdS)Nrr)rrrrr1sz_ErrorHolder.countTestCases) r6r7r8ZfailureExceptionrr\r]rr^r0r4rrrrrrVs rVc Cs&y t|ƒWntk r dSXdS)NTF)rr!)rrrrr<4s  r<c@seZdZdZdZdZdS)rBNF)r6r7r8r@r;r+rrrrrB=srB) rQÚrrZ __unittestr Úobjectr r&rVr<rBrrrrÚs  L3&