PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB`3 \G@sndZddlZddlZddlZddlmZddlmZdZGddde Z Gd d d ej Z Gd d d e Z dS) z Running testsN)result)registerResultTc@s*eZdZdZddZddZd ddZdS) _WritelnDecoratorz@Used to decorate file-like objects with a handy 'writeln' methodcCs ||_dS)N)stream)selfrr'/usr/lib64/python3.6/unittest/runner.py__init__sz_WritelnDecorator.__init__cCs|dkrt|t|j|S)Nr __getstate__)rr )AttributeErrorgetattrr)rattrrrr __getattr__sz_WritelnDecorator.__getattr__NcCs|r|j||jddS)N )write)rargrrr writelns z_WritelnDecorator.writeln)N)__name__ __module__ __qualname____doc__r rrrrrr r srcseZdZdZddZddZfddZddZfd d Zfd d Z fd dZ fddZ fddZ fddZ fddZddZddZZS)TextTestResultzhA test result class that can print formatted text results to a stream. Used by TextTestRunner. =F-cs8tt|j|||||_|dk|_|dk|_||_dS)Nr)superrr rshowAlldots descriptions)rrr verbosity) __class__rr r %s   zTextTestResult.__init__cCs0|j}|jr$|r$djt||fSt|SdS)Nr)ZshortDescriptionrjoinstr)rtestZdoc_first_linerrr getDescription,s zTextTestResult.getDescriptioncsBtt|j||jr>|jj|j||jjd|jjdS)Nz ... )rr startTestrrrr%flush)rr$)r!rr r&3s  zTextTestResult.startTestcsDtt|j||jr$|jjdn|jr@|jjd|jjdS)Nok.) rr addSuccessrrrrrr')rr$)r!rr r*:s  zTextTestResult.addSuccesscsFtt|j|||jr&|jjdn|jrB|jjd|jjdS)NERRORE) rraddErrorrrrrrr')rr$err)r!rr r-Bs  zTextTestResult.addErrorcsFtt|j|||jr&|jjdn|jrB|jjd|jjdS)NFAILF) rr addFailurerrrrrr')rr$r.)r!rr r1Js  zTextTestResult.addFailurecsLtt|j|||jr,|jjdj|n|jrH|jjd|jj dS)Nz skipped {0!r}s) rraddSkiprrrformatrrr')rr$reason)r!rr r3Rs  zTextTestResult.addSkipcsFtt|j|||jr&|jjdn|jrB|jjd|jjdS)Nzexpected failurex) rraddExpectedFailurerrrrrr')rr$r.)r!rr r7Zs  z!TextTestResult.addExpectedFailurecsDtt|j||jr$|jjdn|jr@|jjd|jjdS)Nzunexpected successu) rraddUnexpectedSuccessrrrrrr')rr$)r!rr r9bs  z#TextTestResult.addUnexpectedSuccesscCs6|js |jr|jj|jd|j|jd|jdS)Nr+r/)rrrrprintErrorListerrorsfailures)rrrr printErrorsjs  zTextTestResult.printErrorscCs\xV|D]N\}}|jj|j|jjd||j|f|jj|j|jjd|qWdS)Nz%s: %sz%s)rr separator1r% separator2)rZflavourr;r$r.rrr r:ps zTextTestResult.printErrorList)rrrrr>r?r r%r&r*r-r1r3r7r9r=r: __classcell__rr)r!r rs        rc@s4eZdZdZeZd ddddZd d Zd d ZdS)TextTestRunnerzA test runner class that displays results in textual form. It prints out the names of tests as they are run, errors as they occur, and a summary of the results at the end of the test run. NTrF) tb_localsc CsN|dkrtj}t||_||_||_||_||_||_||_ |dk rJ||_ dS)zConstruct a TextTestRunner. Subclasses should accept **kwargs to ensure compatibility as the interface changes. N) sysstderrrrrr failfastbufferrBwarnings resultclass) rrrr rErFrHrGrBrrr r s zTextTestRunner.__init__cCs|j|j|j|jS)N)rHrrr )rrrr _makeResultszTextTestRunner._makeResultcCs4|j}t||j|_|j|_|j|_tj|jr^tj|j|jdkr^tjdt ddt j }t |dd}|dk r|z ||Wdt |dd}|dk r|Xt j }WdQRX||}|j t |d r|jj|j|j}|jjd ||d krd pd |f|jjd} } } ytt|j|j|jf} Wntk rVYn X| \} } } g} |js|jjdt|jt|j}}|r| jd||r| jd|n |jjd| r| jd| | r| jd| | r| jd| | r$|jjddj| fn |jjd|S)z&Run the given test case or test suite.defaultalwaysmodulezPlease use assert\w+ instead.)categorymessage startTestRunN stopTestRunr?zRan %d test%s in %.3fsrr2rZFAILEDz failures=%dz errors=%dZOKz skipped=%dzexpected failures=%dzunexpected successes=%dz (%s)z, r)rJrK)rIrrErFrBrGcatch_warnings simplefilterfilterwarningsDeprecationWarningtimer r=hasattrrrr?ZtestsRunmaplenZexpectedFailuresunexpectedSuccessesskippedr Z wasSuccessfulrr<r;appendr")rr$rZ startTimerOrPZstopTimeZ timeTakenrunZ expectedFailsrZr[ZresultsZinfosZfailedZerroredrrr r]sr              zTextTestRunner.run)NTrFFNN) rrrrrrHr rIr]rrrr rAxsrA)rrCrVrGrQrZsignalsrZ __unittestobjectrZ TestResultrrArrrr s  [