o
    ?Hh

                     @   sL   d dl Z d dlZd dlmZmZ dd Zdd Zdd Zd	d
 Zdd Z	dS )    N)raisescheck_subprocess_callc                  C   s6   d g d} ttjd| g ttjd| gdd d S )N
)zresult = 1 + 2 * 3zprint(result)zmy_list = [1, 2, 3]zprint(my_list)-cz7\s{1,2}\[1, 2, 3\]stdout_regex)joinr   sys
executable)code r   X/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/joblib/test/test_testing.pytest_check_subprocess_call   s
   
r   c                  C   sX   d} d}t t}ttjd| g|d W d    n1 sw   Y  |d| d S )N42_no_way_this_matches_anything_r   r   zUnexpected stdout.+{})r   
ValueErrorr   r	   r
   matchformat)r   non_matching_patternexcinfor   r   r   -test_check_subprocess_call_non_matching_regex   s   
r   c                  C   s<   d} t t t| g W d    d S 1 sw   Y  d S )N_a_command_that_does_not_exist_)r   OSErrorr   )wrong_commandr   r   r   (test_check_subprocess_call_wrong_command   s   
"r   c                  C   sb   d g d} tdtj}tt}ttjd| g W d    n1 s%w   Y  |	| d S )Nr   )
import syszprint("writing on stdout")z%sys.stderr.write("writing on stderr")zsys.exit(123)zONon-zero return code: 123.+Stdout:
writing on stdout.+Stderr:
writing on stderrr   
r   recompileDOTALLr   r   r   r	   r
   r   )code_with_non_zero_exitpatternr   r   r   r   /test_check_subprocess_call_non_zero_return_code%   s   
r"   c                  C   sf   d g d} tdtj}tt}ttjd| gdd W d    n1 s'w   Y  |	| d S )Nr   )	zimport timer   zprint("before sleep on stdout")sys.stdout.flush()z*sys.stderr.write("before sleep on stderr")zsys.stderr.flush()ztime.sleep(10)z-print("process should have be killed before")r#   zVNon-zero return code:.+Stdout:
before sleep on stdout\s+Stderr:
before sleep on stderrr      )timeoutr   )code_timing_outr!   r   r   r   r   "test_check_subprocess_call_timeout5   s   
r'   )
r	   r   joblib.testingr   r   r   r   r   r"   r'   r   r   r   r   <module>   s    
