
    .Ph                        	 d dl Zn# e$ r d dlZY nw xY w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dS )    NPicklingError)Paralleldelayed)CacheWarningFileSystemStoreBackendconcurrency_safe_write)concurrency_safe_rename)with_multiprocessing)parametrizetimeoutc                     t          |d          5 }t          j        | |           d d d            d S # 1 swxY w Y   d S )Nwb)opencpickledump)outputfilenamefs      _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/joblib/test/test_store_backends.py
write_funcr      s    	h		  VQ                                   s   488c                    t          d          D ]k}	 t          |d          5 }t          j        |          }d d d            n# 1 swxY w Y    n,# t          t
          f$ r t          j        d           Y hw xY w | |k    sJ d S )N
   rbg?)ranger   r   loadOSErrorIOErrortimesleep)expectedr   ir   reloadeds        r   	load_funcr$      s    2YY  	h%% +"<??+ + + + + + + + + + + + + + +E! 	 	 	 JsOOOOO		 	xs3   AAAA	AA	A%A98A9c                 H    t          | ||          }t          ||           d S N)r	   r
   )to_writer   r   temporary_filenames       r   concurrency_safe_write_renamer)   -   s+    /(JOO.99999    backend)multiprocessingloky	threadingc                 
   |                      d          j        d t          t          d                    D             d t          d          D             } t	          d|          fd|D                        d S )	Nztest.pklc                 .    i | ]}t          |          |S  )str.0r"   s     r   
<dictcomp>z/test_concurrency_safe_write.<locals>.<dictcomp>9   s     
.
.
.3q661
.
.
.r*   g     j@c                 n    g | ]2}|d z  dk    r t          j        t          t                    nt          3S )      )r   )	functoolspartialr)   r   r$   r3   s     r   
<listcomp>z/test_concurrency_safe_write.<locals>.<listcomp>:   sP         q5A:: 	7JOOOO  r*      r8   )n_jobsr+   c              3   J   K   | ]} t          |                    V  d S r&   )r   )r4   funcr   objs     r   	<genexpr>z.test_concurrency_safe_write.<locals>.<genexpr>@   s5      'W'Wc8(D(D'W'W'W'W'W'Wr*   )joinstrpathr   intr   )tmpdirr+   funcsr   r@   s      @@r   test_concurrency_safe_writerG   2   s    
 {{:&&.H
.
.eCHHoo
.
.
.C  r	  E (HAw''''W'W'W'W'WQV'W'W'WWWWWWr*   c                 8    G d dt                     }t                      }|                     d          j        |_        d |_        t          j        t          d          5  |	                    d |                       d d d            d S # 1 swxY w Y   d S )Nc                       e Zd Zd ZdS )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00r*   N__name__
__module____qualname__rP   r1   r*   r   UnpicklableObjectrJ   F   #        	1 	1 	1 	1 	1r*   rU   test_warning_on_pickling_errorrL   matchtestpath)
objectr   rB   rC   locationcompresspytestwarnsr   	dump_itemrE   rU   r+   s      r   test_warning_on_dump_failurerb   C   s    1 1 1 1 1F 1 1 1 %&&G{{#CDDLGG	l*:	;	;	; ; ;*&7&7&9&9:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;   #BBBc                 8    G d dt                     }t                      }|                     d          j        |_        d |_        t          j        t          d          5  |	                    d |                       d d d            d S # 1 swxY w Y   d S )Nc                       e Zd Zd ZdS )9test_warning_on_pickling_error.<locals>.UnpicklableObjectc                      t          d          )Nnot picklabler   rN   s    r   rP   zDtest_warning_on_pickling_error.<locals>.UnpicklableObject.__reduce__V   s    000r*   NrQ   r1   r*   r   rU   rf   U   rV   r*   rU   rW   rh   rX   rZ   )
r[   r   rB   rC   r\   r]   r^   r_   FutureWarningr`   ra   s      r   rW   rW   R   s    1 1 1 1 1F 1 1 1 %&&G{{#CDDLGG	m?	;	;	; ; ;*&7&7&9&9:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;rc   )cPickler   ImportErrorpickler9   r   r   r^   joblibr   r   joblib._store_backendsr   r   r	   joblib.backportsr
   joblib.test.commonr   joblib.testingr   r   r   r$   r)   rG   rb   rW   r1   r*   r   <module>rr      s                         $ $ $ $ $ $ $ $         
 5 4 4 4 4 4 3 3 3 3 3 3 / / / / / / / /     
      : : :
 	Y@@@AAX X BA  X; ; ;; ; ; ; ;s    	