a
    hY                     @   s  d dl mZmZmZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlZddlmZmZmZmZ ddlmZ dd	lmZmZ d
dlmZmZ d
dlmZmZmZ edZedZd dlm Z m!Z!m"Z" d dl#mZ d dl$m%Z%m&Z&m'Z' ej(ddddd Z)dd Z*diddZ+dd Z,dd Z-d d! Z.ej/0d"dd#gej/0d$eegd%d& Z1eej/0d"dd#gej/0d'd(d)gej/0d$eegd*d+ Z2eej/0d$eegd,d- Z3d.d/ Z4d0d1 Z5ej/0d2dd3gd4d5 Z6d6d7 Z7G d8d9 d9e8Z9djd:d;Z:d<d= Z;d>d? Z<ej/0d@e=e>ddAdB Z?dCdD Z@dEdF ZAdGdH ZBdIdJ ZCdKdL ZDdMdN ZEdOdP ZFdQdR ZGdSdT ZHdUdV ZIdWdX ZJej/0dYdZd[gej/jKejLd\koejLd]kd^d_d`da ZMdbdc ZNej/0dddedfgdgdh ZOdS )k    )absolute_importdivisionprint_functionNrandom)sleep)uuid4   )Paralleldelayedparallel_backendparallel_config)DaskDistributedBackend)AutoBatchingMixinThreadingBackend   )np
with_numpy)_recursive_backend_info_test_deadlock_with_generator8_test_parallel_unordered_generator_returns_fastest_firstdistributeddask)ClientLocalCluster
get_client)time)cleanupclusterincfunctionT)scopeZautousec                 c   sZ   ddl m} dd |jD }d V  | D ]*\}}|d u rJtj|d  q*|tj|< q*d S )Nr   )ParallelBackendBasec                 S   s   i | ]}|t j|qS  )osenvironget).0kr#   r#   Q/var/www/html/assistant/venv/lib/python3.9/site-packages/joblib/test/test_dask.py
<dictcomp>(       z(avoid_dask_env_leaks.<locals>.<dictcomp>)Zjoblib._parallel_backendsr"   ZMAX_NUM_THREADS_VARSitemsr$   r%   pop)Ztmp_pathr"   	old_valuer(   vr#   r#   r)   avoid_dask_env_leaks!   s    r0   c                  O   s   d S Nr#   )argskwargsr#   r#   r)   noop3   s    r4   皙?c                 C   s   t | | rtdd S )Nzcondition evaluated to True)r   
ValueError)	conditiondurationr#   r#   r)   slow_raise_value_error7   s    r9   c                    sF   | dd }i }| D ]&\}}t fddt|D ||< q|S )Nc                 S   s   | j S r1   )log)Zdask_workerr#   r#   r)   <lambda>>   r+   zcount_events.<locals>.<lambda>c                    s   g | ]}|d   kr|qS r   r#   )r'   event
event_namer#   r)   
<listcomp>B   r+   z count_events.<locals>.<listcomp>)runr,   lenlist)r?   clientZworker_eventsZevent_countsweventsr#   r>   r)   count_events=   s    
rG   c                 C   s8  t  \}\}}t|d | d}tdd t dd tdD }|dd	 tdD ksbJ tt( t d
d tdD  W d    n1 s0    Y  t dd tdD }|dd	 tdD ksJ W d    n1 s0    Y  W d    n1 s
0    Y  W d    n1 s*0    Y  d S )Naddressloopr   backendc                 s   s   | ]}t t|V  qd S r1   r   r   r'   ir#   r#   r)   	<genexpr>K   r+   ztest_simple.<locals>.<genexpr>
   c                 S   s   g | ]}t |qS r#   r   rN   r#   r#   r)   r@   L   r+   ztest_simple.<locals>.<listcomp>c                 s   s   | ]}t t|d kV  qdS )   N)r   r9   rN   r#   r#   r)   rP   O   s   c                 s   s   | ]}t t|V  qd S r1   rM   rN   r#   r#   r)   rP   S   r+   c                 S   s   g | ]}t |qS r#   rR   rN   r#   r#   r)   r@   T   r+   )r   r   r   r
   rangepytestraisesr6   rJ   sabrD   seqr#   r#   r)   test_simpleG   s    
