grthtrhthjhtyjytjytkergtrhtrjytjerhrfh3 \ã@sXddlZddlZddlZddlmZddlmZdZdd„ZdZ d Z Gd d „d e ƒZ dS) éNé)Úutil)ÚwrapsTcstˆƒ‡fdd„ƒ}|S)Ncs$t|ddƒr|jƒˆ|f|ž|ŽS)NÚfailfastF)ÚgetattrÚstop)ÚselfÚargsÚkw)Úmethod©ú'/usr/lib64/python3.6/unittest/result.pyÚinner s zfailfast..inner)r)r rr )r r r srz Stdout: %sz Stderr: %sc@sÎeZdZdZdZdZd-dd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dd„Z dd„Z edd„ƒZedd„ƒZdd„Zdd„Zdd„Zdd„Zedd „ƒZd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„ZdS).Ú TestResultNFcCsbd|_g|_g|_d|_g|_g|_g|_d|_d|_d|_ d|_ d|_ t j |_t j|_d|_dS)NFr)rÚfailuresÚerrorsÚtestsRunÚskippedÚexpectedFailuresÚunexpectedSuccessesÚ shouldStopÚbufferÚ tb_localsÚ_stdout_bufferÚ_stderr_bufferÚsysÚstdoutÚ_original_stdoutÚstderrÚ_original_stderrÚ _mirrorOutput)rÚstreamZ descriptionsÚ verbosityr r r Ú__init__&szTestResult.__init__cCsdS)Nr )rr r r Ú printErrors7szTestResult.printErrorscCs |jd7_d|_|jƒdS)NrF)rr Ú _setupStdout)rÚtestr r r Ú startTest:szTestResult.startTestcCs8|jr4|jdkr$tjƒ|_tjƒ|_|jt_|jt_dS)N)rrÚioÚStringIOrrrr)rr r r r%@s    zTestResult._setupStdoutcCsdS)Nr )rr r r Ú startTestRunHszTestResult.startTestRuncCs|jƒd|_dS)NF)Ú_restoreStdoutr )rr&r r r ÚstopTestNszTestResult.stopTestcCs¬|jr¨|jrltjjƒ}tjjƒ}|rF|jdƒs6|d7}|jjt |ƒ|rl|jdƒs\|d7}|j jt |ƒ|jt_|j t_|j j dƒ|j jƒ|jj dƒ|jjƒdS)NÚ r)rr rrÚgetvaluerÚendswithrÚwriteÚ STDOUT_LINErÚ STDERR_LINErÚseekÚtruncater)rÚoutputÚerrorr r r r+Ss$       zTestResult._restoreStdoutcCsdS)Nr )rr r r Ú stopTestRunhszTestResult.stopTestRuncCs"|jj||j||ƒfƒd|_dS)NT)rÚappendÚ_exc_info_to_stringr )rr&Úerrr r r ÚaddErrornszTestResult.addErrorcCs"|jj||j||ƒfƒd|_dS)NT)rr8r9r )rr&r:r r r Ú addFailurevszTestResult.addFailurecCsZ|dk rVt|ddƒr|jƒt|d|jƒr4|j}n|j}|j||j||ƒfƒd|_dS)NrFrT) rrÚ issubclassÚfailureExceptionrrr8r9r )rr&Zsubtestr:rr r r Ú addSubTest}s zTestResult.addSubTestcCsdS)Nr )rr&r r r Ú addSuccessŽszTestResult.addSuccesscCs|jj||fƒdS)N)rr8)rr&Úreasonr r r ÚaddSkip’szTestResult.addSkipcCs|jj||j||ƒfƒdS)N)rr8r9)rr&r:r r r ÚaddExpectedFailure–szTestResult.addExpectedFailurecCs|jj|ƒdS)N)rr8)rr&r r r ÚaddUnexpectedSuccess›szTestResult.addUnexpectedSuccesscCs>t|jƒt|jƒkodknoÚ_count_relevant_tb_levelsÚ tracebackÚTracebackExceptionrÚlistÚformatrrrr.rr/r8r1r2Újoin) rr:r&ÚexctypeÚvalueÚtbÚlengthZtb_eZmsgLinesr5r6r r r r9­s*         zTestResult._exc_info_to_stringcCs d|jjkS)NÚ __unittest)Útb_frameÚ f_globals)rrUr r r rKËsz TestResult._is_relevant_tb_levelcCs,d}x"|r&|j|ƒ r&|d7}|j}qW|S)Nrr)rKrL)rrUrVr r r rMÎs  z$TestResult._count_relevant_tb_levelscCs&dtj|jƒ|jt|jƒt|jƒfS)Nz!<%s run=%i errors=%i failures=%i>)rZstrclassÚ __class__rrErr)rr r r Ú__repr__ÕszTestResult.__repr__)NNN)Ú__name__Ú __module__Ú __qualname__Z_previousTestClassZ_testRunEnteredZ_moduleSetUpFailedr#r$r'r%r*r,r+r7rr;r<r?r@rBrCrDrGrr9rKrMr[r r r r rs0      r) r(rrNrJrÚ functoolsrrWrr1r2Úobjectrr r r r Ús