
    Rh              	          U d dl Z d dlZd dlZd dlmZ ddlmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZ h dZee
   ed<   dde	dz  d	e	fd
Zddeddde	dz  dee
   ded	efdZddedde	dz  fdZd Zddddededz  de	dz  fdZy)    N)support   )
match_testset_match_tests)StrPathTestName	TestTupleTestList
TestFilterabs_module_namecount	printlist>
   test_gdb
test_pydoctest_asynciotest_inspecttest_docteststest_future_stmttest_concurrent_futurestest_multiprocessing_forktest_multiprocessing_spawntest_multiprocessing_forkserverSPLITTESTDIRSpathreturnc                     | xsR t         j                  j                  t         j                  j                  t                    xs t         j                  S N)osr   dirname__file__curdir)r   s    1/usr/lib/python3.12/test/libregrtest/findtests.pyfindtestdirr#   !   s0    J277??277??8#<=JJ      testdirexcludesplit_test_dirsbase_modr(   r*   r+   c           	         t        |       } g }t        j                  |       D ]  }t        j                  j	                  |      \  }}|j                  d      r||v r;|r| d| }n|}||v rFt        j                  j                  | |      }	|sd| }|j                  t        |	|||             |dv s|j                  |        t        |      S )z-Return a list of all applicable test modules.test_.ztest.r'   )z.pyr&   )r#   r   listdirr   splitext
startswithjoinextend	findtestsappendsorted)
r(   r)   r*   r+   testsnamemodextfullnamesubdirs
             r"   r4   r4   %   s     '"GE

7# #77##D)Sw'SG^"1SE*HH&WW\\'3/F"3%=LL673B,46 7 KLL"!#" %=r$   )r(   r)   r*   c          	          t        |      }g }| D ]V  }||v r?t        j                  j                  ||      }|j	                  t        ||||             F|j                  |       X |S )Nr'   )r#   r   r   r2   r3   r4   r5   )r7   r(   r)   r*   splittedr8   r<   s          r"   split_test_packagesr?   ?   sn    '"GH "?"WW\\'40FOOIfg6E/35 6 OOD!" Or$   c                 (   | D ]  }t        |t        j                  j                        r(t        |t        j                        rt        |       Nt        |t        j                        sit        |      sut        |j                                 y r   )

isinstanceunittestloader_FailedTest	TestSuite_list_casesTestCaser   printid)suitetests     r"   rF   rF   N   sf     !dHOO778dH../h//0$dggi !r$   )match_teststest_dirr7   rL   rM   c                   dt         _        t        |       g }| D ]9  }t        ||      }	 t        j
                  j                  |      }t        |       ; |rit        j                  j                          t        j                  }t        |       t        t        t!        |      d      d|       t#        ||       y y # t        j                  $ r |j                  |       Y w xY w)NF)filerK   zskipped:)r   verboser   r   rB   defaultTestLoaderloadTestsFromNamerF   SkipTestr5   sysstdoutflushstderrrH   r   lenr   )r7   rL   rM   skipped	test_namemodule_namerJ   rW   s           r"   
list_casesr\   X   s     GOK G &	%i:	&..@@ME	& 

6eCL&):FC''     	&NN9%	&s   *C$C*)C*r   )r   rT   rB   rK   r   filterr   r   utilsr   r   r	   r
   r   r   r   r   r   set__annotations__r#   strr4   r?   rF   r\   r%   r$   r"   <module>rb      s    	 
   /' ' ' s8} Kgn K K ,0/< 'D. "8}%-4 =A"(57T> ! 15*.(i (&-( 4(r$   