&r\   c                 C   s  t jtju sJ t \}\}}t|d | d}tdd t h}|j}t|t sZJ |j	|u shJ |j
dksvJ |dd ttdD  |j
d	ksJ W d    n1 s0    Y  W d    n1 s0    Y  W d    n1 s0    Y  W d    n1 s0    Y  d S )
NrH   rI   r   rK   r   c                 s   s   | ]}t d d  V  qdS )c                   S   s   d S r1   r#   r#   r#   r#   r)   r;   j   r+   z?test_dask_backend_uses_autobatching.<locals>.<genexpr>.<lambda>Nr   r'   _r#   r#   r)   rP   j   r+   z6test_dask_backend_uses_autobatching.<locals>.<genexpr>     @rQ   )r   Zcompute_batch_sizer   r   r   r   r
   _backend
isinstanceparallelZ_effective_batch_sizerT   int)rJ   rX   rY   rZ   rD   rc   rL   r#   r#   r)   #test_dask_backend_uses_autobatchingW   s    re   n_jobscontextc              	   C   sd   t jdddB |d td |  W d    n1 s80    Y  W d    n1 sV0    Y  d S Nr	   	n_workersthreads_per_workerr   )r   r   r   )rf   rh   r#   r#   r)   Atest_parallel_unordered_generator_returns_fastest_first_with_daskn   s    rm   	return_as	generatorZgenerator_unorderedc              	   C   sf   t jdddD | d td || W d    n1 s:0    Y  W d    n1 sX0    Y  d S ri   )r   r   r   )rh   rn   rf   r#   r#   r)   %test_deadlock_with_generator_and_dasku   s    rp   c              
   C   s   t jddd tjtdtjd}tdD ]\}| d t|d}W d    n1 sX0    Y  t|dksrJ t	dd	 |D s,J q,| d t }W d    n1 s0    Y  t|dksJ t	d
d	 |D sJ W d    n1 s0    Y  d S )Nr	   rj   g    cAZdtyper   data   c                 s   s   | ]\}}|d kV  qdS r   Nr#   r'   namer_   r#   r#   r)   rP      s   z4test_nested_parallelism_with_dask.<locals>.<genexpr>c                 s   s   | ]\}}|d kV  qdS ru   r#   rv   r#   r#   r)   rP      s   )
r   r   r   onesrd   uint8rT   r   rB   all)rh   rs   rO   Zbackend_types_and_levelsr#   r#   r)   !test_nested_parallelism_with_dask~   s    
(
$r{   c                   C   s   t  S r1   r   r#   r#   r#   r)   random2   s    r|   c              
   C   s   t  \}\}}t|d | db}tdd8 t dd tdD \}}||ksVJ W d    n1 sj0    Y  W d    n1 s0    Y  W d    n1 s0    Y  d S )NrH   rI   r   rK   c                 s   s   | ]}t t V  qd S r1   )r   r|   rN   r#   r#   r)   rP      r+   z3test_dont_assume_function_purity.<locals>.<genexpr>r	   r   r   r   r
   rT   )rJ   rX   rY   rZ   rD   xyr#   r#   r)    test_dont_assume_function_purity   s
    r   mixedFc              
   C   s$  ddl m} |s(dd tdD }d}ndd tdD }d}t|||ksRJ t \}\}}t|d	 | d
~}tdd  tddd|}	W d    n1 s0    Y  dd }
|dd}|	|
}t
dd |D sJ W d    n1 s0    Y  W d    n1 s0    Y  d S )Nr   )Batchc                 S   s   g | ]}t t|qS r#   rM   rN   r#   r#   r)   r@      r+   z&test_dask_funcname.<locals>.<listcomp>rt   Zbatch_of_inc_4_callsc                 S   s,   g | ]$}|d  rt t|n
t t|qS )r	   )r   absr   rN   r#   r#   r)   r@      r+   Zmixed_batch_of_inc_4_callsrH   rI   r   rK   r	   rz   )
batch_sizeZpre_dispatchc                 S   s
   t | jS r1   )rC   Ztransition_log)Zdask_schedulerr#   r#   r)   f   s    ztest_dask_funcname.<locals>.f42c                 s   s   | ]}d |d v V  qdS )Zbatch_of_incr   Nr#   )r'   tupr#   r#   r)   rP      r+   z%test_dask_funcname.<locals>.<genexpr>)Zjoblib._daskr   rT   reprr   r   r   r
   replaceZrun_on_schedulerrz   )rJ   r   r   tasksZ
