Ë
    òT•j’  ã                   ó´   — 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+   € Ùô 	�‰�‰˜œ2Ÿ7™7Ÿ?™?¨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Ü—N‘N×)Ñ)Ó+ˆ	ô 	×Ñ¨°9Õ=ð ˆÜ”6˜9Ô%Ø�N‰Nœ6Ÿ>™>Ô*Ü”6˜9Ô%Ø�N‰Nœ6Ÿ>™>Ô*Øò 	FˆFÜ×!Ñ! &°¸9ÖEñ	Fô Ôä×"Ñ"¤3§:¡:Ô.ô —+‘+×$Ñ$Ó&ò ?ˆÜ�6˜:Ô&Ü(¨¯©Ó9ò ?‘��tÜ)+¯©¯©¸Ó)>�—‘ Ò&ð?ä�6˜: tÕ,Ü Ÿg™gŸo™o¨f¯o©oÓ>ˆF�Oð?ô Œs�NÔ#ò	ä×ÑÐ)Ô*äÔÜÔ õ œ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«  € Ø×&Ñ&„G„OØ×)Ñ)„GÔØ—,‘,„G„KØ#×0Ñ0„GÔä�H×(Ñ(Ô)à×ÒØ!#ŒÔÝ4Ø'+ÐÕ$à!%ŒÔà×ÑÐ(Ü×Ñ˜X×2Ñ2Ô3ä×#Ñ# H×$4Ñ$4¸Ñ$9Ô:à$×2Ñ2„GÔà×Ñ€GØÐä#&¤w×'?Ñ'?ÀÈ3ÁÓ#OŒÔ ä #¤G×$9Ñ$9¸7ÀR¹<Ó HŒÔÜ"¤7×#7Ñ#7¸À1¹ÓEŒÔô $'¤w×'?Ñ'?ÀÓ#IŒÔ Ü#&¤w×'?Ñ'?ÀÓ#IŒÔ Ü #¤G×$9Ñ$9¸7Ó CŒÔÜ"¤7×#7Ñ#7¸ÓAŒÔà×Òà*/Œ×ÑÔ'à×ÑÐ(Ü
×Ñ˜×.Ñ.Ô/ä
‡K�K�×$Ñ$Õ%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Ð ð5˜C $™Jð 5¨4ó 5ò;>ð|+&˜(ô +&r   