z~|ddlZddlmZddlmZmZmZddlmZm Z m Z m Z m Z m Z mZmZdZdZdZd Zd ZGd d Zy) N)RunTests)State TestResult TestStats)StrPathTestName TestTupleTestList FilterDict printlistcountformat_durationceZdZddZdefdZdeefdZdefdZ dede fdZ d Z d e d efd Zd ZdddedeeeffdZdee fdZdefdZdededefdZdedefdZy) TestResultsreturnNcg|_g|_g|_g|_g|_g|_g|_g|_g|_d|_ d|_ g|_ t|_ g|_y)NF)badgood rerun_badskippedresource_denied env_changed run_no_testsrerun rerun_results interrupted worker_bug test_timesrstats testsuite_xmlselfs ?/opt/alt/python312/lib64/python3.12/test/libregrtest/results.py__init__zTestResults.__init__sl  #%!# )+%'&(! /1!& %8:[ #%cv|j xr+|j xr|j xr |j SN)rrr"r#r's r) is_all_goodzTestResults.is_all_good&sAHH ( $(((((' )r+ct|jt|jzt|jzt|jzt|j zt|j zSr-)setrrrrrrr's r) get_executedzTestResults.get_executed,sgDIITXX.T\\1BBd**+,.1$2B2B.CDd''() *r+ct|j|j|j|j|j f Sr-)anyrrrr"rr's r) no_tests_runzTestResults.no_tests_run1s< 488T\\4;K;K((*++ +r+fail_env_changedcg}|jr|jdnA|r|jr|jdn!|jr|jd|jr|jd|j r|jd|s|jddj |S)NFAILUREz ENV CHANGEDz NO TESTS RAN INTERRUPTEDz WORKER BUGSUCCESSz, )rappendrr4r"r#join)r(r5states r) get_statezTestResults.get_state5s 88 LL # $"2"2 LL '    LL (    LL ' ?? LL & LL #yyr+cd}|jrt}|S|jrt}|S|r|jrt }|S|j rt}|S|r|jrt}|S|jrt}|S)Nr) rEXITCODE_BAD_TESTr"EXITCODE_INTERRUPTEDrEXITCODE_ENV_CHANGEDr4EXITCODE_NO_TESTS_RANr EXITCODE_RERUN_FAILr#)r(r5 fail_rerunexitcodes r) get_exitcodezTestResults.get_exitcodeGs 88(H  +H$"2"2+H    ,H  DJJ*H__(Hr+resultruntestsc6|j}|j}|j}|jxtj k(r|j j|nWxtjk(r9|jj||jj|n xtjk(r|jj|nxtjk(r|jj|nxtjk(r d|_ntj"k(r|j$j|na |j'|r7|j(j||jj|nt+d|j|jtj,k(rd|_|j1r@|s>|j2 t+d|j4j|j2|f|j6%|j6j9|j6|r|jj||j:}|r|j=|yy)NTzinvalid test state: zresult.duration is None) test_namer r5r<rPASSEDrr: ENV_CHANGEDrr!SKIPPEDrRESOURCE_DENIEDrr8r" DID_NOT_RUNr is_failedr ValueError WORKER_BUGr#has_meaningful_durationdurationr$r% accumulatexml_data add_junit)r(rGrHrJr r5rVs r)accumulate_resultzTestResults.accumulate_resultWs$$ #44ll   +"""  '' 2""))&1 ##I.&&&$$++I6"""#' ""!!((3##$45HHOOI.&&--f5$';FLL;K%LMM <<5++ +"DO  ) ) +E& !:;; OO " "FOOY#? @ << # JJ ! !&,, /  JJ  i (??  NN8 $ r+c,t|jSr-)boolr!r's r) need_rerunzTestResults.need_rerunsD&&''r+T)clearr\cg}i}|jD]?}|j|j|j}|s1|||j<A|rs|jj |j |j j|jj|jjt||fSr-) r!r:rJget_rerun_match_testsrextendrr\rtuple)r(r\testsmatch_tests_dictrG match_testss r) prepare_rerunzTestResults.prepare_reruns((F LL)) * 668K5@ !1!12 )  NN ! !$(( + HHNN     " " $    $ $ &e .//r+rVcddlmcm}|D]-} |jj |j |/y#|j $rt|tjwxYw)Nr)file) xml.etree.ElementTreeetree ElementTreer&r: fromstring ParseErrorprintsys __stderr__)r(rVETes r)rWzTestResults.add_junitsZ**A ""))"--*:;== hS^^4 s *=,A)filenamec |jsyddlmcm}|j d}dddd}|jD]A}|j ||D])} ||xxt |j|dz cc<+C|jD] \}}|j|t|"t|d5}|j|D]} |j|  dddy#t$rYwxYw#1swYyxYw)Nr testsuites)raerrorsfailureswb)r&rgrhriElementr:intgetrQitemsr0stropen tostringlistwrite) r(rqroroottotalssuitekvfss r) write_junitzTestResults.write_junits!! **zz,'q9''E KK 1IUYYq!_!55I(LLNDAq HHQA #(D !Q__T* +" ! " " !s&C/=(C>/ C;:C;>Draquiet print_slowestc ~|rb|jjdttd|jddD]\}}td|dt|!g}t ||j z }|j t|ddf|s<|j |jdd f|j |jdd f|j |jdd f|j |jdd f|j |jd df|j |jddf|D]M\}} } |s ttt|| } t| j!| t#|O|j$rh|sfttt|j$d} | d} |j'rt|j$dkDrd| } t| |j(rttdyy)NT)reversez10 slowest tests: z- z: testz {} omitted:z {} skipped:z{} skipped (resource denied):z{} run no tests:z3{} altered the execution environment (env changed):z re-run testz{}:z {} failed:z OK.rzAll z(Test suite interrupted by signal SIGINT.)r$sortrlrr0r1r:sortedrrrrr rrlenformatr rr.r") r(rarr test_timer all_testsomitted tests_list count_text title_formattexts r)display_resultzTestResults.display_results  OO  . G % &#'??3B#7 4D/)*DEF$8 e*t0022 &/6=AB   dllFMB C   d22F<[\ ]$++V5GHI $**F4ijk$**mU;<$((FL9:4= 0J L"3z?J? l))*56*% 5> 99U GTYY0DV4=D  "s499~'9dV} $K    G < = r+first_runtestsfilteredc|j}d|jd}|r|d}|g}|jr|jd|jd|jr|jd|jdt ddj ||j|j|j|j|j|jg}ttt|}d|}|jst|j }|d|}|r|d}|g}d |jfd |jfd |jfd |j"fd |jfd|jffD]'\} } | s |j| dt| )t ddj |y)Nzrun=,z (filtered)z failures=zskipped=z Total tests:  /failedrrrr r=zTotal test files: )r% tests_runrur:rrlr;rrr rrsummaprforeverrar) r(rrr%rreportrrunntestnameras r)display_summaryzTestResults.display_summarys eooa() V;'D >> MMIennQ%78 9 == MMHU]]1$56 7 chhv./01YY$**\\%%t'8'8: #c9%&cU|%%,,-EV1UG$D V;'D txx D,, -  %  4 4 5 djj ! T.. /  KD% aE |45  "388F#3"456r+)rN)__name__ __module__ __qualname__r*rZr.r0r r1r4r{r=rFrrrXr[r`r r rdlistrWrrrrr+r)rrs&$)T) *c(m* +d+ $ 3 $ (% (%h(%T(.20d0eIzI(>d(>4(>T#7h#7$#7r+r)rmrHrrGrrrutilsrr r r r r rrr?rArBrCr@rrr+r)rsL 00'''t7t7r+