batch_reprrX   rY   rZ   rD   r_   r   r:   r#   r#   r)   test_dask_funcname   s    .
r   c               	      s  dd t dD } tdtd d fdd	tdd	d
}t|}z*tdd( t fdd| D }W d    n1 s0    Y  | dd t dD ksJ t	d|}t
| dksJ tdd |D sJ tdd* t  fdd| D }W d    n1 s0    Y  t	d|}t
| dksHJ tdd |D s`J W |jdd |jdd n|jdd |jdd 0 d S )Nc                 S   s   g | ]}g qS r#   r#   r^   r#   r#   r)   r@      r+   z;test_no_undesired_distributed_cache_hit.<locals>.<listcomp>d   numpyg    .Ac                    s(   |d urj |  | t j | S r1   )ZtestingZassert_array_equalappendr   hex)list_rs   )Xr   r#   r)   isolated_operation   s    zCtest_no_undesired_distributed_cache_hit.<locals>.isolated_operationr   r	   rj   r   rK   c                 3   s   | ]}t  |V  qd S r1   r]   r'   r   )r   r#   r)   rP      r+   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>c                 S   s   g | ]}g qS r#   r#   r^   r#   r#   r)   r@      r+   receive-from-scatterr   c                 S   s   g | ]}t |d kqS r<   rB   r'   rr#   r#   r)   r@      r+   c                 3   s   | ]}t | d V  qdS )rr   Nr]   r   )r   r   r#   r)   rP      s   c                 S   s   g | ]}t |d kqS r<   r   r   r#   r#   r)   r@      r+      timeout)N)rT   rU   importorskipZarangerd   r   r   r   r
   rG   sumvaluesrz   close)listsr   rD   rescountsr#   )r   r   r   r)   'test_no_undesired_distributed_cache_hit   s0    
6
(
r   c                   @   s(   e Zd Zdd Zdd ZeZdd ZdS )CountSerializedc                 C   s   || _ d| _d S )Nr   )r~   count)selfr~   r#   r#   r)   __init__   s    zCountSerialized.__init__c                 C   s   | j t|d| S )Nr~   )r~   getattr)r   otherr#   r#   r)   __add__   s    zCountSerialized.__add__c                 C   s   |  j d7  _ t| jffS )Nr   )r   r   r~   )r   r#   r#   r)   
__reduce__   s    zCountSerialized.__reduce__N)__name__
__module____qualname__r   r   __radd__r   r#   r#   r#   r)   r      s   r   c                 C   s   | | | | | S r1   r#   )rY   rZ   cder#   r#   r)   add5  s    r   c                    s   dd t dD \}ttfddt dD }|ddddddg7 }d	d |D }t \}}t|d
 | d td|gd* tdd|}||ksJ W d    n1 s0    Y  tt	@ td| dd W d    n1 s 0    Y  W d    n1 s@0    Y  W d    n1 s`0    Y  W d    n1 s0    Y  |j
}j
|ksJ j
|ksJ j
}|fD ]}	d|	_
qt \}}t|d
 | d` t |fD ]}
 j|
ddt|
< q fdd|D }||ks>J W d    n1 sT0    Y  W d    n1 st0    Y  |j
}j
|ksJ j
|ksJ ||ksJ tdd tjdD }|dk rj
|d ksJ nj
|ksJ d S )Nc                 s   s   | ]}t |V  qd S r1   )r   rN   r#   r#   r)   rP     r+   z&test_manual_scatter.<locals>.<genexpr>rt   c              	      s   g | ]} d ddqS )rt      r   r   r#   r^   )r   r~   r   zr#   r)   r@     r+   z'test_manual_scatter.<locals>.<listcomp>rQ   r   r   c                 S   s    g | ]\}}}||i |qS r#   r#   r'   funcr2   r3   r#   r#   r)   r@     r+   rH   rI   r   )rL   scatterr   )r   )rL   rJ   r   r   T)	broadcastc              	      s`   g | ]X\}}} j |gfd d|D R i tfdd| D dtt i qS )c                 3   s   | ]}  t||V  qd S r1   r&   id)r'   arg	scatteredr#   r)   rP   :  r+   z1test_manual_scatter.<locals>.<listcomp>.<genexpr>c                 3   s&   | ]\}}|  t||fV  qd S r1   r   )r'   keyvaluer   r#   r)   rP   ;  s   r   )submitdictr,   strr   resultr   )rD   r   r#   r)   r@   7  s   
c                 s   s   | ]}t |V  qd S r1   )rd   )r'   r/   r#   r#   r)   rP   M  r+   .)i  rt   )rT   r   r   r   r   r   r
   rU   rV   	TypeErrorr   r   r   r   tupler   __version__split)rJ   rE   r   expectedrX   r_   Zresults_parallelZ%n_serialization_scatter_with_parallelZn_serialization_with_parallelvarobjZresults_nativeZn_serialization_scatter_nativeZdistributed_versionr#   )rD   r   r   r~   r   r   r)   test_manual_scatter  sP    
