
    Rh                         d dl Z d dlZd dlZd dlZ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 ddlmZ ddlmZmZmZmZ dZd	edz  d
dfdZd ZdefdZy)    N)support)TESTFN_UNDECODABLEFS_NONASCII   )set_match_tests)RunTests)setup_unraisable_hooksetup_threading_excepthook	fix_umaskadjust_rlimit_nofilePYTHONREGRTEST_UNICODE_GUARDtestdirreturnc                     | r>t         j                  j                  dt        j                  j	                  |              y y )Nr   )syspathinsertosabspath)r   s    -/usr/lib/python3.12/test/libregrtest/setup.pysetup_test_dirr      s+     	277??734     c                     t                	 t        j                  j                         } t	        j
                  d|        g }t        t        d      r|j                  t        j                         t        t        d      r|j                  t        j                         |D ]  }t	        j                  |d|         	 t                t        j                   t        j"                         t        j$                  j'                         D ]  }t        |d      rIt)        |j*                        D ]1  \  }}t,        j.                  j1                  |      |j*                  |<   3 t3        |dd       sft,        j.                  j1                  |j4                        |_         t        t        d      rd	 }t        j6                  |       t9                t;                t<        rGt,        j>                  r7t,        j@                  jC                  tD        jG                         t<               y tH        r)t,        jJ                  jC                  tD        tH               y y # t        t        f$ r d } Y w xY w)
NT)all_threadsfileSIGALRMSIGUSR1)chainr   __path____file__addaudithookc                      y )N )nameargss     r   _test_audit_hookz'setup_process.<locals>._test_audit_hookK   s    r   )&r   r   
__stderr__filenofaulthandlerenablehasattrsignalappendr   r   register
ValueErrorAttributeErrorr   r   record_original_stdoutstdoutmodulesvalues	enumerater   r   r   r   getattrr    r!   r	   r
   r   supports_bytes_environenvironb
setdefaultUNICODE_GUARD_ENVencoder   environ)	stderr_fdsignalssignummoduleindexr   r&   s          r   setup_processrB      s   KFNN))+	 	9= 69%NN6>>*69%NN6>>* 	FF!!&9E	F ""3::. ++$$& ?6:&(9 ?t)+)>&?6:t, ggoofoo>FO? sN#	)*  b77
0779;MN	


/= 
k ' 
 	s   I I0/I0runtestsc                    | j                   t        _         | j                  t        _        | j                  t        _        | j                  t        _        t        | j                         | j                  rg t        _        ddlm} d|_        nd t        _        | j                  t        j                   | j                         t        j"                  | j                   dk\         | j$                  t        _        | j&                  }|t)        t        j*                  |dz        t        _        t)        t        j,                  |dz        t        _        t)        t        j.                  |dz        t        _        t1        t        j*                  |      t        _        t1        t        j2                  |      t        _        t1        t        j,                  |      t        _        t1        t        j.                  |      t        _        | j4                  rdt6        j8                  _        | j<                  t?        j@                  | j<                         tC        jD                  | jF                         y )	Nr   )RegressionTestResultT   x   (      F)$verboser   	fail_fastfailfastpgoPGOpgo_extendedPGO_EXTENDEDr   match_tests	use_junitjunit_xml_list
testresultrE   USE_XMLmemory_limitset_memlimitsuppress_msvcrt_assertsuse_resourcestimeoutmaxLOOPBACK_TIMEOUTSHORT_TIMEOUTLONG_TIMEOUTminINTERNET_TIMEOUThunt_refleakunittestBaseTestSuite_cleanupgc_thresholdgcset_thresholdrandomseedrandom_seed)rC   rE   rZ   s      r   setup_testsrk   Z   s   &&GO))G,,GK#00GH(()!#4'+$!%(X223##H$4$4$9:$22GG#&w'?'?3#O  #G$9$97R< H"7#7#71E $'w'?'?#I #&w'?'?#I  #G$9$97 C"7#7#7A*/'(
../
KK$$%r   )r)   rf   r   rh   r,   r   rb   testr   test.support.os_helperr   r   filterr   rC   r   utilsr	   r
   r   r   r:   strr   rB   rk   r#   r   r   <module>rq      sa     	 	   
   B #  
 3 5C$J 54 5;>|+&( +&r   