5dՂdZddlZddlZddlZddlZddlZddlZddlmZddl m Z GddejZ GddZ dd Zdd Zed k(rddlmcmZd e _Gd dej,Zej0Zej5ej6j9eej:Zeedej@DZ!e!ejDZ#e#jIeZ%e&dejOe&ddejPe%jSD]Z*e&e*jWde&yy)z=Test runner and result class for the regression test suite. N)support) sanitize_xmlceZdZdZfdZedZfdZddZedZ fdZ fdZ fd Z fd Z fd Zfd Zd ZxZS)RegressionTestResultFc`t||||rdndd|_|jr}ddlm}ddlm}m}||_|jd|_ |jjd|j|jd jd d|_d|_y) Nr)stream descriptions verbosityT) ElementTree)datetimeUTC testsuitestart)tzinfo )super__init__bufferUSE_XML xml.etreer r r_RegressionTestResult__ETElement_RegressionTestResult__suitesetnowreplace isoformat_RegressionTestResult__e!_RegressionTestResult__start_time)selfr r r ETr r __class__s B/opt/alt/python312/lib64/python3.12/test/libregrtest/testresult.pyrzRegressionTestResult.__init__s \(11q  : << 3 .DI%2::k2DL LL  W%\\#.&-gTg&:&/in 6DH c |j} |S#t$rt|cYSwxYw#t$rt|cYSwxYwN)idAttributeErrorstr TypeErrorrepr)clstesttest_ids r$__getIdzRegressionTestResult.__getId!sR ggG 9  t9   w<  s 0--AAct|||jr-|jj |j dx|_}tj|_ y)Ntestcase) r startTestrr SubElementrrtime perf_counterr )r!r.er#s r$r3zRegressionTestResult.startTest-sI $ <<99// jI IDHq --/r%c ~|jsy|j}d|_|y|j}|jd|j d|j ||jd|j dd|jd|j dd|j r3|jdtj|j z d|r|jI|jjj}t||j|d_|jI|jjj}t||j|d _|j!D]\}} |r| s |j||} t#| d rY| j!D]E\} } | r%| j| tt%| -tt%| | _Gtt%| | _y) Nnamestatusrunresult completedr5z0.6fz system-outz system-erritems)rrrrpop_RegressionTestResult__getIdr r5r6_stdout_buffergetvaluerstriprr4text_stderr_bufferr>hasattrr*) r!r.captureargsr7r"stdoutstderrkve2k2v2s r$ _add_resultz RegressionTestResult._add_result3s||  HH 9  YY fdhhvt||D'9:; h512 h;78    EE&T..043D3DDTJ L "".,,557>>@6B66J  a.3"".,,557>>@6B66J  a.3JJLDAqAq!$Bq'"ggiFBr<B#89".s2w"7 ( 's1v.!r%cLt|tr8|jdk(r |j}n'|jd|j}n t |}t j ||d}t j |||}|dj|dj|dS)Nbuiltins.)typemessagerT) isinstancerU __module____name__r, tracebackformat_exceptionjoin)r-err_type err_valueerr_tbtypenamemsgtbs r$__makeErrorDictz$RegressionTestResult.__makeErrorDictXs h %""j0#,,&112!H4E4E3FGH~H((9dC  ' ')V Dwws|   r%ch|j|d|j|t| ||y)NT)error)rP$_RegressionTestResult__makeErrorDictraddErrorr!r.errr#s r$rgzRegressionTestResult.addErrorks5 t+?4+?+?+EF s#r%ch|j|d|j|t| ||y)NT)output)rPrfraddExpectedFailurerhs r$rlz'RegressionTestResult.addExpectedFailureos5 t,@D,@,@#,FG "4-r%c|j|d|j|t| ||tj r|j yy)NT)failure)rPrfr addFailurerfailfaststoprhs r$rozRegressionTestResult.addFailuressL t-AT-A-A3-GH 4%    IIK r%cL|j||t| ||y)N)skipped)rPraddSkip)r!r.reasonr#s r$rtzRegressionTestResult.addSkipys$ v. f%r%cF|j|t| |yr')rPr addSuccessr!r.r#s r$rwzRegressionTestResult.addSuccess}s  4 r%cJ|j|dt| |y)NUNEXPECTED_SUCCESS)outcome)rPraddUnexpectedSuccessrxs r$r|z)RegressionTestResult.addUnexpectedSuccesss$ ';< $T*r%cN|js td|j}|jdt |j |jdt t |j|jdt t |j|S)NzUSE_XML is falsetestserrorsfailures) r ValueErrorrrr*testsRunlenrr)r!r7s r$get_xml_elementz$RegressionTestResult.get_xml_elementsr||/0 0 LL gs4==)* hC ,-. j#c$--012r%F)rYrX __qualname__rr classmethodr@r3rPrfrgrlrortrwr|r __classcell__)r#s@r$rrscG!   0 #/J  $$. &!+r%rceZdZddZdZy)QuietRegressionTestRunnercJt|dd|_||j_y)Nr)rr<r)r!r rs r$rz"QuietRegressionTestRunner.__init__s*64; # r%c>||j|jSr')r<)r!r.s r$r;zQuietRegressionTestRunner.runs T[[{{r%Nr)rYrXrrr;r%r$rrs $r%rc|r+tjtjt||Stjt |S)N) resultclassrr )r) functoolspartialunittestTextTestRunnerrr)r rs r$get_test_runner_classrs?  !8!8-A(.+46 6   6v FFr%c&t|||Sr')r)r r capture_outputs r$get_test_runnerrs ; N ;F CCr%__main__Tc$eZdZdZdZdZdZy) TestTestscyr'rr!s r$ test_passzTestTests.test_passs r%c.tjdy)Ng?)r5sleeprs r$test_pass_slowzTestTests.test_pass_slows JJsOr%ctdtjtdtj|j dy)NrIfilerJzfailure message)printsysrIrJfailrs r$ test_failzTestTests.test_fails+ ( , ( , II' (r%ctdtjtdtjt d)NrIrrJz error message)rrrIrJ RuntimeErrorrs r$ test_errorzTestTests.test_errors) ( , ( ,/ /r%N)rYrXrrrrrrr%r$rrs   )  0r%rc#&K|] }|dk( yw)z-vNr).0as r$ rs*Gh19hszOutput:zXML: rT)endr),__doc__riorr5rZrr.rtest.libregrtest.utilsrTextTestResultrrrrrYxml.etree.ElementTreeetreer r"rTestCaser TestSuitesuiteaddTest TestLoaderloadTestsFromTestCaseStringIOr sumargv runner_clsrIrunnerr;r<rrB tostringlistrsdecoderr%r$rsD /~822~@GD z&&#' 0H%%0" H   E MM%(%%'==iHI R[[]F&s*Gchh*G'GHJ  #F ZZ F )V__&' 'r R__V335 6 ahhjb!7 G?r%