*

N
r   c           	   
      s  t d}|jtd|jd |jtd|jd} gd |gd  }t \}\}}t|d | d|}tdd( t d	d
 t	|D  W d    n1 s0    Y  t
d|}||d  ||d   dksJ W d    n1 s0    Y  W d    n1 s0    Y  t \}\}}t|d | d}tdd, t  fdd
tdD  W d    n1 sr0    Y  t
d|}||d  dksJ ||d  dksJ W d    n1 s0    Y  W d    n1 s0    Y  d S )Nr   r`   rq   rS   rH   rI   r   rK   c                 s   s&   | ]\}}t t||||d V  qdS ))optNr   r4   )r'   rO   rs   r#   r#   r)   rP   f  s   z$test_auto_scatter.<locals>.<genexpr>r   r	   c                 3   s$   | ]}t t d d |V  qd S )NrS   r   rN   Zdata1r#   r)   rP   s  r+   r   r   )rU   r   rx   rd   ry   r   r   r   r
   	enumeraterG   rT   )	loop_in_threadr   Zdata2Zdata_to_processrX   rY   rZ   rD   r   r#   r   r)   test_auto_scatter[  s&    

&
^<
r   retry_noc              
      s   t dd d}fdd fddt \}\}}t|d | db}td	d
8 dt fddt|D }W d    n1 s0    Y  W d    n1 s0    Y  W d    n1 s0    Y  d S )Nr   rQ   c                    s
     | S r1   )r   )r~   rO   j)r   r#   r)   my_sum  s    z#test_nested_scatter.<locals>.my_sumc                    sX   t  }tdd0 t  fddtD }W d    n1 sF0    Y  t|S )Nr   rK   c                 3   s&   | ]}t  |d  |V  qd S r1   r]   )r'   r   )arrayrO   r   r#   r)   rP     s   zEtest_nested_scatter.<locals>.outer_function_joblib.<locals>.<genexpr>)r   r   r
   rT   r   )r   rO   rD   results)NUM_INNER_TASKSr   )r   rO   r)   outer_function_joblib  s    &z2test_nested_scatter.<locals>.outer_function_joblibrH   rI   r   rK   i'  c                 3   s$   | ]}t  |d  |V  qd S r1   r]   rN   )my_arrayr   r#   r)   rP     s   z&test_nested_scatter.<locals>.<genexpr>)rU   r   r   r   r   rx   r
   rT   )rJ   r   ZNUM_OUTER_TASKSrX   rY   rZ   r_   r#   )r   r   r   r   r   r)   test_nested_scatter{  s    

r   c              
      sr  dd  t  L\}\}}t|d | dx}tddN tdd fd	d
tdD }|D ]}tt|dks\J q\W d    n1 s0    Y  W d    n1 s0    Y  t|d | dz}tddN tdd fdd
tdD }|D ]}tt|dksJ qW d    n1 s$0    Y  W d    n1 sD0    Y  W d    n1 sd0    Y  d S )Nc                  S   sH   t tdddd tdD } | t tdddd tdD O } | S )Nr	   rf   c                 s   s   | ]}t tj V  qd S r1   r   r$   getpidr^   r#   r#   r)   rP     r+   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>c                 s   s   | ]}t tj V  qd S r1   r   r^   r#   r#   r)   rP     r+   )setr
   rT   )Zpidsr#   r#   r)   get_nested_pids  s     $z<test_nested_backend_context_manager.<locals>.get_nested_pidsrH   rI   r   rK   r	   r   c                 3   s   | ]}t   V  qd S r1   r]   r^   r   r#   r)   rP     s   z6test_nested_backend_context_manager.<locals>.<genexpr>rQ   c                 3   s   | ]}t   V  qd S r1   r]   r^   r   r#   r)   rP     s   )r   r   r   r
   rT   rB   r   )r   rX   rY   rZ   rD   Z
pid_groupsZ	pid_groupr#   r   r)   #test_nested_backend_context_manager  s     Rr   c           	         s&  dd   fddt  \}\}}t|d | d}tdd t H} |d	ksZJ |jd
kshJ |fddtdD }W d    n1 s0    Y  |D ] \}}|d	ksJ |d
ksJ qW d    n1 s0    Y  W d    n1 s0    Y  W d    n1 s0    Y  d S )Nc                 S   s
   | j jjS r1   )ra   	__class__r   pr#   r#   r)   _backend_type  s    zJtest_nested_backend_context_manager_implicit_n_jobs.<locals>._backend_typec                     s8   t  }  | | jfW  d    S 1 s*0    Y  d S r1   )r
   rf   r   )r   r#   r)   get_nested_implicit_n_jobs  s    zWtest_nested_backend_context_manager_implicit_n_jobs.<locals>.get_nested_implicit_n_jobsrH   rI   r   rK   r   rg   c                 3   s   | ]}t   V  qd S r1   r]   r^   )r   r#   r)   rP     s   zFtest_nested_backend_context_manager_implicit_n_jobs.<locals>.<genexpr>r	   )r   r   r   r
   rf   rT   )	rJ   rX   rY   rZ   rD   r   Zall_nested_n_jobsZbackend_typeZnested_n_jobsr#   )r   r   r)   3test_nested_backend_context_manager_implicit_n_jobs  s    &r   c              	   C   sn   t t:}tdd W d    n1 s,0    Y  W d    n1 sJ0    Y  dt|j v sjJ d S )Nr   rK   zcreate a dask client)rU   rV   r6   r   r   r   lower)rJ   infor#   r#   r)   test_errors  s    <r   c              
   C   s&  t  \}\}}t|d | d}tddF tdddd td	D }t|d
 d
 d
 tsfJ W d    n1 sz0    Y  tddF tdddd td	D }t|d
 d
 d
 tsJ W d    n1 s0    Y  W d    n1 s0    Y  W d    n1 s0    Y  d S )NrH   rI   r   rK   r	   r   c                 s   s   | ]}t td dV  qd S )NZnested_requirer   outerr^   r#   r#   r)   rP     s   z.test_correct_nested_backend.<locals>.<genexpr>r   r   c                 s   s   | ]}t td dV  qdS )Z	sharedmemr   Nr   r^   r#   r#   r)   rP     s   )r   r   r   r
   rT   rb   r   r   )rJ   rX   rY   rZ   rD   r   r#   r#   r)   test_correct_nested_backend  s    8r   c                    s"   t ddd fddtdD S )Nr	   threads)rf   Zpreferc                 3   s   | ]}t t V  qd S r1   )r   middler^   r   r#   r)   rP     s   zouter.<locals>.<genexpr>r   r
   rT   r   r#   r   r)   r     s    r   c                 C   s   t d| ddd tdD S )Nr	   )rf   requirec                 s   s   | ]}t t V  qd S r1   )r   innerr^   r#   r#   r)   rP     r+   zmiddle.<locals>.<genexpr>r   r   )r   r#   r#   r)   r     s    r   c                   C   s   t  jS r1   )r
   ra   r#   r#   r#   r)   r     s    r   c              	   C   sx   t | dddV tdd, tdddd	 td
D  W d    n1 sL0    Y  W d    n1 sj0    Y  d S )NFT)rJ   	processesZset_as_defaultr   rK   rt   r   c                 s   s   | ]}t t|V  qd S r1   )r   r   rN   r#   r#   r)   rP     r+   z0test_secede_with_no_processes.<locals>.<genexpr>r	   )r   r   r
   rT   rI   r#   r#   r)   test_secede_with_no_processes  s    r   c                 C   s   ddl m} | jS )Nr   )
get_worker)r   r   rH   )r_   r   r#   r#   r)   _worker_address  s    r   c              
   C   s"  t  \}\}}t|d | d}td|d d> t dd tdD }||d gd ksdJ W d    n1 sx0    Y  td|d d> t dd tdD }||d gd ksJ W d    n1 s0    Y  W d    n1 s0    Y  W d    n1 s0    Y  d S )	NrH   rI   r   )rL   workersc                 s   s   | ]}t t|V  qd S r1   r   r   rN   r#   r#   r)   rP     r+   z-test_dask_backend_keywords.<locals>.<genexpr>rQ   c                 s   s   | ]}t t|V  qd S r1   r   rN   r#   r#   r)   rP     r+   r}   rW   r#   r#   r)   test_dask_backend_keywords  s    4r   c              	   C   s   t d| d}tdd( t dd tdD  W d    n1 sF0    Y  t }|jjjr|td t |d	 k sVJ qV|j	rJ W d    n1 s0    Y  d S )
NF)r   rJ   r   rK   c                 s   s   | ]}t t|V  qd S r1   rM   rN   r#   r#   r)   rP     r+   z/test_scheduler_tasks_cleanup.<locals>.<genexpr>rQ   g{Gz?r   )
r   r   r
   rT   r   r   Z	schedulerr   r   Zfutures)rJ   rD   startr#   r#   r)   test_scheduler_tasks_cleanup
  s    6
r   cluster_strategyadaptivelate_scalingz2.1.1z1.28.0z?distributed bug - https://github.com/dask/distributed/pull/2841)reasonc                 C   s   t dddd}t|}| dkr.|jddd n| dkr@|d zVtdd	( t d
d tdD  W d    n1 sz0    Y  W |  |  n|  |  0 d S )Nr   Fr	   rk   r   rl   r  )minimummaximumr  r   rK   c                 s   s   | ]}t t|V  qd S r1   rM   rN   r#   r#   r)   rP   +  r+   z(test_wait_for_workers.<locals>.<genexpr>rQ   )r   r   Zadaptscaler   r
   rT   r   )r   r   rD   r#   r#   r)   test_wait_for_workers  s    
8
r  c               	   C   s0  t dddd} t| }z tdddZ d}tjt|d	( t d
d tdD  W d    n1 sh0    Y  W d    n1 s0    Y  tdddZ d}tjt|d	( t dd tdD  W d    n1 s0    Y  W d    n1 s0    Y  W |	  | 	  n|	  | 	  0 d S )Nr   Fr	   r  r   g?)rL   Zwait_for_workers_timeoutz7DaskDistributedBackend has no worker after 0.1 seconds.)matchc                 s   s   | ]}t t|V  qd S r1   rM   rN   r#   r#   r)   rP   :  r+   z0test_wait_for_workers_timeout.<locals>.<genexpr>rQ   z+DaskDistributedBackend has no active workerc                 s   s   | ]}t t|V  qd S r1   rM   rN   r#   r#   r)   rP   @  r+   )
r   r   r   rU   rV   TimeoutErrorr
   rT   RuntimeErrorr   )r   rD   msgr#   r#   r)   test_wait_for_workers_timeout1  s    TV
r  rL   Zlokymultiprocessingc              	      s   t dd}t|}zr fdd}||}| }t|dksBJ |d j}t|tsZJ dt|v sjJ W |j	dd	 |j	dd	 n|j	dd	 |j	dd	 0 d S )
Nr	   )rk   c                     sN   t jdd.} td ddd tdD  W d    n1 s@0    Y  | S )NTrecordr	   )rf   rL   c                 s   s   | ]}t t|V  qd S r1   rM   rN   r#   r#   r)   rP   R  r+   zftest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallel.<locals>.<genexpr>rQ   )warningscatch_warningsr
   rT   r  rK   r#   r)   func_using_joblib_parallelL  s    <zStest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallelr   r   zdistributed.worker.daemonr   r   )
r   r   r   r   rB   messagerb   UserWarningr   r   )rL   r   rD   r  Zfutr  warningr#   rK   r)   /test_joblib_warning_inside_dask_daemonic_workerF  s    



r  )r5   )r   r   )P
__future__r   r   r   r$   r  r   r   r   uuidr   rU    r
   r   r   r   Z_daskr   rc   r   r   commonr   r   Ztest_parallelr   r   r   r   r   r   r   r   r   Zdistributed.metricsZdistributed.utils_testr   r   r   Zfixturer0   r4   r9   rG   r\   re   markZparametrizerm   rp   r{   r|   r   r   r   objectr   r   r   r   rC   rT   r   r   r   r   r   r   r   r   r   r   r   r   Zskipifr   r  r  r  r#   r#   r#   r)   <module>   s   





7
V 
