o
    \i                     @   s   zd dl ZW n ey   d dlZY n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d	 Zd
d Zdd Zed eedg ddd Zdd Zdd ZdS )    NPicklingError)Paralleldelayed)CacheWarningFileSystemStoreBackendconcurrency_safe_write)concurrency_safe_rename)with_multiprocessing)parametrizetimeoutc                 C   s<   t |d}t| | W d    d S 1 sw   Y  d S )Nwb)opencpickledump)outputfilenamef r   /var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/joblib/test/test_store_backends.py
write_func   s   "r   c              
   C   sz   t dD ]/}zt|d}t|}W d    n1 sw   Y  W  n ttfy3   td Y qw  | |ks;J d S )N
   rbg?)ranger   r   loadOSErrorIOErrortimesleep)expectedr   ir   reloadedr   r   r   	load_func   s   r"   c                 C   s   t | ||}t|| d S N)r   r	   )to_writer   r   temporary_filenamer   r   r   concurrency_safe_write_rename-   s   r&   backend)multiprocessingloky	threadingc                    sX   |  dj dd ttdD dd tdD }td|d	 fd
d|D  d S )Nztest.pklc                 S   s   i | ]}t ||qS r   )str.0r    r   r   r   
<dictcomp>9   s    z/test_concurrency_safe_write.<locals>.<dictcomp>g     j@c                 S   s*   g | ]}|d  dkrt jttdntqS )      )r   )	functoolspartialr&   r   r"   r,   r   r   r   
<listcomp>:   s    z/test_concurrency_safe_write.<locals>.<listcomp>   r0   )n_jobsr'   c                 3   s    | ]
}t | V  qd S r#   )r   )r-   funcr   objr   r   	<genexpr>@   s    z.test_concurrency_safe_write.<locals>.<genexpr>)joinstrpathr   intr   )tmpdirr'   funcsr   r7   r   test_concurrency_safe_write2   s   $r?   c                 C   l   G dd dt }t }| dj|_d |_tjtdd |	d|  W d    d S 1 s/w   Y  d S )Nc                   @      e Zd Zdd ZdS )z7test_warning_on_dump_failure.<locals>.UnpicklableObjectc                 S      t d)Nsome exception)RuntimeErrorselfr   r   r   
__reduce__G      zBtest_warning_on_dump_failure.<locals>.UnpicklableObject.__reduce__N__name__
__module____qualname__rG   r   r   r   r   UnpicklableObjectF       rM   test_warning_on_pickling_errorrC   matchtestpath)
objectr   r:   r;   locationcompresspytestwarnsr   	dump_itemr=   rM   r'   r   r   r   test_warning_on_dump_failureC      "rZ   c                 C   r@   )Nc                   @   rA   )z9test_warning_on_pickling_error.<locals>.UnpicklableObjectc                 S   rB   )Nnot picklabler   rE   r   r   r   rG   V   rH   zDtest_warning_on_pickling_error.<locals>.UnpicklableObject.__reduce__NrI   r   r   r   r   rM   U   rN   rM   rO   r\   rP   rR   )
rS   r   r:   r;   rT   rU   rV   rW   FutureWarningrX   rY   r   r   r   rO   R   r[   rO   )cPickler   ImportErrorpickler1   r   r   rV   joblibr   r   joblib._store_backendsr   r   r   joblib.backportsr	   joblib.test.commonr
   joblib.testingr   r   r   r"   r&   r?   rZ   rO   r   r   r   r   <module>   s.    