
    tpd                        d 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Zddl	Z	ej
        Z
ej        Ze	j        j        Zej        j        Zej        Zej        j        Zej        j        Zej        j        Zej        Zd Z	 	 ddZdS )z
Helper for testing.
    Nc                  D    t           j        dfd	} | t           _        dS )z& Redirect all warnings to stdout.
    Nr   c                 t     | |t           j                            |          |t          j                   d S )N)ospathbasenamesysstdout)msgcatfnamelnofilelineshowwarning_origs         .lib/python3.11/site-packages/joblib/testing.pyshowwarningz'warnings_to_stdout.<locals>.showwarning    s4    c27#3#3E#:#:D#*MMMMM    )Nr   )warningsr   )r   r   s    @r   warnings_to_stdoutr      sB      +N N N N N N 'Hr      c                    	 t          j         t           j        t           j                  	 	fd}	 |)t          j        ||          }|                                 	                                \  }}|                                |                                }}	j        dk    r+d	                    	j        ||          }t          |          |8t          j        ||          s#t          d	                    ||                    |8t          j        ||          s#t          d	                    ||                    ||                                 dS dS # ||                                 w w xY w)zRuns a command in a subprocess with timeout in seconds.

    Also checks returncode is zero, stdout if stdout_regex is set, and
    stderr if stderr_regex is set.
    )r	   stderrc                  ~    t          j        d                                                                           d S )NzTimeout running {})r   warnformatkill)cmdprocs   r   kill_processz+check_subprocess_call.<locals>.kill_process1   s3    *11#66777		r   Nr   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
returncoder   
ValueErrorresearchcancel)
r   timeoutstdout_regexstderr_regexr   timerr	   r   messager   s
   `        @r   check_subprocess_callr2   '   s    C
#-?4 4 4D     OG\::EKKMMM))++&--//?a%vOVV 5  5  W%%%$IlF33 %?FF &* *+ + + $IlF33 %?FF &* *+ + +
 LLNNNNN 7LLNNNN s   DE# #E<)r   NN)__doc__r   r   os.pathr   r*   r    r#   pytest_pytestraiseswarnsrunnerSkippedSkipTestmarkskipiffixtureparametrizer-   xfailparamr   r2    r   r   <module>rC      s     


   				           
>!		
.k%
+
' ' ' 8<'+( ( ( ( ( (r   