k]^(ddlZddlmZddlmZmZmZddlmZm Z m Z m Z m Z m Z mZmZdZdZdZd Zd ZGd d ZdS) N)RunTests)State TestResult TestStats)StrPathTestName TestTupleTestList FilterDict printlistcountformat_durationceZdZdZdZdZdZdZdZde de fd Z d Z d d d e deeeffdZdeefdZdefdZdede de fdZde de fdZdS) TestResultscg|_g|_g|_g|_g|_g|_g|_g|_g|_d|_ d|_ g|_ t|_ g|_dS)NF)badgood rerun_badskippedresource_denied env_changed run_no_testsrerun rerun_results interrupted worker_bug test_timesrstats testsuite_xmlselfs ?/opt/alt/python311/lib64/python3.11/test/libregrtest/results.py__init__zTestResults.__init__st  #%!# )+%'&(! /1!& %8:[[ #%cB|j o|j o|j o|j SN)rrr!r"r&s r( is_all_goodzTestResults.is_all_good&s8H ( $((((' )r*ct|jt|jzt|jzt|jzt|jzt|jzSr,)setrrrrrrr&s r( get_executedzTestResults.get_executed,shDITX.T\1B1BBd*++,.1$2B.C.CDd'(() *r*c^t|j|j|j|j|jf Sr,)anyrrrr!rr&s r( no_tests_runzTestResults.no_tests_run1s5 48T\4;K(*+++ +r*cg}|jr|dnH|r|jr|dn)|r|d|jr|d|jr|d|s|dd|S)NFAILUREz ENV CHANGEDz NO TESTS RAN INTERRUPTEDz WORKER BUGSUCCESSz, )rappendrr3r!r"join)r'fail_env_changedstates r( get_statezTestResults.get_state5s 8 ) LL # # # #  )$"2 ) LL ' ' ' '     ) LL ( ( (   ( LL ' ' ' ? ' LL & & & $ LL # # #yyr*cd}|jrt}n[|jrt}nL|r|jrt }n;|rt}n|r|jrt}n|j rt}|S)Nr) rEXITCODE_BAD_TESTr!EXITCODE_INTERRUPTEDrEXITCODE_ENV_CHANGEDr3EXITCODE_NO_TESTS_RANrEXITCODE_RERUN_FAILr")r'r: fail_rerunexitcodes r( get_exitcodezTestResults.get_exitcodeGs 8 )(HH   )+HH  )$"2 )+HH     ),HH  )DJ )*HH _ )(Hr*resultruntestsc|j}|j}|j}|jxtjkr|j|nCxtjkr6|j ||j |nxtj kr|j |nxtj kr|j|nxtjkr d|_ntjkr|j|nb ||r5|j||j |nt+d|j|jtjkrd|_|r9|s7|jt+d|j|j|f|j|j|j|r|j||j}|r||dSdS)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_resultWsS$ #4l   ++++""""" '' 222"))&1111 ##I....&&&&&$++I6666"""""#'  """!((3333##$455NHOOI...&--f5555$%LFL%L%LMMM <5+ + +"DO  ) ) + + AE A& !:;;; O " "FOY#? @ @ @ < # J ! !&, / / /  ) J  i ( ( (?  % NN8 $ $ $ $ $ % %r*c*t|jSr,)boolr r&s r( need_rerunzTestResults.need_rerunsD&'''r*T)clearr[returncg}i}|jD]<}||j|}|r |||j<=|rj|j|j|j|j|jt||fSr,) r r8rIget_rerun_match_testsrextendrr[rtuple)r'r[testsmatch_tests_dictrF match_testss r( prepare_rerunzTestResults.prepare_reruns( A AF LL) * * * 6688K A5@ !12  ' N ! !$( + + + HNN      " " $ $ $   $ $ & & &e .//r*rUcddlmcm}|D]Z} |j||1#|j$rt|tj wxYwdS)Nr)file) xml.etree.ElementTreeetree ElementTreer%r8 fromstring ParseErrorprintsys __stderr__)r'rUETes r(rVzTestResults.add_junits*********  A "))"--*:*:;;;;=   hS^4444   s -='A$filenamec T|jsdSddlmcm}|d}dddd}|jD]^}|||D]D} ||xxt ||dz cc<5#t$rYAwxYw_| D](\}}| |t|)t|d5}| |D]} ||  ddddS#1swxYwYdS)Nr testsuites)raerrorsfailureswb)r%rgrhriElementr8intgetrPitemsr/stropen tostringlistwrite) r'rqroroottotalssuitekvfss r( write_junitzTestResults.write_junits!  F*********zz,''q99'  E KK     1IIIUYYq!__!5!55IIII!D  LLNN  DAq HHQA     (D ! ! Q__T**                      s$1B BB!.DD!$D!raquiet print_slowestc |ro|jdttd|jddD]'\}}td|dt|(g}t ||z }||ddf|s:||jdd f||jdd f||j dd f||j dd f||j d df||j ddf|D]d\}} } |r\ttt|| } t| | t!|e|jrw|suttt|jd} | d} |rt|jdkrd| } t| |jrttddSdS)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  G O  . . . GGG % & & &#'?3B3#7 G G 4DDD/)*D*D*DEFFFF e**t00222 '6=9::: ^   dlFMB C C C   d2F<[\ ] ] ]$+V5GHIII $*F4ijkkk$*mU;<<<$(FL9:::4= & & 0J L &"3z??J?? l))*55666*%%% 9 U  GGGTY00D===D  "" %s49~~'9'9$d}} $KKK   > GGG < = = = = = > >r*first_runtestsfilteredc|j}d|jd}|r|d}|g}|jr|d|jd|jr|d|jdt dd||j|j|j |j|j |j g}ttt|}d|}|jst|j}|d|}|r|d}|g}d |jfd |j fd |jfd |jfd |j fd|j ffD].\} } | r'|| dt| /t dd|dS)Nzrun=,z (filtered)z failures=zskipped=z Total tests:  /failedrrrrr=zTotal test files: )r$ tests_runrur8rrlr9rrrrrsummaprforeverrar) r'rrr$rreportrrunntestnameras r(display_summaryzTestResults.display_summarys )eo)))  ('''D > : MM8en888 9 9 9 = 8 MM6U]666 7 7 7 0chhv..00111Y$*\%t'8: #c9%%&&c||% %,--E$$U$$D  ('''D tx D, -  %  4 5 dj ! T. /  6 6KD% 6 44E 44555 5388F#3#35566666r*N)__name__ __module__ __qualname__r)r-r0r3r<rErrrWrZrYr`r r rdlistr{rVrrrrr*r(rrsa&&&$))) *** +++   $ (% (%h(%(%(%(%T(((.2000d0eIzI(>d(>4(>(>(>(>T#7h#7$#7#7#7#7#7#7r*r)rmrGrrFrrrutilsrr r r r r rrr>r@rArBr?rrr*r(rs 0000000000''''''''''''''''''''t7t7t7t7t7t7t7t7t7t7r*