
    daf+                     0   d dl Z d dlmZ d dlmZ d dlZd dlZd dlZ	 d dlZ ej                  dd      r e j                  d       G d de      Z G d	 d
e      Z G d de j                        Zedk(  r e j$                          yy# e	$ r dZY rw xY w)    N)support)warnings_helperT)addressmemoryz>workaround ASAN build issues on loading tests like tk or cryptc                       e Zd Zy)NoAllN__name__
__module____qualname__     ,/root/Python-3.12.4/Lib/test/test___all__.pyr   r          r   r   c                       e Zd Zy)FailedImportNr	   r   r   r   r   r      r   r   r   c                   *    e Zd Zd Zd Zd Zd Zd Zy)AllTestc                 ^    t         't        j                  d      t        j                  d<   y y N_multiprocessing)r   types
ModuleTypesysmodulesselfs    r   setUpzAllTest.setUp   s*     #.3.>.>?Q.RCKK*+ $r   c                 P    t          t        j                  j                  d       y y r   )r   r   r   popr   s    r   tearDownzAllTest.tearDown%   s    #KKOO./ $r   c           
         i }t        j                  d| t        fdt        fdt        fdt        fd      5  	 t        d|z  |       	 d d d        t        t        j                  |   d      st        |      i }| j                  |      5  t        j                  dt        fdt        fd      5  	 t        d	|z  |       d|v r|d= d|v r|d= d|v r|d= t#        |      }t        j                  |   j$                  }t#        |      }| j'                  ||dj                  |             | j)                  ||dj                  |             d d d        d d d        y #  t        |      xY w# 1 sw Y   )xY w# t        $ r@}| j                  d
j                  ||j                  j                   |             Y d }~d }~ww xY w# 1 sw Y   {xY w# 1 sw Y   y xY w)Nz.*z.* (module|package) T)quietz	import %s__all__)modulezfrom %s import *z__all__ failure in {}: {}: {}__builtins____annotations____warningregistry__zin module {})r   check_warningsDeprecationWarningPendingDeprecationWarningResourceWarningexecr   hasattrr   r   r   subTest	Exceptionfailformat	__class__r
   setr%   assertCountEqualassertEqual)r   modnamenamesekeysall_listall_sets          r   	check_allzAllTest.check_all)   s   ++'^/0"$67"$=>! 	,,[7*E2	, s{{7+Y7. \\\) 	P //'(_% PA+g5u=
 "U*n-$-/0(E1345z;;w/77h-%%gx9N9Nw9WX  w0E0Eg0NO)P	P 	P, #7++	, 	,. ! AII=DD%q{{';';Q@ A AAP P	P 	Psk   E1E!%G3G
5E>BG
G!E..E11E;>	G6G=G
GG

G	GGc              #     K   t        t        j                  |            D ]  }t        j                  j	                  ||      }t        j                  j                  |      rot        j                  j	                  |d      }t        j                  j                  |      r/|||z   f | j                  |||z   dz         D ]  \  }}||f  |j                  d      r|dk(  r|||d d z   f  y w)Nz__init__.py.z.py)	sortedoslistdirpathjoinisdirexistswalk_modulesendswith)r   basedirmodpathfnrE   pkg_initpms           r   rI   zAllTest.walk_modulesR   s     G,- 	*B77<<,Dww}}T"77<<m<77>>(+"GbL00 $ 1 1$"s8J K #1d
#;;u%})<"Sb')))	*s   C6C8c                    t        dg      }dd l}g }g }t        j                  j	                  t        j                  j	                  t
                    }| j                  |d      D ]  \  }}|}d}	|r||v rd}	n|j                  d      d   }|r|	r-t        j                  rt        |       	 t        |d      5 }
d|
j                         vrt        |      | j                  |       d d d         t        j                  rt        d	|       t        d
|       y y # 1 sw Y   5xY w# t        $ r |j                  |       Y t         $ r |j                  |       Y w xY w)N
__future__r   r#   FTr@   rbs   __all__z8Following modules have no __all__ and have been ignored:z(Following modules failed to be imported:)r5   _socketrC   rE   dirname__file__rI   
rpartitionr   verboseprintopenreadr   r>   appendr   )r   denylistrT   ignoredfailed_importslib_dirrE   r8   rP   deniedfs              r   test_allzAllTest.test_all`   sR   
  	''//"''//(";<!..w; 	/MD'AF=!FLL%a(	 
 g
/ $% ,!1#Gn,NN7+,	/0 ??L<nM , ,  (w' /%%g./s0   0D+</D+D+D(	$D++E#E#"E#N)r
   r   r   r   r!   r>   rI   rc   r   r   r   r   r      s    S0'PR*)Nr   r   __main__)unittesttestr   test.supportr   rC   r   r   r   ModuleNotFoundErrorcheck_sanitizerSkipTestRuntimeErrorr   r   TestCaser   r
   mainr   r   r   <module>rn      s      ( 	 
 
 745 (

 / 0 0	L 		< 	mNh mN` zHMMO E  s   B BB