a :êdgWã@sjddlZddlZddlZddlmZddlmZdZGdd„deƒZ Gdd „d ej ƒZ Gd d „d eƒZ dS) éNé)Úresult)ÚregisterResultTc@s&eZdZdd„Zdd„Zddd„ZdS) Ú_WritelnDecoratorcCs ||_dS©N)Ústream)Úselfr©r ú+/usr/local/lib/python3.9/unittest/runner.pyÚ__init__sz_WritelnDecorator.__init__cCs|dvrt|ƒ‚t|j|ƒS)N)rÚ __getstate__)ÚAttributeErrorÚgetattrr)rÚattrr r r Ú __getattr__sz_WritelnDecorator.__getattr__NcCs|r| |¡| d¡dS©NÚ )Úwrite)rÚargr r r Úwritelns z_WritelnDecorator.writeln)N)Ú__name__Ú __module__Ú __qualname__r rrr r r r r srcseZdZdZdZ‡fdd„Zdd„Z‡fdd„Z‡fd d „Z‡fd d „Z ‡fd d„Z ‡fdd„Z ‡fdd„Z ‡fdd„Z dd„Zdd„Z‡ZS)ÚTextTestResultzF======================================================================zF----------------------------------------------------------------------cs8tt|ƒ |||¡||_|dk|_|dk|_||_dS)Nr)Úsuperrr rÚshowAllÚdotsÚ descriptions)rrrÚ verbosity©Ú __class__r r r %s   zTextTestResult.__init__cCs0| ¡}|jr$|r$d t|ƒ|f¡St|ƒSdSr)ZshortDescriptionrÚjoinÚstr)rÚtestZdoc_first_liner r r ÚgetDescription,s zTextTestResult.getDescriptioncsBtt|ƒ |¡|jr>|j | |¡¡|j d¡|j ¡dS)Nz ... )rrÚ startTestrrrr$Úflush©rr#rr r r%3s  zTextTestResult.startTestcsDtt|ƒ |¡|jr$|j d¡n|jr@|j d¡|j ¡dS)NÚokÚ.) rrÚ addSuccessrrrrrr&r'rr r r*:s  zTextTestResult.addSuccesscsFtt|ƒ ||¡|jr&|j d¡n|jrB|j d¡|j ¡dS)NÚERRORÚE) rrÚaddErrorrrrrrr&©rr#Úerrrr r r-Bs  zTextTestResult.addErrorcsFtt|ƒ ||¡|jr&|j d¡n|jrB|j d¡|j ¡dS)NÚFAILÚF) rrÚ addFailurerrrrrr&r.rr r r2Js  zTextTestResult.addFailurecsLtt|ƒ ||¡|jr,|j d |¡¡n|jrH|j d¡|j  ¡dS)Nz skipped {0!r}Ús) rrÚaddSkiprrrÚformatrrr&)rr#Úreasonrr r r4Rs  zTextTestResult.addSkipcsFtt|ƒ ||¡|jr&|j d¡n|jrB|j d¡|j ¡dS)Nzexpected failureÚx) rrÚaddExpectedFailurerrrrrr&r.rr r r8Zs  z!TextTestResult.addExpectedFailurecsDtt|ƒ |¡|jr$|j d¡n|jr@|j d¡|j ¡dS)Nzunexpected successÚu) rrÚaddUnexpectedSuccessrrrrrr&r'rr r r:bs  z#TextTestResult.addUnexpectedSuccesscCs6|js |jr|j ¡| d|j¡| d|j¡dS)Nr+r0)rrrrÚprintErrorListÚerrorsÚfailures©rr r r Ú printErrorsjs  zTextTestResult.printErrorscCsX|D]N\}}|j |j¡|j d|| |¡f¡|j |j¡|j d|¡qdS)Nz%s: %sz%s)rrÚ separator1r$Ú separator2)rÚflavourr<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 ddœdd„Zdd „Zd d „ZdS) ÚTextTestRunnerNTrF)Ú tb_localsc CsN|durtj}t|ƒ|_||_||_||_||_||_||_ |durJ||_ dSr) ÚsysÚstderrrrrrÚfailfastÚbufferrEÚwarningsÚ resultclass) rrrrrHrIrKrJrEr r r r €s zTextTestRunner.__init__cCs| |j|j|j¡Sr)rKrrrr>r r r Ú _makeResult”szTextTestRunner._makeResultc Csb| ¡}t|ƒ|j|_|j|_|j|_t ¡ª|jr^t |j¡|jdvr^tjdt ddt   ¡}t |ddƒ}|dur€|ƒz&||ƒWt |ddƒ}|durÄ|ƒnt |ddƒ}|durÂ|ƒ0t   ¡}Wdƒn1sà0Y||}|  ¡t|dƒr|j |j¡|j}|j d||d kr4d p6d |f¡|j ¡d } } } ztt|j|j|jfƒ} Wnty„Yn 0| \} } } g} | ¡sê|j d ¡t|jƒt|jƒ}}|rÔ|  d|¡|rö|  d|¡n |j d¡| r |  d| ¡| r|  d| ¡| r2|  d| ¡| rR|j dd | ¡f¡n |j d¡|S)N)ÚdefaultÚalwaysÚmodulezPlease use assert\w+ instead.)ÚcategoryÚmessageÚ startTestRunÚ stopTestRunrAzRan %d test%s in %.3fsrr3ÚrZFAILEDz failures=%dz errors=%dZOKz skipped=%dzexpected failures=%dzunexpected successes=%dz (%s)z, r)rLrrHrIrErJÚcatch_warningsÚ simplefilterÚfilterwarningsÚDeprecationWarningÚtimeÚ perf_counterrr?ÚhasattrrrrAZtestsRunÚmapÚlenZexpectedFailuresÚunexpectedSuccessesÚskippedr Z wasSuccessfulrr=r<Úappendr!)rr#rZ startTimerRrSZstopTimeZ timeTakenÚrunZ expectedFailsr^r_ÚresultsZinfosZfailedZerroredr r r ra—s~   þ   þ & ÿ  þ      zTextTestRunner.run)NTrFFNN)rrrrrKr rLrar r r r rDxsÿþ rD) rFrYrJrTrZsignalsrZ __unittestÚobjectrZ TestResultrrDr r r r Ús  [