f UddlZddlZddlZddlmZddlmZmZddlm Z m Z m Z m Z m Z mZmZmZhdZee ed<dde dzd e fd Zdd ed d de dzdee ded e fdZdd edde dzfdZdZdddde de dzde dzfdZy)N)support) match_testset_match_tests)StrPathTestName TestTupleTestList TestFilterabs_module_namecount printlist> test_gdb test_pydoc test_asyncio test_inspect test_docteststest_future_stmttest_concurrent_futurestest_multiprocessing_forktest_multiprocessing_spawntest_multiprocessing_forkserver SPLITTESTDIRSpathreturnc|xsRtjjtjjtxstjSN)osrdirname__file__curdir)rs 1/usr/lib/python3.12/test/libregrtest/findtests.py findtestdirr#!s0  J277??277??8#<= JJtestdirexcludesplit_test_dirsbase_modr(r*r+c t|}g}tj|D]}tjj |\}}|j dr||vr;|r|d|}n|}||vrFtjj ||} |sd|}|jt| ||||dvs|j|t|S)z-Return a list of all applicable test modules.test_.ztest.r')z.pyr&) r#rlistdirrsplitext startswithjoinextend findtestsappendsorted) r(r)r*r+testsnamemodextfullnamesubdirs r"r4r4%s'"G E 7##77##D)Sw'SG^  "1SE*HH  &WW\\'3/F"3%= LL673B,46 7K  LL "!#" %=r$)r(r)r*c t|}g}|D]V}||vr?tjj||}|j t ||||F|j |X|S)Nr')r#rrr2r3r4r5)r7r(r)r*splittedr8r<s r"split_test_packagesr??sn'"GH" ? "WW\\'40F OOIfg6E/35 6 OOD !" Or$c(|D]}t|tjjr(t|tjr t |Nt|tj sit|sut|jyr) isinstanceunittestloader _FailedTest TestSuite _list_casesTestCaserprintid)suitetests r"rFrFNsf! dHOO77 8  dH.. /   h// 0$dggi !r$) match_teststest_dirr7rLrMcdt_t|g}|D]9}t||} tj j |}t|;|ritjjtj}t|ttt!|dd|t#||yy#tj$r|j|YwxYw)NF)filerKzskipped:)rverboserr rBdefaultTestLoaderloadTestsFromNamerFSkipTestr5sysstdoutflushstderrrHr lenr)r7rLrMskipped test_name module_namerJrWs r" list_casesr\XsGOK G& %i:  &..@@ME   &  6 eCL&):FC''    & NN9 % &s*C$C*)C*r)rrTrBrKrfilterrrutilsrrr r r r r rrset__annotations__r#strr4r?rFr\r%r$r"rbs /'''  s8} KgnKK,0/< 'D."8}%-4=A"(5 7T> !15*.(i(&-( 4(r$