
    z%i                         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Zd dlmZmZ dZd Zd Zd Zy# e$ r dZY w xY w)	    N)support)TESTFN_UNDECODABLEFS_NONASCII)setup_unraisable_hooksetup_threading_excepthookPYTHONREGRTEST_UNICODE_GUARDc                 x	   	 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                t        j                   t         j"                         | j$                  rGt         j&                  j)                  dt*        j&                  j-                  | j$                               t         j.                  j1                         D ]  }t        |d      rIt3        |j4                        D ]1  \  }}t*        j&                  j-                  |      |j4                  |<   3 t7        |dd       sft*        j&                  j-                  |j8                        |_         | j:                  rd	t<        j>                  _         | jB                  t        jD                  | jB                         | jF                  tI        jJ                  | jF                         t        jL                  | jN                  xr | jN                  d
k\         | jP                  t        _(        t        t         d      rd }t        jR                  |       tU                tW                | jX                  t[        t        j\                  | jX                  dz        t        _.        t[        t        j^                  | jX                  dz        t        _/        ta        t        jb                  | jX                        t        _1        ta        t        jd                  | jX                        t        _2        ta        t        j\                  | jX                        t        _.        ta        t        j^                  | jX                        t        _/        | jf                  rddl4m5} d|_6        tn        rGt*        jp                  r7t*        jr                  ju                  tv        jy                         tn               y tz        r)t*        j|                  ju                  tv        tz               y y # t        t        f$ r d }Y w xY w)NT)all_threadsfileSIGALRMSIGUSR1)chainr   r   __path____file__F   addaudithookc                      y N )nameargss     J/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/test/libregrtest/setup.py_test_audit_hookz%setup_tests.<locals>._test_audit_hookT   s        (      )RegressionTestResult)?sys
__stderr__filenofaulthandlerenablehasattrsignalappendr   r   register
ValueErrorAttributeError_adjust_resource_limitsreplace_stdoutr   record_original_stdoutstdouttestdirpathinsertosabspathmodulesvalues	enumerater   getattrr   
huntrleaksunittestBaseTestSuite_cleanupmemlimitset_memlimit	thresholdgcset_thresholdsuppress_msvcrt_assertsverboseuse_resourcesr   r   r   timeoutmaxSHORT_TIMEOUTLONG_TIMEOUTminLOOPBACK_TIMEOUTINTERNET_TIMEOUTxmlpathtest.support.testresultr   USE_XMLr   supports_bytes_environenvironb
setdefaultUNICODE_GUARD_ENVencoder   environ)	ns	stderr_fdsignalssignummoduleindexr.   r   r   s	            r   setup_testsrX      s#   FNN))+	 	9= 69%NN6>>*69%NN6>>* 	FF!!&9E	F ""3::.	zz 	277??2::67 ++$$& ?6:&(9 ?t)+)>&?6:t, ggoofoo>FO? 
}}*/'	{{R[[)	||
&##BJJ$B2::?C,,GsN#	)* 	zz #G$9$92::? K"7#7#7aH $'w'?'?#L #&w'?'?#L  #G$9$92:: F"7#7#7D	zz@'+$ b77
0779;MN	


/= 
m ' 
 	s   R$ $R98R9c                      	 t         j                  	 j                         } t	        | dj
                  ddd      t         _        fd}t        j                  |       y # t        $ r Y y w xY w)NwbackslashreplaceF
)encodingerrorsclosefdnewlinec                  X    t         j                  j                           t         _        y r   )r   r,   close)r,   s   r   restore_stdoutz&replace_stdout.<locals>.restore_stdout   s    


r   )r   r,   r    r'   openr]   atexitr&   )fdrc   r,   s     @r   r*   r*   r   sm    FZZF]]_ b#!	CJ OON##   	s   A# #	A/.A/c            
      D   	 	 dd l } ddl m} | j                  |      \  }}d}||k  r9||k  r3t	        ||      }	 | j                  |||f       t        d| d|        y y y # t        $ r Y y w xY w# t        t        f$ r}t        d| d| d| d	       Y d }~y d }~ww xY w)
Nr   )RLIMIT_NOFILEi   zRaised RLIMIT_NOFILE: z -> z#Unable to raise RLIMIT_NOFILE from z to z: .)	resourcerh   ImportError	getrlimitrF   	setrlimitprintr'   OSError)rj   rh   fd_limitmax_fdsdesired_fdsnew_fd_limiterrs          r   r)   r)      s    ?* !**=9Hg K+(W"4;0	-}|W.EF*8*DGH	 #5   G$ 	-7z!N"SE, - -	-s(   
A" %A1 "	A.-A.1B BB)re   r!   r0   r$   r   r7   testr   test.support.os_helperr   r   r=   rk   test.libregrtest.utilsr   r   rO   rX   r*   r)   r   r   r   <module>rx      s[      	  
   B@ 3 Z>z$4-C  	Bs   A   A
	A
