add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
f

��_&c@s�ddlZddlZddlZddlZddlZddlZddlmZzddlZWne	y^dZYn0ddl
mZdd�Zdd�Z
dS)�N)�support)�setup_unraisable_hookc	Cs
ztj��}Wnttfy(d}YnZ0tjd|d�g}ttd�rR|�	tj
�ttd�rh|�	tj�|D]}tj|d|d�qlt
�t�tj�|jr�tj�dtj�|j��tj��D]P}t|d�r�t|j�D]\}}tj�|�|j|<q�t|dd�r�tj�|j�|_q�|j�rd	tj_|j du�r6t�!|j �|j"du�rNt#�$|j"�t�%|j&�ob|j&d
k�|j't_'ttd��r�dd
�}t�(|�t)�|j*du�rt+tj,|j*d�t_,t+tj-|j*d�t_-t.tj/|j*�t_/t.tj0|j*�t_0t.tj,|j*�t_,t.tj-|j*�t_-dS)NT)Zall_threads�file�SIGALRM�SIGUSR1)Zchainrr�__path__�__file__Fi�addaudithookcSsdS�N�)ZnameZargsr
r
�//usr/lib64/python3.10/test/libregrtest/setup.py�_test_audit_hookNsz%setup_tests.<locals>._test_audit_hooki(i)1�sysZ
__stderr__�fileno�
ValueErrorZAttributeError�faulthandlerZenableZhasattr�signalZappendrr�register�replace_stdoutrZrecord_original_stdout�stdoutZtestdir�pathZinsert�osZabspathZmodulesZvaluesZ	enumeraterZgetattrrZ
huntrleaks�unittestZ
BaseTestSuiteZ_cleanupZmemlimitZset_memlimitZ	threshold�gcZ
set_thresholdZsuppress_msvcrt_assertsZverboseZ
use_resourcesrrZtimeoutZmaxZ
SHORT_TIMEOUTZLONG_TIMEOUTZminZLOOPBACK_TIMEOUTZINTERNET_TIMEOUT)ZnsZ	stderr_fdZsignalsZsignumZmoduleZindexrrr
r
r�setup_testssR




rcsZtj�z���}Wnty&YdS0t|d�jdddd�t_�fdd�}t�|�dS)	z�Set stdout encoder error handler to backslashreplace (as stderr error
    handler) to avoid UnicodeEncodeError when printing a tracebackNZwZbackslashreplaceFZ
)�encodingZerrorsZclosefdZnewlinecstj���t_dSr	)r
rZcloser
�rr
r�restore_stdoutts
z&replace_stdout.<locals>.restore_stdout)r
rrrZopenr�atexitr)Zfdrr
rrr`s�r)rrrrr
rZtestrrZImportErrorZtest.libregrtest.utilsrrrr
r
r
rZ<module>s
P