o ?OgF!@sZ ddlZddlZddlZddlmZddlmZdZddZdZ d Z Gd d d e Z dS) N)utilwrapsTcstfdd}|S)Ncs*t|ddr ||g|Ri|S)NfailfastF)getattrstop)selfargskwmethod6/opt/alt/python310/lib64/python3.10/unittest/result.pyinner s zfailfast..innerr)r rrr rr srz Stdout: %sz Stderr: %sc@seZdZ dZdZdZd/ddZddZddZd d Z d d Z d dZ ddZ ddZ eddZeddZddZddZddZddZedd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.ZdS)0 TestResultNFcCsbd|_g|_g|_d|_g|_g|_g|_d|_d|_d|_ d|_ d|_ t j |_t j|_d|_dS)NFr)rfailureserrorstestsRunskippedexpectedFailuresunexpectedSuccesses shouldStopbuffer tb_locals_stdout_buffer_stderr_buffersysstdout_original_stdoutstderr_original_stderr _mirrorOutput)r streamZ descriptions verbosityrrr__init__&s zTestResult.__init__cCdSNrr rrr printErrors7zTestResult.printErrorscCs" |jd7_d|_|dS)NrF)rr" _setupStdoutr testrrr startTest:s zTestResult.startTestcCs<|jr|jdurt|_t|_|jt_|jt_dSdSr')rrioStringIOrrrr r(rrrr+@s    zTestResult._setupStdoutcCr&r'rr(rrr startTestRunHr*zTestResult.startTestRuncCs |d|_dS)NF)_restoreStdoutr"r,rrrstopTestNs zTestResult.stopTestcCs|jrV|jr6tj}tj}|r#|ds|d7}|jt ||r6|ds.|d7}|j t ||jt_|j t_|j d|j |j d|jdSdS)N r)rr"rrgetvaluer endswithrwrite STDOUT_LINEr! STDERR_LINErseektruncater)r outputerrorrrrr2Ss&       zTestResult._restoreStdoutcCr&r'rr(rrr stopTestRunhr*zTestResult.stopTestRuncC$ |j||||fd|_dSNT)rappend_exc_info_to_stringr"r r-errrrraddErrorns zTestResult.addErrorcCr?r@)rrArBr"rCrrr addFailurevs zTestResult.addFailurecCs` |dur.t|ddr|t|d|jr|j}n|j}|||||fd|_dSdS)NrFrT) rr issubclassfailureExceptionrrrArBr")r r-ZsubtestrDrrrr addSubTest}s  zTestResult.addSubTestcCs dSr'rr,rrr addSuccessszTestResult.addSuccesscCs |j||fdSr')rrA)r r-reasonrrraddSkipszTestResult.addSkipcCs |j||||fdSr')rrArBrCrrraddExpectedFailureszTestResult.addExpectedFailurecCs |j|dSr')rrAr,rrraddUnexpectedSuccessszTestResult.addUnexpectedSuccesscCs@ t|jt|jkodknot|d pt|jdkS)Nrr)lenrrhasattrrr(rrr wasSuccessfuls $  zTestResult.wasSuccessfulcCs d|_dSr@)rr(rrrrs zTestResult.stopc Cs |\}}}|||||}tj||||jdd}t|}|jrPtj }tj } |r>| ds7|d7}| t || rP| dsI| d7} | t| d|S)NT)capture_localscompactr4)_clean_tracebacks tracebackTracebackExceptionrlistformatrrrr5r r6rAr8r9join) r rDr-exctypevaluetbZtb_eZmsgLinesr<r=rrrrBs(       zTestResult._exc_info_to_stringc Csd}d}|||fg}t|h}|rh|\}}}|r)||r)|j}|r)||s||jur3|||r:|}d}n||_|durf|j|jfD]} | duret| |vre| t | | | jf| t| qG|s|S)NTF) idpop_is_relevant_tb_leveltb_nextrH_remove_unittest_tb_frames __traceback__ __cause__ __context__rAtypeadd) r r[r\r]r-ZretfirstZexcsseencrrrrUs.    zTestResult._clean_tracebackscCs d|jjvS)N __unittest)tb_frame f_globals)r r]rrrr`s z TestResult._is_relevant_tb_levelcCsB d}|r||s|}|j}|r||r |durd|_dSdSr')r`ra)r r]prevrrrrbs z%TestResult._remove_unittest_tb_framescCs&dt|j|jt|jt|jfS)Nz!<%s run=%i errors=%i failures=%i>)rZstrclass __class__rrOrrr(rrr__repr__s zTestResult.__repr__)NNN)__name__ __module__ __qualname__Z_previousTestClassZ_testRunEnteredZ_moduleSetUpFailedr%r)r.r+r1r3r2r>rrErFrIrJrLrMrNrQrrBrUr`rbrprrrrrs<       r) r/rrVrTr functoolsrrkrr8r9objectrrrrrs