f) NddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddlmZmZmZddlmZddlmZdd lmZdd lmZdd lmZmZmZmZmZd Z d Z!dZ"dZ#dededdfdZ$gZ%dededdfdZ& ddedede'ddfdZ(dededdfdZ)dededefdZ*y)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}|j|}|jD]}t |t j |jr tdt|tt|S)N)filezerrors while loading tests) unittest TestLoaderloadTestsFromModuleerrorsprintsysstderr Exception _filter_suiter _run_suite)test_modloadertestserrors ./usr/lib/python3.12/test/libregrtest/single.py run_unittestr$si  "F  & &x 0E& e#**%& }}455%$ e cg}|jD]T}t|tjrt |||j |;||sD|j |V||_y)z>Recursively filter test cases in a suite based on a predicate.N)_tests isinstancer TestSuiterappend)suiteprednewteststests r#rr's\H & dH.. / $ % OOD !Dz% &ELr%cttjtjtj du}|j |}tj -tj j|j|js(|js|jstj|jstj|}t!|jdk(r|j"s|jdd}nNt!|j"dk(r|js|j"dd}nd}tjs|dz }|jDcgc]\}}t%||f}}}|j"Dcgc]\}}t%||f}}}tj&|||||Scc}}wcc}}w)z2Run tests from a unittest.TestSuite-derived class.N) verbositycapture_outputrrzmultiple errors occurredz!; run in verbose mode for details)stats)r rstdoutrverbosejunit_xml_listrunr*get_xml_elementtestsRunskippedr TestDidNotRun wasSuccessfulr from_unittestlenfailuresstrTestFailedWithDetails) r+runnerresultr2errtcexc_strrr>s r#rr3ss SZZ'.-4-C-C4-ORFZZ F)%%f&<&<&>? ??6>>&--###    !''/ v}}  "6??--"1%C  !Q &v}}//!$Q'C,C??C+N$NC8> FW3r7G$FF:@//J;2wSWg&JJ++COO MGJs 7G GrBruntestsreturncX|jr3ddlm}||j||j|j\}}n |}d}|rt j |_|xtdx \|}||_yxtjdx \tj|}||_y$t|jd|d}||_y ddl }t||jrtj |}||_ytdt#|d}||_y)Nr)runtest_refleakFz test runner returned None: rzUnknown test result type: ) hunt_refleakrefleakrI test_namequietrREFLEAKstater rrr<rdoctestr( TestResults from_doctesttyper2)rB test_funcrFrIrL test_resultr2rQs r#regrtest_runnerrWOs#,.v/?/?/7/D/D/7~~ ? k }}   Y[E FL# "X "++K8EFL#  V--..J9+V WEFL +w':':;!..{; FL :4 ;L:MNOFLr%c|j}t||j}tj|t drt d|dfd} t|||tjt||jtjrtdt_t|dt!tjdt"j%tjtjj'tj(y#tjt||jwxYw)N test_mainzModule z= defines test_main() which is no longer supported by regrtestctS)N)r$)rsr#rUz!_load_run_test..test_funcsH%%r%Tz created z uncollectable object(s))rMrtest_dir importlib import_modulehasattrrrWr gc_collectrr4gcgarbageenvironment_alteredrr= GC_GARBAGEextendclear reap_children)rBrFrM module_namerUrs @r#_load_run_testrhys  I!)X->->?K&&{3Hx%')-=>? ?& 3 84 i!1!12 zz&*# 9S_,=>01 2 "**%   i!1!12s  D**,Edisplay_failurecdt_|j}|rd}|j}|j} t tj t||j||5t||dddtjr|jC|jtjD|_yy#1swYLxYw#tj$r5}|s|st|d|dtj|_Yd}~yd}~wtj $r5}|s|st|d|dtj"|_Yd}~yd}~wtj$$r}}d|d}|r|d|}t|t&j(d tj*|_|j,|_|j.|_|j0|_Yd}~yd}~wtj2$r[}d|d}|r|d|}t|t&j(d tj*|_|j0|_Yd}~yd}~wtj4$rtj6|_Yyt8$r"ttj:|_Yy|s6t=j>}td|d |t&j(d tj@|_YyxYw) NF)pgoz skipped -- T)flushtest z failedz -- rrl crashed -- )#rrbrkrNrMrr_r r4rhResourceDeniedrrRESOURCE_DENIEDrPrSkipTestSKIPPEDr@rrFAILEDrr>r2 TestFailedr: DID_NOT_RUNKeyboardInterrupt INTERRUPTED traceback format_exc UNCAUGHT_EXCset_env_changedPASSED)rBrFrirkrNrMexcmsgs r#_runtest_env_changed_excrsm #(G ,,C  NNE  I0 #I$,$4$4eF - 68 , -\""  |||| c - -  ! !S YK|C51 >,,    S YK|C51 >}}   ( ( i[( EcU#C c $/||   ,,yy    i[( EcU#C c $/|| yy   ((   (( &&(C E)L6zz /)) sb7C, C9CC  CK9#+DK9)+EK9/A3G''K9=AI+K9'K9)AK9c|j}|j}|j}|*tjrd}t j |dnd} t||rdt_tj}tj}tj}tj} | j} d} |t_ |t_ || _t!||d|j"t$j&k7r|j)} |t_ |t_ | | _| Xtjj+| tjj-n|t_t!||| tj.} | rrs  )00,'AA 8#J#X#$#N ":""d"L6:D$ZD$8D$.2D$>BD$N<&Z<&8<&<&~x8 r%