
    tpd                         	 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mZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d Zd Zd	 Z ed           e
 ed
g d          d                                     ZdS )    N)parametrizetimeout)with_multiprocessing)concurrency_safe_rename)Paralleldelayed)concurrency_safe_writec                     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      ?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%   &   s2    /08*F F.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>3   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    r/   s     r   
<listcomp>z/test_concurrency_safe_write.<locals>.<listcomp>4   sT     > > >./A

 <*46 6 6 6 )> > >r&      r4   )n_jobsr'   c              3   J   K   | ]} t          |                    V  d S r"   )r   )r0   funcr   objs     r   	<genexpr>z.test_concurrency_safe_write.<locals>.<genexpr>7   sF       (8 (8)-c8$$(8 (8 (8 (8 (8 (8r&   )joinstrpathr   intr   )tmpdirr'   funcsr   r<   s      @@r   test_concurrency_safe_writerC   ,   s    
 {{:&&.H
.
.eCHHoo
.
.
.C> >3899> > >E (HAw''' (8 (8 (8 (8 (816(8 (8 (8 8 8 8 8 8r&   )cPickler   ImportErrorpickler5   r   joblib.testingr   r   joblib.test.commonr   joblib.backportsr   joblibr   r   joblib._store_backendsr	   r   r    r%   rC   r-   r&   r   <module>rL      sG            / / / / / / / / 3 3 3 3 3 3 4 4 4 4 4 4 $ $ $ $ $ $ $ $ 9 9 9 9 9 9     
      : : : 	Y@@@AA	8 	8 BA  	8 	8 	8s    	