f#|ddlZddlmZddlmZmZmZddlmZm Z m Z m Z m Z m Z mZmZdZdZdZd Zd ZGd d Zy) N)RunTests)State TestResult TestStats)StrPathTestName TestTupleTestList FilterDict printlistcountformat_durationceZdZdZdZdZdZdZdZde de fd Z d Z d d d e deeeffdZdeefdZdefdZdede de fdZde de fdZy) TestResultscg|_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 //usr/lib/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*cg}|jr|jdnA|r|jr|jdn!|jr|jd|jr|jd|j r|jd|s|jddj |S)NFAILUREz ENV CHANGEDz NO TESTS RAN INTERRUPTEDz WORKER BUGSUCCESSz, )rappendrr3r!r"join)r'fail_env_changedstates 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_CHANGEDr3EXITCODE_NO_TESTS_RANrEXITCODE_RERUN_FAILr")r'r: 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_namerr:r;rPASSEDrr8 ENV_CHANGEDrr SKIPPEDrRESOURCE_DENIEDrr6r! DID_NOT_RUNr is_failedr ValueError WORKER_BUGr"has_meaningful_durationdurationr#r$ accumulatexml_data add_junit)r'rFrGrIrr:rUs 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[returncg}i}|jD]?}|j|j|j}|s1|||j<A|rs|jj |j |j j|jj|jjt||fSr,) r r8rIget_rerun_match_testsrextendrr[rtuple)r'r[testsmatch_tests_dictrF match_testss r( prepare_rerunzTestResults.prepare_reruns(( AF LL)) * 668K5@ !1!12  A  NN ! !$(( + HHNN     " " $    $ $ &e .//r*rUcddlmcm}|D]-} |jj |j |/y#|j $rt|tjwxYw)Nr)file) xml.etree.ElementTreeetree ElementTreer%r8 fromstring ParseErrorprintsys __stderr__)r'rUETes r(rVzTestResults.add_junits_** 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%rgrhriElementr8intgetrPitemsr/stropen tostringlistwrite) r'rqroroottotalssuitekvfss r( write_junitzTestResults.write_junits!! **zz,'q9'' E KK  1IUYYq!_!55I  LLN DAq HHQA  (D ! Q__T*      "   s&C/=(C>/ C;:C;>Draquiet print_slowestc l|rb|jjdttd|jddD]\}}td|dt|!g}t ||j z }|j |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#sortrlrr/r0r8rrrrrrrlenformatr rr-r!) r'rarr test_timer all_testsomitted tests_list count_text title_formattexts r(display_resultzTestResults.display_results  OO  . G % &#'??3B#7 G 4D/)*DEF G e*t0022 '6=9:   dllFMB C   d22F<[\ ]$++V5GHI $**F4ijk$**mU;<$((FL9:4= & 0J L"3z?J? l))*56*%  & 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:  /failedrrrrr=zTotal test files: )r$ tests_runrur8rrlr9rrrrrsummaprforeverrar) 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.. /  6KD% aE |45 6 "388F#3"456r*N)__name__ __module__ __qualname__r)r-r0r3r<rErrrWrZrYr`r r rdlistr{rVrrrrr*r(rrs&$) * + $ (% (%h(%T(.20d0eIzI(>d(>4(>T#7h#7$#7r*r)rmrGrrFrrrutilsrr r r r r rrr>r@rArBr?rrr*r(rsL 00'''t7t7r*