tCBe PddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddlmZmZmZddlmZddlmZdd lmZdd lmZdd lmZmZmZmZmZd Z d Z!dZ"dZ#dededdfdZ$gZ%dededdfdZ& ddedede'ddfdZ(dededdfdZ)dededefdZ*dS)N)support)threading_helper) match_test)State TestResult TestStats)RunTests)saved_test_environment) setup_tests)get_test_runner)TestName clear_caches remove_testfnabs_module_name print_warningg>@ctj}||}|jD]}t |t j|jrtdt|tt|S)N)filezerrors while loading tests) unittest TestLoaderloadTestsFromModuleerrorsprintsysstderr Exception _filter_suiter _run_suite)test_modloadertestserrors >/opt/alt/python311/lib64/python3.11/test/libregrtest/single.py run_unittestr$s  " "F  & &x 0 0E&& e#*%%%%% }64555%$$$ e  cg}|jD]b}t|tjr&t ||||B||r||c||_dS)z>Recursively filter test cases in a suite based on a predicate.N)_tests isinstancer TestSuiterappend)suiteprednewteststests r#rr'sH && dH. / / & $ % % % OOD ! ! ! !tDzz &%%%ELLLr%cttjtjtjdu}||}tj1tj||j s|j s|j s tj | stj|}t!|j dkr|js|j dd}nFt!|jdkr|j s|jdd}nd}tjs|dz }d|j D}d|jD}tj|||| |S) z2Run tests from a unittest.TestSuite-derived class.N) verbositycapture_outputrrzmultiple errors occurredz!; run in verbose mode for detailsc6g|]\}}t||fSstr.0tcexc_strs r# z_run_suite..Is'FFFW3r77G$FFFr%c6g|]\}}t||fSr3r4r6s r#r:z_run_suite..Js'JJJ;2wSWWg&JJJr%)stats)r rstdoutrverbosejunit_xml_listrunr*get_xml_elementtestsRunskippedr TestDidNotRun wasSuccessfulr from_unittestlenfailuresTestFailedWithDetails)r+runnerresultr<errrrHs r#rr3st SZ'.-4-C4-ORRRFZZ  F)%%f&<&<&>&>??? ?$6>$&-$##    ! ! P'// v}   " "6? "-"1%CC  ! !Q & &v} &/!$Q'CC,C? NC+N$NCFF FFFJJ&/JJJ+COOOO Mr%rKruntestsreturnc|jr'ddlm}||j||j|j\}}n |}d}|rt j|_|xtdx\|}nxtj dx\tj |}nnt|jd|d}nP ddl }t||jrtj|}n!tdt#|d}||_dS)Nr)runtest_refleakFr3z test runner returned None: rzUnknown test result type: ) hunt_refleakrefleakrP test_namequietrREFLEAKstater rrrFrdoctestr( TestResults from_doctesttyper<)rK test_funcrMrPrR test_resultr<rWs r#regrtest_runnerr]OsN,,,,,,.v/?/7/D/7~ ? ? ikk %}   Y[[[[[[EE "X " " " " " "+K88EE#  V-VV9VV W W WEE  NNN+w':;; !.{;;N4 ;L;LNNOOOFLLLr%c|j}t||j}tj|t drt d|dfd} t|||tj t||j n-#tj t||j wxYwtj rzdt_t|dt!tj dt"tj tj tjdS)N test_mainzModule z= defines test_main() which is no longer supported by regrtestc"tS)N)r$)rsr#r[z!_load_run_test..test_funcsH%%%r%Tz created z uncollectable object(s))rSrtest_dir importlib import_modulehasattrrr]r gc_collectrr>gcgarbageenvironment_alteredrrG GC_GARBAGEextendclear reap_children)rKrMrS module_namer[rs @r#_load_run_testrnyss I!)X->??K&{33Hx%%?>)>>>?? ?&&&&& 3 8444 i!12222 i!12222 z&*#11S__111 2 2 2 "*%%%  s B*B?Tdisplay_failurecdt_|j}|rd}|j}|j} t tjt||j||5t||dddn #1swxYwYn#tj $r6}|s|st|d|dtj |_Yd}~dSd}~wtj$r6}|s|st|d|dtj|_Yd}~dSd}~wtj$rk}d|d}|r|d|}t|t&jd tj|_|j|_|j|_|j|_Yd}~dSd}~wtj$rS}d|d}|r|d|}t|t&jd tj|_|j|_Yd}~dSd}~wtj$rtj|_YdSt8$r#ttj|_YdS|s5t=j}td|d |t&jd tj |_YdSxYwtjr|!|jtj"|_dSdS) NF)pgoz skipped -- T)flushtest z failedz -- rrr crashed -- )#rrhrqrTrSrrer r>rnResourceDeniedrrRESOURCE_DENIEDrVrSkipTestSKIPPEDrIrrFAILEDrrHr< TestFailedrD DID_NOT_RUNKeyboardInterrupt INTERRUPTED traceback format_exc UNCAUGHT_EXCset_env_changedPASSED)rKrMrorqrTrSexcmsgs r#_runtest_env_changed_excrs #(G ,C   NE I0 #I$,$4eFFF - - 68 , , , - - - - - - - - - - - - - - -  ! ?S ? Y11C11 > > > >,    ?S ? Y11C11 > > > >}   (   (i(((  $##c##C c $////|   ,y   (i(((  $##c##C c $////| y   (   (  /&((C 6)6666z / / / /) "!    || sn9B A=1 B =BB BB J+C  J+D  JA FJAG%%#J (J6A Jc  |j}|j}|j}|%tjrd}t j|dnd} t||r+dt_tj }tj }tj }tj} | j} d} |t_ |t_ || _t!||d|jt$jkr|} |t_ |t_ | | _n$#|t_ |t_ | | _wxYw| =tj | tj n|t_t!||| tj} | rddlmcm  fd| D|_|rt jdt_dS#|rt jdt_wxYw)NT)exitF)rorc`g|]*}|d+S)zus-ascii)tostringdecode)r7xETs r#r:z_runtest..sA222#$ "{{1~~44Z@@222r%)r>output_on_failuretimeoutrcan_start_thread faulthandlerdump_traceback_laterr rioStringIOrr=rr orig_stderrrrVrrgetvaluewriterrr?xml.etree.ElementTreeetree ElementTreexml_datacancel_dump_traceback_later)rKrMr>rr use_timeoutstream orig_stdoutrrorig_print_warnings_stderroutputxml_listrs @r#_runtestrs;G 2G/@ )'===== /&H " B"GO[]]F*K*K#1M)6)B &F G# # -3 )(5QQQQ<5<//#__..F( ( ,F ))) ( ,F )FFFF!   (((   """&GO $VX9@[ B B B B)  2 . . . . . . . . .2222(0222FO  7  4 6 6 6!%  7  4 6 6 6!%%%%%s'AG* AD: G*!D;;B G**#H rSctj}t|}|j} t ||nO#|s5t j}td|d|tj dtj |_ YnxYwtj tj tj|z |_|S)zRun a single test. test_name -- the name of the test Returns a TestResult. If runtests.use_junit, xml_data is a list containing each generated testsuite element. rsruTrt)time perf_counterrrqrrrrrrrrrVr=rrduration)rSrM start_timerKrqrs r#run_single_testr$s"$$J  " "F ,C*""""* /&((C 6)6666z / / / /) JJ'))J6FO Ms <A B)T)+rrfrbrrrrrr.r test.supportrfilterrrKrrr rMr save_envr setupr testresultr utilsrrrrrPROGRESS_MIN_TIMEr$rrr]rirnboolrrrr3r%r#rsy  ))))))0000000000,,,,,,''''''AAAAAAAAAAAAAA   8#J#X#$####N ":""d""""L6:D$D$ZD$8D$.2D$>BD$D$D$D$N<&Z<&8<&<&<&<&<&~x8 r%