
    e!h6                        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	 	 ddl
Z
 eed      Z ej                  d      xr  ej                          Z	 ddlZd Z	 dd	lmZ d
 Zd Z e	edu d      Z e	ej2                  j5                  d       d      Z e	e
du d      Z e	e
dud      Zy# e$ r dZ
Y w xY w# e$ r d ZdZY ow xY w# e$ r
 d ZdxZZY tw xY w)z
Small utilities for testing.
    N)mp)SkipTestskipifpypy_version_infoPy_GIL_DISABLEDc                     | S )*A decorator to skip tests requiring numpy. funcs    Z/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/joblib/test/common.py
with_numpyr              c                     d }|S )r	   c                      t        d      )NzTest requires numpyr   r
   r   r   my_funczwith_numpy.<locals>.my_func%   s    011r   r
   )r   r   s     r   r   r   "   s    	2 r   )memory_usagec                     | S )4A decorator to skip tests requiring memory_profiler.r
   r   s    r   with_memory_profilerr   3   r   r   c                 x    t        j                          t        | ||fd      }t        |      t	        |      z
  S )z)Compute memory usage when executing func.gMbP?)interval)gccollectr   maxmin)r   argskwargsmem_uses       r   memory_usedr"   7   s1    


dF3eD7|c'l**r   c                     d }|S )r   c                      t        d      )NzTest requires memory_profiler.r   r
   r   r   
dummy_funcz(with_memory_profiler.<locals>.dummy_funcB   s    ;<<r   r
   )r   r%   s     r   r   r   ?   s    	= r   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	sysconfigjoblib._multiprocessing_helpersr   joblib.testingr   r   lz4ImportErrorhasattrIS_PYPYget_config_var_is_gil_enabledIS_GIL_DISABLEDnumpynpr   memory_profilerr   r   r"   with_multiprocessingpathexistswith_dev_shmwith_lz4without_lz4r
   r   r   <module>r=      s,   
 	 
  . +
 #*
+I./M8K8K8K8M4M 
(&,+& bDj1PQ  
z""B
 #+&DES_-STK  
C"  
 
B
:  
& "&%L;
&s5   B3 C  C 3B=<B= 
CCCC