a
    Žù»j6  ã                   @   sD  d 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	 zddl
Z
W n eyb   dZ
Y n0 eedƒZe d¡o€e ¡  ZzddlZdd„ ZW n ey´   d	d„ ZdZY n0 z dd
lmZ dd„ Zdd„ ZW n" eyø   dd„ Zd ZZY n0 e	edu dd�Ze	ej d¡ dd�Ze	e
du dd�Ze	e
dudd�ZdS )z
Small utilities for testing.
é    N)Úmp)ÚSkipTestÚskipifÚpypy_version_infoÚPy_GIL_DISABLEDc                 C   s   | S )ú*A decorator to skip tests requiring numpy.© ©Úfuncr   r   ú8E:\soccer\ml_env\Lib\site-packages\joblib/test/common.pyÚ
with_numpy   s    r   c                 C   s   dd„ }|S )r   c                   S   s   t dƒ‚d S )NzTest requires numpy©r   r   r   r   r   Úmy_func%   s    zwith_numpy.<locals>.my_funcr   )r
   r   r   r   r   r   "   s    )Úmemory_usagec                 C   s   | S )ú4A decorator to skip tests requiring memory_profiler.r   r	   r   r   r   Úwith_memory_profiler3   s    r   c                 O   s*   t  ¡  t| ||fdd�}t|ƒt|ƒ S )z)Compute memory usage when executing func.gü©ñÒMbP?)Úinterval)ÚgcZcollectr   ÚmaxÚmin)r
   ÚargsÚkwargsZmem_user   r   r   Úmemory_used7   s    r   c                 C   s   dd„ }|S )r   c                   S   s   t dƒ‚d S )NzTest requires memory_profiler.r   r   r   r   r   Ú
dummy_funcB   s    z(with_memory_profiler.<locals>.dummy_funcr   )r
   r   r   r   r   r   ?   s    zNeeds multiprocessing to run.)Úreasonz/dev/shmz5This test requires a large /dev/shm shared memory fs.zNeeds lz4 compression to runz$Needs lz4 not being installed to run)Ú__doc__r   ÚosÚsysÚ	sysconfigZjoblib._multiprocessing_helpersr   Zjoblib.testingr   r   Zlz4ÚImportErrorÚhasattrZIS_PYPYÚget_config_varZ_is_gil_enabledZIS_GIL_DISABLEDÚnumpyÚnpr   Zmemory_profilerr   r   r   Zwith_multiprocessingÚpathÚexistsZwith_dev_shmZwith_lz4Zwithout_lz4r   r   r   r   Ú<module>   sB   

ÿ
þ