ó
    oñ:iÕ  ã                   ó”  • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	\	R                  r
\	R                  r\R                  R                  r\	R                  R                   r\	R"                  r\	R                  R$                  r\	R                  R&                  r\	R                  R(                  r\	R*                  rS rSS jrg)z
Helper for testing.
é    Nc                  óL   ^• [         R                  mSU4S jjn U [         l        g)z Redirect all warnings to stdout.Nc                 ór   >• T" X[         R                  R                  U5      U[        R                  5        g )N)ÚosÚpathÚbasenameÚsysÚstdout)ÚmsgÚcatÚfnameÚlnoÚfileÚlineÚshowwarning_origs         €ÚQ/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/joblib/testing.pyÚshowwarningÚ'warnings_to_stdout.<locals>.showwarning   s$   ø€ Ù˜¤2§7¡7×#3Ñ#3°EÓ#:¸DÄ#Ç*Á*ÕMó    )Nr   )Úwarningsr   )r   r   s    @r   Úwarnings_to_stdoutr      s   ø€ ä×+Ñ+Ð÷Nð '„HÕr   c                 óz  ^ ^• [         R                  " T [         R                  [         R                  S9mU U4S jnU U4S jn UbP  [        R                  " X5      nUR                  5         [        R                  " SU-  U5      nUR                  5         TR                  5       u  p‰UR                  5       U	R                  5       p˜TR                  S:w  a'  SR                  TR                  X‰5      n
[        U
5      eUb5  [        R                  " X(5      (       d  [        SR                  X(5      5      eUb5  [        R                  " X95      (       d  [        S	R                  X95      5      eUb!  WR                  5         WR                  5         gg! Ub!  WR                  5         WR                  5         f f = f)
a  Runs a command in a subprocess with timeout in seconds.

A SIGTERM is sent after `timeout` and if it does not terminate, a
SIGKILL is sent after `2 * timeout`.

Also checks returncode is zero, stdout if stdout_regex is set, and
stderr if stderr_regex is set.
)r	   Ústderrc                  óX   >• [         R                  " ST  35        TR                  5         g)z«
Attempt to terminate a leftover process spawned during test execution:
ideally this should not be needed but can help avoid clogging the CI
workers in case of deadlocks.
úTimeout running N)r   ÚwarnÚ	terminate©ÚcmdÚprocs   €€r   Úterminate_processÚ0check_subprocess_call.<locals>.terminate_process0   s#   ø€ ô 	�ŠÐ(¨¨Ð.Ô/Ø�‰Õr   c                  óX   >• [         R                  " ST  35        TR                  5         g)z›
Kill a leftover process spawned during test execution: ideally this
should not be needed but can help avoid clogging the CI workers in
case of deadlocks.
r   N)r   r   Úkillr   s   €€r   Úkill_processÚ+check_subprocess_call.<locals>.kill_process9   s"   ø€ ô 	�ŠÐ(¨¨Ð.Ô/Ø�	‰	�r   Né   r   z/Non-zero return code: {}.
Stdout:
{}
Stderr:
{}z,Unexpected stdout: {!r} does not match:
{!r}z,Unexpected stderr: {!r} does not match:
{!r})Ú
subprocessÚPopenÚPIPEÚ	threadingÚTimerÚstartÚcommunicateÚdecodeÚ
returncodeÚformatÚ
ValueErrorÚreÚsearchÚcancel)r   ÚtimeoutÚstdout_regexÚstderr_regexr    r$   Úterminate_timerÚ
kill_timerr	   r   Úmessager   s   `          @r   Úcheck_subprocess_callr;   %   st  ù€ ô ×Ò˜C¬
¯©Ä
ÇÁÑP€Dööð ØÑÜ'Ÿošo¨gÓIˆOØ×!Ñ!Ô#Ü"Ÿš¨¨W©°lÓCˆJØ×ÑÔØ×)Ñ)Ó+‰ˆØŸ™›¨&¯-©-«/�Ø�?‰?˜aÓØL×TÑTØ—‘ óˆGô ˜WÓ%Ð%àÑ#¬B¯IªI°l×,KÑ,KÜØ?×FÑFØ óóð ð
 Ñ#¬B¯IªI°l×,KÑ,KÜØ?×FÑFØ óóð ð ÑØ×"Ñ"Ô$Ø×ÑÕð øˆ7ÑØ×"Ñ"Ô$Ø×ÑÕð ús   ÁD+F Æ&F:)é   NN)Ú__doc__Úos.pathr   r2   r'   r   r*   r   Ú_pytestÚpytestÚraisesÚwarnsÚrunnerÚSkippedÚSkipTestÚmarkÚskipifÚfixtureÚparametrizer5   ÚxfailÚparamr   r;   © r   r   Ú<module>rM      s�   ðñó Û 	Û Û 
Û Û ã Û à	�‰€Ø�‰€Ø�>‰>×!Ñ!€Ø	�‰×	Ñ	€Ø
�.‰.€Ø�k‰k×%Ñ%€Ø
�+‰+×
Ñ
€Ø�‰×Ñ€Ø�‰€ò'õ; r   