B
    2*\s                 @   s   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 yd dlZW n e	k
r`   dZY nX d dl
mZ dd Zdd ZdS )    N)support)warm_cachesc          	   C   s  yt j }W n ttfk
r*   d }Y n^X tjd|d g }ttdrT|	tj
 ttdrj|	tj x|D ]}tj|d|d qpW t  tt j | jrt jdtj| j xbt j D ]T}t|drx(t|jD ]\}}tj||j|< qW t|dd rtj|j|_qW t jd	kr~ydd l}W n tk
rJ   Y n4X ||j \}}	t!|	t"|d
}
|#|j |
|	f | j$rdt%j&_'t(  | j)d k	rt*| j) | j+d k	rt,-| j+ ydd l.}W n tk
r   Y nX |/|j0|j1B |j2B |j3B  y
|j4 W n tk
r&   Y n\X xX|j5|j6|j7gD ]D}| j8rp| j8dkrp|4||j9 |:||j; n|4|d q:W | j<t_<d S )NT)Zall_threadsfileSIGALRMSIGUSR1)chainr   r   __path____file__darwini    F   )=sys
__stderr__fileno
ValueErrorAttributeErrorfaulthandlerZenablehasattrsignalappendr   r   registerreplace_stdoutr   Zrecord_original_stdoutstdoutZtestdirpathinsertosabspathmodulesvalues	enumerater   getattrr	   platformresourceImportErrorZ	getrlimitZRLIMIT_STACKminmaxZ	setrlimitZ
huntrleaksunittestZBaseTestSuiteZ_cleanupr   ZmemlimitZset_memlimitZ	thresholdgcZset_thresholdmsvcrtZSetErrorModeZSEM_FAILCRITICALERRORSZSEM_NOALIGNMENTFAULTEXCEPTZSEM_NOGPFAULTERRORBOXZSEM_NOOPENFILEERRORBOXZCrtSetReportModeZCRT_WARNZ	CRT_ERRORZ
CRT_ASSERTverboseZCRTDBG_MODE_FILEZCrtSetReportFileZCRTDBG_FILE_STDERRZuse_resources)nsZ	stderr_fdZsignalsZsignummoduleindexr   r!   ZsoftZhardZnewsoftr'   m r-   AC:\ALexclude\prg\programme\Python37\Lib\test\libregrtest\setup.pysetup_tests   sl    






r/   c                 sZ   t j y  } W n tk
r&   dS X t| d jddddt _ fdd}t| dS )	zSet stdout encoder error handler to backslashreplace (as stderr error
    handler) to avoid UnicodeEncodeError when printing a tracebackNwbackslashreplaceF
)encodingerrorsclosefdnewlinec                  s   t j   t _d S )N)r   r   closer-   )r   r-   r.   restore_stdout   s    
z&replace_stdout.<locals>.restore_stdout)r   r   r   r   openr3   atexitr   )fdr8   r-   )r   r.   r   u   s    
r   )r:   r   r   r   r   r%   Ztestr   r&   r"   Ztest.libregrtest.refleakr   r/   r   r-   r-   r-   r.   <module>   s   
e