fXdZddlZddlZddlZddlZddlZddlZddlmZGddejZ GddZ ddZ dd Z ed k(rddlmcmZd e _Gd d ej(Zej,Zej1ej2j5eej6Ze edej<DZeej@Z!e!jEeZ#e$dejKe$ddejLe#jOD]Z(e$e(jSde$yy)z=Test runner and result class for the regression test suite. N)supportceZdZdZfdZedZfdZddZedZ 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)selfrr r ETr r __class__s 2/usr/lib/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#r2zRegressionTestResult.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|j@|jjj}||j|d_ |j@|jjj}||j|d _ |jD]\}} |r| s |j||} t!| d rG| jD]3\} } | r| j| t#| $t#| | _ 5qt#| | _ y) Nnamestatusrunresult completedr4z0.6fz system-outz system-erritems)rrrrpop_RegressionTestResult__getIdrr4r5_stdout_buffergetvaluerstripr3text_stderr_bufferr=hasattrr)) r r-captureargsr6r!stdoutstderrkve2k2v2s r# _add_resultz RegressionTestResult._add_result2s||  HH 9  YY fdhhvt||D'9:; h512 h;78    EE&T..043D3DDTJ L "".,,557>>@6<  a.3"".,,557>>@6<  a.3JJL !DAqAq!$Bq'"ggi*FBr3r7+"%b' * a& !r$cLt|tr8|jdk(r |j}n'|jd|j}n t |}t j ||d}t j |||}|dj|dj|dS)Nbuiltins.)typemessagerS) isinstancerT __module____name__r+ tracebackformat_exceptionjoin)r,err_type err_valueerr_tbtypenamemsgtbs r#__makeErrorDictz$RegressionTestResult.__makeErrorDictVs h %""j0#,,&112!H4E4E3FGH~H((9dC  ' ')V Dwws|   r$ch|j|d|j|t| ||y)NT)error)rO$_RegressionTestResult__makeErrorDictraddErrorr r-errr"s r#rfzRegressionTestResult.addErroris5 t+?4+?+?+EF s#r$ch|j|d|j|t| ||y)NT)output)rOreraddExpectedFailurergs r#rkz'RegressionTestResult.addExpectedFailurems5 t,@D,@,@#,FG "4-r$c|j|d|j|t| ||tj r|j yy)NT)failure)rOrer addFailurerfailfaststoprgs r#rnzRegressionTestResult.addFailureqsL t-AT-A-A3-GH 4%    IIK r$cL|j||t| ||y)N)skipped)rOraddSkip)r r-reasonr"s r#rszRegressionTestResult.addSkipws$ v. f%r$cF|j|t| |yr&)rOr addSuccessr r-r"s r#rvzRegressionTestResult.addSuccess{s  4 r$cJ|j|dt| |y)NUNEXPECTED_SUCCESS)outcome)rOraddUnexpectedSuccessrws 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)testsRunlenr~r)r r6s r#get_xml_elementz$RegressionTestResult.get_xml_elementsr||/0 0 LL gs4==)* hC ,-. j#c$--012r$F)rXrW __qualname__rr classmethodr?r2rOrerfrkrnrsrvr{r __classcell__)r"s@r#rr scG!   0 "!H  $$. &!+r$rceZdZddZdZy)QuietRegressionTestRunnercJt|dd|_||j_y)Nr)rr;r)r rrs r#rz"QuietRegressionTestRunner.__init__s*64; # r$c>||j|jSr&)r;)r r-s r#r:zQuietRegressionTestRunner.runs T[[{{r$Nr)rXrWrrr: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)rr capture_outputs r#get_test_runnerrs ; N ;F CCr$__main__Tc$eZdZdZdZdZdZy) TestTestscyr&rr s r# test_passzTestTests.test_passs r$c.tjdy)Ng?)r4sleeprs r#test_pass_slowzTestTests.test_pass_slows JJsOr$ctdtjtdtj|j dy)NrHfilerIzfailure message)printsysrHrIfailrs r# test_failzTestTests.test_fails+ ( , ( , II' (r$ctdtjtdtjt d)NrHrrIz error message)rrrHrI RuntimeErrorrs r# test_errorzTestTests.test_errors) ( , ( ,/ /r$N)rXrWrrrrrrr$r#rrs   )  0r$rc#&K|] }|dk( yw)z-vNr).0as r# rs*G19*GszOutput:zXML: rS)endr)*__doc__riorr4rYrr-rTextTestResultrrrrrXxml.etree.ElementTreeetreer r!rTestCaser TestSuitesuiteaddTest TestLoaderloadTestsFromTestCaseStringIOrsumargv runner_clsrHrunnerr:r;rrA tostringlistrsdecoderr$r#rsF }822}~GD z&&#' 0H%%0" H   E MM%(%%'==iHI R[[]F&s*Gchh*G'GHJ  #F ZZ F )V__&' 'r R__V335 6" ahhjb!" G?r$