
    HWh1                          S SK rS SKrS SKJr  S SKrS SKrS SKJ	r	J
r
  S SKJr  S SKJr  S SKJrJr  S SKJrJrJr  S rS	 rS
 r\
" S 5      \\	" S/ SQ5      S 5       5       5       rS rS rg! \ a    S SKr Nuf = f)    NPicklingError)parametrizetimeout)with_multiprocessing)concurrency_safe_rename)Paralleldelayed)concurrency_safe_writeFileSystemStoreBackendCacheWarningc                 |    [        US5       n[        R                  " X5        S S S 5        g ! , (       d  f       g = f)Nwb)opencpickledump)outputfilenamefs      A/usr/lib/python3/dist-packages/joblib/test/test_store_backends.py
write_funcr      s&    	h	V 
		s   -
;c                    [        S5       H/  n [        US5       n[        R                  " U5      nS S S 5          O   e U W:X  d   eg ! , (       d  f       N= f! [        [
        4 a    [        R                  " S5         Mw  f = f)N
   rbg?)ranger   r   loadOSErrorIOErrortimesleep)expectedr   ir   reloadeds        r   	load_funcr$      st    2Y	h%"<<? &	  	x &% ! 	 JJsO		s'   AA	A	
A	A&BBc                 2    [        U X5      n[        X15        g N)r   r   )to_writer   r   temporary_filenames       r   concurrency_safe_write_renamer)   .   s    /08F.9    backend)multiprocessingloky	threadingc                 n  ^^ U R                  S5      R                  m[        [        S5      5       Vs0 s H  n[	        U5      U_M     snm[        S5       Vs/ s H.  o"S-  S:w  a  [
        R                  " [        [        S9O[        PM0     nn[        SUS9" UU4S jU 5       5        g s  snf s  snf )	Nztest.pklg     j@         )r   )n_jobsr+   c              3   H   >#    U  H  n[        U5      " TT5      v   M     g 7fr&   )r
   ).0funcr   objs     r   	<genexpr>.test_concurrency_safe_write.<locals>.<genexpr>?   s"      (816c8$$s   ")joinstrpathr   intstr	functoolspartialr)   r   r$   r	   )tmpdirr+   r"   funcsr   r7   s       @@r   test_concurrency_safe_writerB   4   s    
 {{:&..H#CHo
.o3q619o
.C 499>3<aA
 <*46 )*3< 
 > Aw' (816(8 8	 />s   B-5B2c                     " S S[         5      n[        5       nU R                  S5      R                  Ul        S Ul        [        R                  " [        SS9   UR                  SU" 5       5        S S S 5        g ! , (       d  f       g = f)Nc                       \ rS rSrS rSrg)7test_warning_on_dump_failure.<locals>.UnpicklableObjectF   c                     [        S5      e)Nsome exception)RuntimeErrorselfs    r   
__reduce__Btest_warning_on_dump_failure.<locals>.UnpicklableObject.__reduce__G   s    /00r*    N__name__
__module____qualname____firstlineno__rL   __static_attributes__rN   r*   r   UnpicklableObjectrE   F       	1r*   rU   test_warning_on_pickling_errorrH   matchtestpath)
objectr   r:   r;   locationcompresspytestwarnsr   	dump_itemr@   rU   r+   s      r   test_warning_on_dump_failurerb   C   sg    1F 1 %&G{{#CDLLGG	l*:	;*&7&9: 
<	;	;   A;;
B	c                     " S S[         5      n[        5       nU R                  S5      R                  Ul        S Ul        [        R                  " [        SS9   UR                  SU" 5       5        S S S 5        g ! , (       d  f       g = f)Nc                       \ rS rSrS rSrg)9test_warning_on_pickling_error.<locals>.UnpicklableObjectU   c                     [        S5      e)Nnot picklabler   rJ   s    r   rL   Dtest_warning_on_pickling_error.<locals>.UnpicklableObject.__reduce__V   s    00r*   rN   NrO   rN   r*   r   rU   rf   U   rV   r*   rU   rW   ri   rX   rZ   )
r[   r   r:   r;   r\   r]   r^   r_   FutureWarningr`   ra   s      r   rW   rW   R   sf    1F 1 %&G{{#CDLLGG	m?	;*&7&9: 
<	;	;rc   )cPickler   ImportErrorpickler>   r   r   r^   joblib.testingr   r   joblib.test.commonr   joblib.backportsr   joblibr	   r
   joblib._store_backendsr   r   r   r   r$   r)   rB   rb   rW   rN   r*   r   <module>rt      s          / 3 4 $  
  : 	Y@A	8 B  	8;;Y  s   A/ /
A<;A<