
    e!h                         	 d dl Zd dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
 d dlmZmZmZ d dlmZ d dlmZ d dlmZmZ d Zd	 Zd
 Z ed       e edg d      d                      Zd Zd Zy# e$ r d dlZY tw xY w)    NPicklingError)Paralleldelayed)CacheWarningFileSystemStoreBackendconcurrency_safe_write)concurrency_safe_rename)with_multiprocessing)parametrizetimeoutc                 r    t        |d      5 }t        j                  | |       d d d        y # 1 sw Y   y xY w)Nwb)opencpickledump)outputfilenamefs      g/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/joblib/test/test_store_backends.py
write_funcr      s1    	h	  VQ     s   -6c                     t        d      D ].  }	 t        |d      5 }t        j                  |      }d d d         n  | k(  sJ y # 1 sw Y   xY w# t        t
        f$ r t        j                  d       Y lw xY w)N
   rbg?)ranger   r   loadOSErrorIOErrortimesleep)expectedr   ir   reloadeds        r   	load_funcr$      s    2Y 	h% +"<<?+	 	x+ + ! 	 JJsO		s'   AAAA	A$A98A9c                 6    t        | ||      }t        ||       y N)r	   r
   )to_writer   r   temporary_filenames       r   concurrency_safe_write_renamer)   -   s    /(JO.9    backend)multiprocessingloky	threadingc                 j   | j                  d      j                  t        t        d            D ci c]  }t	        |      | c}t        d      D cg c]/  }|dz  dk7  rt        j                  t        t              nt        1 }} t        d|      fd|D               y c c}w c c}w )	Nztest.pklg     j@         )r   )n_jobsr+   c              3   B   K   | ]  } t        |              y wr&   )r   ).0funcr   objs     r   	<genexpr>z.test_concurrency_safe_write.<locals>.<genexpr>@   s     'Wc8(D'Ws   )joinstrpathr   intstr	functoolspartialr)   r   r$   r   )tmpdirr+   r"   funcsr   r7   s       @@r   test_concurrency_safe_writerA   2   s    
 {{:&..H#CHo
.3q619
.C
 r	  q5A: 	7JO	E  (HAw''WQV'WW /s   B+4B0c                     G d dt               }t               }| j                  d      j                  |_        d |_        t        j                  t        d      5  |j                  d |              d d d        y # 1 sw Y   y xY w)Nc                       e Zd Zd Zy)7test_warning_on_dump_failure.<locals>.UnpicklableObjectc                     t        d      )Nsome exception)RuntimeErrorselfs    r   
__reduce__zBtest_warning_on_dump_failure.<locals>.UnpicklableObject.__reduce__G   s    /00r*   N__name__
__module____qualname__rJ    r*   r   UnpicklableObjectrD   F       	1r*   rP   test_warning_on_pickling_errorrF   matchtestpath)
objectr   r9   r:   locationcompresspytestwarnsr   	dump_itemr?   rP   r+   s      r   test_warning_on_dump_failurer]   C   sp    1F 1 %&G{{#CDLLGG	l*:	; ;*&7&9:; ; ;   A==Bc                     G d dt               }t               }| j                  d      j                  |_        d |_        t        j                  t        d      5  |j                  d |              d d d        y # 1 sw Y   y xY w)Nc                       e Zd Zd Zy)9test_warning_on_pickling_error.<locals>.UnpicklableObjectc                     t        d      )Nnot picklabler   rH   s    r   rJ   zDtest_warning_on_pickling_error.<locals>.UnpicklableObject.__reduce__V   s    00r*   NrK   rO   r*   r   rP   ra   U   rQ   r*   rP   rR   rc   rS   rU   )
rV   r   r9   r:   rW   rX   rY   rZ   FutureWarningr[   r\   s      r   rR   rR   R   so    1F 1 %&G{{#CDLLGG	m?	; ;*&7&9:; ; ;r^   )cPickler   ImportErrorpickler=   r   r   rY   joblibr   r   joblib._store_backendsr   r   r	   joblib.backportsr
   joblib.test.commonr   joblib.testingr   r   r   r$   r)   rA   r]   rR   rO   r*   r   <module>rm      s          $ 
 5 3 / 
  :
 	Y@AX B  X;;[  s   A/ /	A;:A;