U ,aW@sjddlZddlZddlZddlmZddlmZdZGdddeZ Gdd d ej Z Gd d d eZ dS) N)result)registerResultTc@s&eZdZddZddZdddZdS) _WritelnDecoratorcCs ||_dSN)stream)selfrr 4/opt/alt/python38/lib64/python3.8/unittest/runner.py__init__sz_WritelnDecorator.__init__cCs|dkrt|t|j|S)N)r __getstate__)AttributeErrorgetattrr)rattrr r r __getattr__sz_WritelnDecorator.__getattr__NcCs|r|||ddSN )write)rargr r r writelns z_WritelnDecorator.writeln)N)__name__ __module__ __qualname__r rrr r r r r srcseZdZdZdZfddZddZfddZfd d Zfd d Z fd dZ fddZ fddZ fddZ ddZddZZS)TextTestResultzF======================================================================zF----------------------------------------------------------------------cs8tt||||||_|dk|_|dk|_||_dS)Nr)superrr rshowAlldots descriptions)rrr verbosity __class__r r r %s   zTextTestResult.__init__cCs0|}|jr$|r$dt||fSt|SdSr)ZshortDescriptionrjoinstr)rtestZdoc_first_liner r r getDescription,s zTextTestResult.getDescriptioncsBtt|||jr>|j|||jd|jdS)Nz ... )rr startTestrrrr$flushrr#rr r r%3s  zTextTestResult.startTestcsDtt|||jr$|jdn|jr@|jd|jdS)Nok.) rr addSuccessrrrrrr&r'rr r r*:s  zTextTestResult.addSuccesscsFtt||||jr&|jdn|jrB|jd|jdS)NERRORE) rraddErrorrrrrrr&rr#errrr r r-Bs  zTextTestResult.addErrorcsFtt||||jr&|jdn|jrB|jd|jdS)NFAILF) rr addFailurerrrrrr&r.rr r r2Js  zTextTestResult.addFailurecsLtt||||jr,|jd|n|jrH|jd|j dS)Nz skipped {0!r}s) rraddSkiprrrformatrrr&)rr#reasonrr r r4Rs  zTextTestResult.addSkipcsFtt||||jr&|jdn|jrB|jd|jdS)Nzexpected failurex) rraddExpectedFailurerrrrrr&r.rr r r8Zs  z!TextTestResult.addExpectedFailurecsDtt|||jr$|jdn|jr@|jd|jdS)Nzunexpected successu) rraddUnexpectedSuccessrrrrrr&r'rr r r:bs  z#TextTestResult.addUnexpectedSuccesscCs6|js |jr|j|d|j|d|jdS)Nr+r0)rrrrprintErrorListerrorsfailuresrr r r printErrorsjs  zTextTestResult.printErrorscCsX|D]N\}}|j|j|jd|||f|j|j|jd|qdS)Nz%s: %sz%s)rr separator1r$ separator2)rZflavourr<r#r/r r r r;ps  zTextTestResult.printErrorList)rrrr@rAr r$r%r*r-r2r4r8r:r?r; __classcell__r r rr rs        rc@s0eZdZeZd ddddZdd Zd d ZdS) TextTestRunnerNTrF) tb_localsc CsN|dkrtj}t||_||_||_||_||_||_||_ |dk rJ||_ dSr) sysstderrrrrrfailfastbufferrDwarnings resultclass) rrrrrGrHrJrIrDr r r r s zTextTestRunner.__init__cCs||j|j|jSr)rJrrrr>r r r _makeResultszTextTestRunner._makeResultc Cs2|}t||j|_|j|_|j|_t|jr^t|j|jdkr^tjdt ddt }t |dd}|dk r|z ||W5t |dd}|dk r|Xt }W5QRX||}| t|dr|j|j|j}|jd||d kod pd |f|jd } } } ztt|j|j|jf} Wntk rTYn X| \} } } g} |s|jd t|jt|j}}|r| d||r| d|n |jd| r| d| | r| d| | r| d| | r"|jdd| fn |jd|S)N)defaultalwaysmodulezPlease use assert\w+ instead.)categorymessage startTestRun stopTestRunrAzRan %d test%s in %.3fsrr3rZFAILEDz failures=%dz errors=%dZOKz skipped=%dzexpected failures=%dzunexpected successes=%dz (%s)z, r)rKrrGrHrDrIcatch_warnings simplefilterfilterwarningsDeprecationWarningtime perf_counterrr?hasattrrrrAZtestsRunmaplenZexpectedFailuresunexpectedSuccessesskippedr Z wasSuccessfulrr=r<appendr!)rr#rZ startTimerQrRZstopTimeZ timeTakenrunZ expectedFailsr]r^ZresultsZinfosZfailedZerroredr r r r`sx               zTextTestRunner.run)NTrFFNN)rrrrrJr rKr`r r r r rCxs rC) rErXrIrSrZsignalsrZ __unittestobjectrZ TestResultrrCr r r r s  [