ó
    F\hG  ã            
       ó:  • S SK r S SKrS SKrS SKJrJr  S SKJrJr  SSK	J
r
Jr  SSKJrJrJr  SSKJr  SSKJrJrJrJrJrJr  \" \S	5      =(       a	    \" \S
5      r SS\S\S\S-  S\ R8                  \   4S jjrS\S\4S jrS\4S jr \!S:X  a  \ " 5         gg)é    N)ÚAnyÚNoReturn)Ú	os_helperÚPy_DEBUGé   )Úsetup_processÚsetup_test_dir)ÚWorkerRunTestsÚJsonFileÚJsonFileType)Úrun_single_test)ÚStrPathÚStrJSONÚ
TestFilterÚget_temp_dirÚget_work_dirÚexit_timeoutÚsetsidÚkillpgÚruntestsÚ	output_fdÚtmp_dirÚreturnc           	      óÔ  • U R                  5       nU R                  5       nUR                  SSU/5        [        [        R
                  5      nUb  X%S'   X%S'   X%S'   [        R                  n[        UUUSSUS9n[        (       a  SUS'   U R                  nUR                  U5        UR                  5          [        R                  " U40 UD6sS S S 5        $ ! , (       d  f       g = f)	Nz-mztest.libregrtest.workerÚTMPDIRÚTEMPÚTMPT)ÚenvÚstdoutÚstderrÚtextÚ	close_fdsÚcwdÚstart_new_session)Úas_jsonÚcreate_python_cmdÚextendÚdictÚosÚenvironr   ÚSAVEDCWDÚUSE_PROCESS_GROUPÚ	json_fileÚconfigure_subprocessÚinherit_subprocessÚ
subprocessÚPopen)	r   r   r   Úworker_jsonÚcmdr   Úwork_dirÚkwargsr-   s	            Ú./usr/lib/python3.13/test/libregrtest/worker.pyÚcreate_worker_processr7      sÝ   € à×"Ñ"Ó$€Kà
×
$Ñ
$Ó
&€CØ‡J�J�Ð/°Ð=Ô>ä
Œr�z‰zÓ
€CØÑØˆH‰ØˆF‰ØˆE‰
ô ×!Ñ!€Hä!ØØàØØØñ€F÷ ÒØ&*ˆÐ"Ñ#ð ×"Ñ"€IØ×"Ñ" 6Ô*à	×	%Ñ	%Õ	'Ü×Ò Ñ. vÑ.÷ 
(×	'×	'ús   Â8CÃ
C'r2   c                 óŽ  • [         R                  " U 5      nUR                  S   nUR                  nUR                  n[        UR                  5        [        5         UR                  (       aB  U(       a-  SSR                  S U 5       5      -   n[        SU SU S3SS	9  O[        SU S
3SS	9  [        X!5      nUR                  (       aa  S[        R                  ;   a,  [        [        R                  S   R                  5      Ul        O!["        (       d  [        SSS	9  O[%        S5      eUR&                  [(        R*                  :X  a*  [        5         UR-                  [        R.                  5        O*UR1                  SSS9 nUR-                  U5        S S S 5        [        R2                  " S5        g ! , (       d  f       N%= f)Nr   z
matching: z, c              3   ó<   #   • U  H  u  pU(       d  M  Uv •  M     g 7f©N© )Ú.0ÚpatternÚresults      r6   Ú	<genexpr>Ú!worker_process.<locals>.<genexpr>H   s   é € Ð/eÊ{¹O¸GÔ^d·±Ê{ùs   ‚“	zRe-running z in verbose mode (Ú)T)Úflushz in verbose modeztest.covz>Gathering coverage in worker processes requires --with-pydebugz7`test.cov` not found in sys.modules but coverage wantedÚwzutf-8)Úencoding)r
   Ú	from_jsonÚtestsÚmatch_testsr-   r	   Útest_dirr   ÚrerunÚjoinÚprintr   ÚcoverageÚsysÚmodulesÚlistÚcovered_linesr   ÚLookupErrorÚ	file_typer   ÚSTDOUTÚwrite_json_intor   ÚopenÚexit)r2   r   Ú	test_namerG   r-   Úmatchingr>   Újson_fps           r6   Úworker_processrZ   =   sc  € Ü×'Ò'¨Ó4€HØ—‘˜qÑ!€IØ&×2Ñ2€KØ"×,Ñ,€Iä�8×$Ñ$Ô%Ü„Oà‡~‡~ÞØ# d§i¡iÑ/eÉ{Ó/eÓ&eÑeˆHÜ�K 	˜{Ð*<¸X¸JÀaÐHÐPTÓUä�K 	˜{Ð*:Ð;À4ÒHä˜YÓ1€FØ××ØœŸ™Ó$Ü#'¬¯©°JÑ(?×(HÑ(HÓ#IˆFÕ ß’ÜØPØóô
 ØIóð ð ×Ñœl×1Ñ1Ó1ÜŒØ×ÑœsŸz™zÕ*à�^‰^˜C¨'ˆ^Ñ2°gØ×"Ñ" 7Ô+÷ 3ô ‡H‚HˆQ…K÷ 3Õ2ús   ÆF6Æ6
Gc                  óŠ  • [        [        R                  5      S:w  a!  [        S5        [        R                  " S5        [        R                  S   n [        5       n[        USS9n[        5          [        R                  " USS9   [        U 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Né   z-usage: python -m test.libregrtest.worker JSONr   T)Úworker)Úquiet)ÚlenrM   ÚargvrK   rV   r   r   r   r   Útemp_cwdrZ   )r2   r   r4   s      r6   Úmainrb   e   s~   € Ü
Œ3�8‰8ƒ}˜ÓÜÐ=Ô>Ü�Š�ŒÜ—(‘(˜1‘+€Kä‹n€GÜ˜G¨DÑ1€Hä	�Ü×Ò °Ó5Ü˜;Ô'÷ 6÷ 
ˆß5Õ5ú÷ 
�ús$   Á0B4ÂB#ÂB4Â#
B1	Â-B4Â4
CÚ__main__r:   )"r0   rM   r)   Útypingr   r   Útest.supportr   r   Úsetupr   r	   r   r
   r   r   Úsingler   Úutilsr   r   r   r   r   r   Úhasattrr,   Úintr1   Ústrr7   rZ   rb   Ú__name__r;   ó    r6   Ú<module>rn      s±   ðÛ Û 
Û 	ß  ç ,ç 0ß <Ñ <Ý #÷.÷ .ñ
 ˜R Ó*×D©w°r¸8Ó/DÐ ð 59ñ'/ Nð '/¸sð '/Ø#*¨T¡>ð'/Ø=G×=MÑ=MÈcÑ=Rõ'/ðT% ð %¨Hô %ðP(ˆhô (ð ˆzÓÙ…Fð rm   