
     hTF                     \   d dl mZmZmZ d dl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mZmZmZ ddlmZmZ dd	lmZ  ej        d
          Z ej        d          Zd dlmZmZmZ d dlm
Z
 d dlmZmZ d Zd;dZ d Z!d Z"d Z#d Z$d Z%ej&        '                    dddg          d             Z(d Z) G d de*          Z+d<dZ,d Z-d  Z.ej&        '                    d! e/ e0d                              d"             Z1d# Z2d$ Z3d% Z4d& Z5d' Z6d( Z7d) Z8d* Z9d+ Z:d, Z;d- Z<ej&        '                    d.d/d0g          ej&        =                    ej>        d1k    o
ej>        d2k    d34          d5                         Z?d6 Z@ej&        '                    d7d8d9g          d:             ZAdS )=    )print_functiondivisionabsolute_importNrandom)uuid4)sleep   )Paralleldelayedparallel_backend)ThreadingBackendAutoBatchingMixin)DaskDistributedBackenddistributeddask)ClientLocalCluster
get_client)time)clusterincc                      d S N )argskwargss     Q/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/joblib/test/test_dask.pynoopr      s    D    皙?c                 F    t          |           | rt          d          d S )Nzcondition evaluated to True)r	   
ValueError)	conditiondurations     r   slow_raise_value_errorr&      s.    	(OOO 867778 8r    c                      |                     d           }i }|                                D ]0\  }}t           fdt          |          D                       ||<   1|S )Nc                     | j         S r   )log)dask_workers    r   <lambda>zcount_events.<locals>.<lambda>    s    ;? r    c                 ,    g | ]}|d          k    |S    r   ).0event
event_names     r   
<listcomp>z count_events.<locals>.<listcomp>#   s1     : : :"'(j"8"8  %"8"8"8r    )runitemslenlist)r1   clientworker_eventsevent_countsweventss   `     r   count_eventsr<      s    JJBBCCML"((** ; ;	6 : : : :$v,, : : : ; ;Qr    c           
         t                      5 \  }\  }}t          |d         |           5 }t          d          5 \  }} t                      d t	          d          D                       }|d t	          d          D             k    sJ t          j        t                    5   t                      d t	          d          D                        d d d            n# 1 swxY w Y    t                      d t	          d          D                       }|d	 t	          d          D             k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Naddressloopr   c              3   P   K   | ]!} t          t                    |          V  "d S r   r   r   r/   is     r   	<genexpr>ztest_simple.<locals>.<genexpr>,   0       D DQa D D D D D Dr    
   c                 ,    g | ]}t          |          S r   r   rC   s     r   r2   ztest_simple.<locals>.<listcomp>-       999!s1vv999r    c              3   X   K   | ]%} t          t                    |d k              V  &dS )   N)r   r&   rC   s     r   rE   ztest_simple.<locals>.<genexpr>0   sM       3 3#$  ?w'=>>qAvFF 3 3 3 3 3 3r    c              3   P   K   | ]!} t          t                    |          V  "d S r   rB   rC   s     r   rE   ztest_simple.<locals>.<genexpr>3   rF   r    c                 ,    g | ]}t          |          S r   rI   rC   s     r   r2   ztest_simple.<locals>.<listcomp>4   rJ   r    )r   r   r   r   rangepytestraisesr#   r@   sabr7   ba_seqs           r   test_simplerY   (   s   	 :kq&1aAiLt,,, 
	:!&)) 	:Wb! hjj D D%)) D D DDD99uRyy9999999]:.. 3 3HJJ 3 3(-b		3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 !hjj D D%)) D D DDD99uRyy99999999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	:: : : : : : : : : : : : : : : : : :s}   E6EA*E'/C"	E"C&&E)C&*AE;EEEEEE6E"	"E6%E"	&E66E:=E:c                 x   t           j        t          j        u sJ t                      5 \  }\  }}t	          |d         |           5 }t          d          5 \  }}t                      5 }|j        }t          |t                     sJ |j	        |u sJ |j
        dk    sJ  |d t          t          d                    D                        |j
        dk    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr>   r?   r   r.   c              3   F   K   | ]} t          d                        V  dS )c                      d S r   r   r   r    r   r+   z?test_dask_backend_uses_autobatching.<locals>.<genexpr>.<lambda>I   s     r    Nr   r/   rW   s     r   rE   z6test_dask_backend_uses_autobatching.<locals>.<genexpr>H   sH         .--//     r         @rG   )r   compute_batch_sizer   r   r   r   r   _backend
isinstanceparallel_effective_batch_sizerO   int)	r@   rS   rT   rU   r7   rV   rW   rc   backends	            r   #test_dask_backend_uses_autobatchingrg   7   s`   "5 34 4 4 4 
 >kq&1aAiLt,,, 	>!&)) >Wb!ZZ >8 '/G%g/EFFFFF"+x7777"8A==== H  !&s3xx      #82=====> > > > > > > > > > > > > > >> > > > > > > > > > > > > > >	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>> > > > > > > > > > > > > > > > > >s~   D/DD )A3C)	D )C--D 0C-1D 4D DDDDD/D	D/D	D//D36D3c                      t                      S r   r   r   r    r   random2ri   O   s    88Or    c           	         t                      5 \  }\  }}t          |d         |           5 }t          d          5 \  }} t                      d t	          d          D                       \  }}||k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr>   r?   r   c              3   N   K   | ] } t          t                                V  !d S r   )r   ri   rC   s     r   rE   z3test_dont_assume_function_purity.<locals>.<genexpr>W   s3      !G!G"2''"2"2"4"4!G!G!G!G!G!Gr    r
   r   r   r   r   rO   )	r@   rS   rT   rU   r7   rV   rW   xys	            r    test_dont_assume_function_purityro   S   s}   	 kq&1aAiLt,,, 	!&)) Wb!!xzz!G!GeAhh!G!G!GGG1Avvvvv              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 sW   B6B=B;BBBBBB6B"	"B6%B"	&B66B:=B:mixedTFc                    ddl m} |sd t          d          D             }d}nd t          d          D             }d}t           ||                    |k    sJ t	                      5 \  }\  }}t          |d         | 	          5 }t          d
          5 \  }	}
 t          dd          |          }
d d d            n# 1 swxY w Y   d }|                    dd          }|	                    |          }t          d |D                       sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   )Batchc                 H    g | ]} t          t                    |           S r   rB   rC   s     r   r2   z&test_dask_funcname.<locals>.<listcomp>_   s&    333Qa333r       batch_of_inc_4_callsc                     g | ]A}|d z  r t          t                    |          n t          t                    |          BS )r
   )r   absr   rC   s     r   r2   z&test_dask_funcname.<locals>.<listcomp>b   sN     
 
 
>?q1u9LGCLLOOO,'#,,q//
 
 
r    mixed_batch_of_inc_4_callsr>   r?   r   r
   all)
batch_sizepre_dispatchc                 *    t          | j                  S r   )r6   transition_log)dask_schedulers    r   fztest_dask_funcname.<locals>.fn   s    N9:::r    42c              3   *   K   | ]}d |d         v V  dS )batch_of_incr   Nr   )r/   tups     r   rE   z%test_dask_funcname.<locals>.<genexpr>r   s+      ??C~Q/??????r    )joblib._daskrr   rO   reprr   r   r   r   replacerun_on_schedulerry   )r@   rp   rr   tasks
batch_reprrS   rT   rU   r7   rV   rW   r   r)   s                r   test_dask_funcnamer   [   st   """""" 233%((333+


 
CH88
 
 
 2
e++++	 	@kq&1aAiLt,,, 	@!&)) FWb!>H>>>uEEF F F F F F F F F F F F F F F; ; ;#++C55J))!,,C??3?????????	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@s[   ,D=
D%C8D%CD%CAD%D=%D)	)D=,D)	-D==EEc                 N  	
 d t          d          D             }t          j        d          

                    t	          d                    d
fd		t          dd          }t          |          }	 t          d	          5 \  }} t                      	fd
|D                       }d d d            n# 1 swxY w Y   |d t          d          D             k    sJ t          d|          }t          |                                          dk    sJ t          d |D                       sJ t          d	          5 \  }} t                      	fd|D                       }d d d            n# 1 swxY w Y   t          d|          }t          |                                          dk    sJ t          d |D                       sJ 	 |                                  |j                     d S # |                                  |j                     w xY w)Nc                     g | ]}g S r   r   r^   s     r   r2   z;test_no_undesired_distributed_cache_hit.<locals>.<listcomp>   s    $$$AR$$$r    d   numpyg    .Ac                     |j                             |           |                     t                      j                   | S r   )testingassert_array_equalappendr   hex)list_dataXnps     r   isolated_operationzCtest_no_undesired_distributed_cache_hit.<locals>.isolated_operation   s>    J))$222UWW[!!!r    r.   r
   )	n_workersthreads_per_workerr   c              3   H   K   | ]} t                    |          V  d S r   r]   )r/   r   r   s     r   rE   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>   sH        7<+*++E22     r    c                     g | ]}g S r   r   r^   s     r   r2   z;test_no_undesired_distributed_cache_hit.<locals>.<listcomp>   s    000000r    receive-from-scatterr   c                 4    g | ]}t          |          d k    S r-   r5   r/   rs     r   r2   z;test_no_undesired_distributed_cache_hit.<locals>.<listcomp>   "    ---ACFFaK---r    c              3   L   K   | ]} t                    |           V  dS ))r   Nr]   )r/   r   r   r   s     r   rE   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>   sM        ?D+*++E:::     r    c                 4    g | ]}t          |          d k    S r-   r   r   s     r   r2   z;test_no_undesired_distributed_cache_hit.<locals>.<listcomp>   r   r    r   )rO   rP   importorskiparangere   r   r   r   r   r<   sumvaluesry   close)r@   listsr   r7   rV   rW   rescountsr   r   r   s           @@@r   'test_no_undesired_distributed_cache_hitr   u   s    %$s$$$E		W	%	%B
		#c((A       Q1===GG__Ff%% 	"a(**    @E    C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 00U3ZZ0000000
 4f==6==??##q((((-----.....f%% 	"a (**     HM    C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 4f==6==??##a''''-----...... 	sV   ;G? 
'B=1G? =CG? CBG? (E<0G? <F  G? F AG? ?%H$c                   $    e Zd Zd Zd ZeZd ZdS )CountSerializedc                 "    || _         d| _        d S )Nr   )rm   count)selfrm   s     r   __init__zCountSerialized.__init__   s    


r    c                 4    | j         t          |d|          z   S )Nrm   )rm   getattr)r   others     r   __add__zCountSerialized.__add__   s    vsE2222r    c                 @    | xj         dz  c_         t          | j        ffS )Nr.   )r   r   rm   )r   s    r   
__reduce__zCountSerialized.__reduce__   s     

a

$&++r    N)__name__
__module____qualname__r   r   __radd__r   r   r    r   r   r      sH          3 3 3 H, , , , ,r    r   c                     | |z   |z   |z   |z   S r   r   )rT   rU   cdes        r   add5r      s    q519q=1r    c                 n   t          d          }t          d          }t          d          }t                      5 \  }\  }}t          |d         |           5 }t          d||g          5 \  }}	t	          t
                    }
 |
|||dd	
           |
|||d	d
           |
||||d	
           |
|||||
          g}d |D             } t                      |          }d d d            n# 1 swxY w Y   t          j        t                    5  t          d| d          5  	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   ||k    sJ |j
        dk    sJ |j
        dk    sJ |j
        dv sJ d S )Nr.   r
   rL   r>   r?   r   )scatterrt      )r   r   c                 &    g | ]\  }}} ||i |S r   r   )r/   funcr   r   s       r   r2   z'test_manual_scatter.<locals>.<listcomp>   s=     = = = 2dF !D$1&11 = = =r    )r@   r   )rt      )r   r   r   r   r   r   r   rP   rQ   	TypeErrorr   )r@   rm   rn   zrS   rT   rU   r7   rV   rW   r   r   expectedresultss                 r   test_manual_scatterr      s(   AAA	 kq&1aAiLt,,, 	!&1a&999 ,Wb!DMM1aa1---1aa1---1aa1---1aa1---/= =6;= = =$(**U++, , , , , , , , , , , , , , , y))  %f4CCC                              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	              " h 7a<<<<7a<<<<
 7fs   E=E&.A9C3'E&3C77E&:C7;E&E*D8	,E8D<<E?D< EE&EE&EE&E=&E*	*E=-E*	.E==FFc           	         t          j        d          }|                    t          d          |j                  |                    t          d          |j                  }gdz  |gdz  z   }t                      5 \  }\  }}t          |d         |           5 }t          d          5 \  }}	 t                      d t          |          D                        d d d            n# 1 swxY w Y   t          d	|          }
|
|d                  |
|d                  z   d
k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t                      5 \  }\  }}t          |d         |           5 }t          d          5 \  }}	 t                      fdt          d          D                        d d d            n# 1 swxY w Y   t          d	|          }
|
|d                  dk    sJ |
|d                  dk    sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r_   )dtyperL   r>   r?   r   c              3   ^   K   | ](\  }} t          t                    ||||           V  )dS ))optNr   r   )r/   rD   r   s      r   rE   z$test_auto_scatter.<locals>.<genexpr>   s[       F F&q$ )74==tQDAAA F F F F F Fr    r   r
   c              3   d   K   | ]*} t          t                    d d         |          V  +d S )NrL   r   )r/   rD   data1s     r   rE   z$test_auto_scatter.<locals>.<genexpr>   s=      II1=74==rrA66IIIIIIr    r   r   )rP   r   onesre   uint8r   r   r   r   	enumerater<   rO   )loop_in_threadr   data2data_to_processrS   rT   rU   r7   rV   rW   r   r   s              @r   test_auto_scatterr      s   		W	%	%BGGCHHBHG--EGGCHHBHG--Ew{w{3O	 Dkq&1aAiL~666 
	D&!&)) FWb! 

 F F*3O*D*DF F F F F FF F F F F F F F F F F F F F F ""8&AAF!I,'&9*>>!CCCCC
	D 
	D 
	D 
	D 
	D 
	D 
	D 
	D 
	D 
	D 
	D 
	D 
	D 
	D 
	DD D D D D D D D D D D D D D D 
 -kq&1aAiL~666 	-&!&)) JWb!

IIIIaIIIIIIJ J J J J J J J J J J J J J J ""8&AAF!I,'1,,,,!I,'1,,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-- - - - - - - - - - - - - - - - - -s   E!D:12C/#D:/C33D:6C376D:.E:D>	>ED>	EEE*I H(4GH(GH(G ;H(I (H,	,I /H,	0I  IIretry_noc           	        	
 t          j        d          
dd}
fd		fdt                      5 \  }\  }}t          |d         |           5 }t	          d          5  
                    d           t                      fd	t          |          D                       }d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nr   rG   c                 .                         |           S r   )r   )rm   rD   jr   s      r   my_sumz#test_nested_scatter.<locals>.my_sum  s    vvayyr    c                      t                      }t          d          5   t                       fdt                    D                       }d d d            n# 1 swxY w Y   t	          |          S )Nr   c              3   \   K   | ]&} t                    |d          |          V  'd S r   r]   )r/   r   arrayrD   r   s     r   rE   zEtest_nested_scatter.<locals>.outer_function_joblib.<locals>.<genexpr>  sP       ! !56abb	1a00! ! ! ! ! !r    )r   r   r   rO   r   )r   rD   r7   r   NUM_INNER_TASKSr   s   ``  r   outer_function_joblibz2test_nested_scatter.<locals>.outer_function_joblib  s    f%% 	 	 hjj ! ! ! ! ! !:?#;% ;%! ! !  G	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 7||s   3A  A$'A$r>   r?   r   i'  c              3   Z   K   | ]%} t                    |d          |          V  &d S r   r]   )r/   rD   my_arrayr   s     r   rE   z&test_nested_scatter.<locals>.<genexpr>  sY        -. 3G122 a) )     r    )rP   r   r   r   r   r   r   rO   )r@   r   NUM_OUTER_TASKSrS   rT   rU   rW   r   r   r   r   r   s          @@@@@r   test_nested_scatterr     s    
	W	%	%BOO          
 kq&1aAiLt,,, 	!&))  775>>HJJ     272H2H                  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 sZ   C'C%AB8,C8B<<C?B< CC'C	C'C	C''C+.C+c           	      4  	 d 	t                      5 \  }\  }}t          |d         |           5 }t          d          5 \  }} t          d          	fdt	          d          D                       }|D ]$}t          t          |                    dk    sJ %	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          |d         |           5 }t          d          5 \  }} t          d          	fd	t	          d          D                       }|D ]$}t          t          |                    dk    sJ %	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nc            	          t           t          d          d t          d          D                                 } | t           t          d          d t          d          D                                 z  } | S )Nr
   n_jobsc              3   X   K   | ]%} t          t          j                              V  &d S r   r   osgetpidr^   s     r   rE   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>$  s5      %M%Mq&8gbi&8&8&:&:%M%M%M%M%M%Mr    c              3   X   K   | ]%} t          t          j                              V  &d S r   r   r^   s     r   rE   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>%  s5      &N&N'9wry'9'9';';&N&N&N&N&N&Nr    )setr   rO   )pidss    r   get_nested_pidsz<test_nested_backend_context_manager.<locals>.get_nested_pids#  s|    %81%%%%M%ME!HH%M%M%MMMNN&HA&&&&N&NU1XX&N&N&NNNOOOr    r>   r?   r   r
   r   c              3   F   K   | ]} t                                V  d S r   r]   r/   rW   r   s     r   rE   z6test_nested_backend_context_manager.<locals>.<genexpr>+  G       0 0 -GO,,..0 0 0 0 0 0r    rG   c              3   F   K   | ]} t                                V  d S r   r]   r   s     r   rE   z6test_nested_backend_context_manager.<locals>.<genexpr>5  r   r    )r   r   r   r   rO   r5   r   )
r   rS   rT   rU   r7   rV   rW   
pid_groups	pid_groupr   s
            @r   #test_nested_backend_context_managerr   "  s#     
 
 4kq&1aAiL~666 	4&!&)) 4Wb!/XQ/// 0 0 0 0"2YY0 0 0  
 ", 4 4Is9~~..!3333344 4 4 4 4 4 4 4 4 4 4 4 4 4 4	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 AiL~666 	4&!&)) 4Wb!/XQ/// 0 0 0 0"2YY0 0 0  
 ", 4 4Is9~~..!3333344 4 4 4 4 4 4 4 4 4 4 4 4 4 4	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   FCAB+C+B//C2B/3C6FC	F	C	
F$E54AEE5E""E5%E"&E5)F5E9	9F<E9	=FFFc           
      (   d fdt                      5 \  }\  }}t          |d         |           5 }t          d          5 \  }}t                      5 } |          dk    sJ |j        dk    sJ  |fdt          d	          D                       }d d d            n# 1 swxY w Y   |D ]\  }	}
|	dk    sJ |
dk    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nc                 $    | j         j        j        S r   )ra   	__class__r   )ps    r   _backend_typezJtest_nested_backend_context_manager_implicit_n_jobs.<locals>._backend_typeA  s    z#,,r    c                  x    t                      5 }  |           | j        fcd d d            S # 1 swxY w Y   d S r   )r   r   )r  r  s    r   get_nested_implicit_n_jobszWtest_nested_backend_context_manager_implicit_n_jobs.<locals>.get_nested_implicit_n_jobsD  s    ZZ 	.1 =##QX-	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   /33r>   r?   r   r   c              3   F   K   | ]} t                                V  d S r   r]   )r/   rW   r  s     r   rE   zFtest_nested_backend_context_manager_implicit_n_jobs.<locals>.<genexpr>N  sH       * * < :;;==* * * * * *r    r
   )r   r   r   r   r   rO   )r@   rS   rT   rU   r7   rV   rW   r  all_nested_n_jobsbackend_typenested_n_jobsr  r  s              @@r   3test_nested_backend_context_manager_implicit_n_jobsr
  =  su   - - -. . . . . 
 /kq&1aAiLt,,, 	/!&)) 
/Wb!ZZ 1(=++/GGGGG8r>>>>() * * * *!&q* * * ) )%               4E / //L-'+CCCCC(B...../
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/ 
/	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	// / / / / / / / / / / / / / / / / /s}   DC/CAB(	C(B,,C/B,0CC/CC/C C/#D/C3	3D6C3	7DDDc                    t          j        t                    5 }t          d          5  	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   dt	          |j                                                  v sJ d S )Nr   zcreate a dask client)rP   rQ   r#   r   strvaluelower)r@   infos     r   test_errorsr  W  s    	z	"	" df%% 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	               "S__%:%:%<%<<<<<<<s-   A8A<	A<	 AAAc           	         t                      5 \  }\  }}t          |d         |           5 }t          d          5 \  }} t          d          d t	          d          D                       }t          |d         d         d         t                    sJ 	 d d d            n# 1 swxY w Y   t          d          5 \  }} t          d          d	 t	          d          D                       }t          |d         d         d         t                    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nr>   r?   r   r
   r   c              3   R   K   | ]"} t          t                    d           V  #d S )Nnested_requirer   outerr^   s     r   rE   z.test_correct_nested_backend.<locals>.<genexpr>d  sN       ,K ,K<=NGENN$777,K ,K ,K ,K ,K ,Kr    r.   r   c              3   R   K   | ]"} t          t                    d           V  #dS )	sharedmemr  Nr  r^   s     r   rE   z.test_correct_nested_backend.<locals>.<genexpr>j  sI       ,' ,' #GENN+>>>,' ,' ,' ,' ,' ,'r    )r   r   r   r   rO   rb   r   r   )r@   rS   rT   rU   r7   rV   rW   results           r   test_correct_nested_backendr  _  s   	 Ekq&1aAiLt,,, 	E!&)) KWb!++++ ,K ,KAFq,K ,K ,K K K!&)A,q/3IJJJJJJK K K K K K K K K K K K K K K "&)) EWb!++++ ,' ,'"1XX,' ,' ,' ' ' "&)A,q/3CDDDDDD	E E E E E E E E E E E E E E E	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	EE E E E E E E E E E E E E E E E E Es}   EEAB'E'B++E.B+/EAD+E+D//E2D/3E6EE	E	E	
EE!Ec                 j      t          dd           fdt          d          D                       S )Nr
   threads)r   preferc              3   R   K   | ]!} t          t                              V  "d S r   )r   middle)r/   rW   r  s     r   rE   zouter.<locals>.<genexpr>q  sD       0 0,-''0 0 0 0 0 0r    r.   r   rO   r  s   `r   r  r  p  sP    /81Y/// 0 0 0 016q0 0 0   r    c                 d     t          d|           d t          d          D                       S )Nr
   )r   requirec              3   N   K   | ] } t          t                                V  !d S r   )r   innerr^   s     r   rE   zmiddle.<locals>.<genexpr>w  sA       / // / / / / /r    r.   r   )r"  s    r   r  r  v  sE    .81g... / /"'((/ / /   r    c                  (    t                      j        S r   )r   ra   r   r    r   r$  r$  |  s    ::r    c                 
   t          | dd          5  t          d          5   t          d          d t          d          D                        d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )	NFT)r@   	processesset_as_defaultr   rt   r   c              3   P   K   | ]!} t          t                    |          V  "d S r   )r   idrC   s     r   rE   z0test_secede_with_no_processes.<locals>.<genexpr>  s0      @@!{wr{{1~~@@@@@@r    r
   )r   r   r   rO   r?   s    r   test_secede_with_no_processesr+    s3   	TU4	@	@	@ A Af%% 	A 	AHA@@uQxx@@@@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	AA A A A A A A A A A A A A A A A A As4   A81A A8 A$	$A8'A$	(A88A<?A<c                 ,    ddl m}  |            j        S )Nr   )
get_worker)r   r-  r>   )rW   r-  s     r   _worker_addressr.    s#    &&&&&&:<<r    c           	         t                      5 \  }\  }}t          |d         |           5 }t          d|d                   5 \  }} t                      d t	          d          D                       }||d         gdz  k    sJ 	 d d d            n# 1 swxY w Y   t          d|d                   5 \  }} t                      d t	          d          D                       }||d         gdz  k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr>   r?   r   )workersc              3   P   K   | ]!} t          t                    |          V  "d S r   r   r.  rC   s     r   rE   z-test_dask_backend_keywords.<locals>.<genexpr>  N       !D !D45,GO,,Q//!D !D !D !D !D !Dr    rG   c              3   P   K   | ]!} t          t                    |          V  "d S r   r2  rC   s     r   rE   z-test_dask_backend_keywords.<locals>.<genexpr>  r3  r    rl   rR   s           r   test_dask_backend_keywordsr5    st   	 
2kq&1aAiLt,,, 		2!&!I,??? 27B hjj !D !D9>r!D !D !D D Dq|nr1111112 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 "&!I,??? 27B hjj !D !D9>r!D !D !D D Dq|nr1111112 2 2 2 2 2 2 2 2 2 2 2 2 2 2		2 		2 		2 		2 		2 		2 		2 		2 		2 		2 		2 		2 		2 		2 		2
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2s~   D8D AB
D BD BD 8AD	=D 	DD DD D8 D$	$D8'D$	(D88D<?D<c                    t          d|           5 }t          d          5   t                      d t          d          D                        d d d            n# 1 swxY w Y   t	                      }|j        j        j        r7t          d           t	                      |dz   k     sJ |j        j        j        7|j	        rJ 	 d d d            d S # 1 swxY w Y   d S )NF)r'  r@   r   c              3   P   K   | ]!} t          t                    |          V  "d S r   rB   rC   s     r   rE   ztest_cleanup.<locals>.<genexpr>  0      ::1|ws||A::::::r    rG   g{Gz?r   )
r   r   r   rO   r   r   	schedulerr   r	   futures)r@   r7   starts      r   test_cleanupr<    sf   	%d	+	+	+ 	"vf%% 	; 	;HJJ::b		::::::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; n&, 	&$KKK66EAI%%%% n&, 	& >!!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s5   C/ACA!	!C$A!	%A"CCCcluster_strategyadaptivelate_scalingz2.1.1z1.28.0z?distributed bug - https://github.com/dask/distributed/pull/2841)reasonc                    t          ddd          }t          |          }| dk    r |j        dd           n| dk    r |j        d           	 t	          d          5   t                      d	 t          d
          D                        d d d            n# 1 swxY w Y   |                                  |j                     d S # |                                  |j                     w xY w)Nr   Fr
   r   r'  r   r>  )minimummaximumr?  r   c              3   P   K   | ]!} t          t                    |          V  "d S r   rB   rC   s     r   rE   z(test_wait_for_workers.<locals>.<genexpr>  r8  r    rG   )r   r   adaptscaler   r   rO   r   )r=  r   r7   s      r   test_wait_for_workersrH    s<   
 Q%ANNNGG__F:%%a+++++	^	+	+
 	af%% 	; 	; HJJ::b		::::::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;
 	 	s0   C !/BC B  C #B $C %C1c                     t          ddd          } t          |           }	 t          dd          5  d}t          j        t
          |	          5   t                      d
 t          d          D                        d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          dd          5  d}t          j        t          |	          5   t                      d t          d          D                        d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |	                                  | j	                     d S # |	                                  | j	                     w xY w)Nr   Fr
   rB  r   g?)wait_for_workers_timeoutz7DaskDistributedBackend has no worker after 0.1 seconds.)matchc              3   P   K   | ]!} t          t                    |          V  "d S r   rB   rC   s     r   rE   z0test_wait_for_workers_timeout.<locals>.<genexpr>  0      >>q<73<<??>>>>>>r    rG   z+DaskDistributedBackend has no active workerc              3   P   K   | ]!} t          t                    |          V  "d S r   rB   rC   s     r   rE   z0test_wait_for_workers_timeout.<locals>.<genexpr>  rM  r    )
r   r   r   rP   rQ   TimeoutErrorr   rO   RuntimeErrorr   )r   r7   msgs      r   test_wait_for_workers_timeoutrR    sj   Q%ANNNGG__FfsCCC 	? 	?KC|3777 ? ?

>>E"II>>>>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? fqAAA 	? 	??C|3777 ? ?

>>E"II>>>>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	 	s   E  B$/BB$B	B$B	B$E  $B((E  +B(,E   D0/DD0D	D0 D	!D0$E  0D44E  7D48E   %Frf   lokymultiprocessingc                 :    t          d          }t          |          } fd}|                    |          }|                                }t	          |          dk    sJ |d         j        }t          |t                    sJ dt          |          v sJ d S )Nr
   )r   c                      t          j        d          5 }  t          d          d t          d          D                        d d d            n# 1 swxY w Y   | S )NT)recordr
   )r   rf   c              3   P   K   | ]!} t          t                    |          V  "d S r   rB   rC   s     r   rE   zftest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallel.<locals>.<genexpr>  sA       04 04$%Q04 04 04 04 04 04r    rG   )warningscatch_warningsr   rO   )rW  rf   s    r   func_using_joblib_parallelzStest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallel  s    
 $D111 	4V/HAw/// 04 04).r04 04 04 4 4 4	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 s   2AAAr.   r   zdistributed.worker.daemon)	r   r   submitr  r5   messagerb   UserWarningr  )rf   r   r7   r[  futrW  warnings   `      r   /test_joblib_warning_inside_dask_daemonic_workerra    s    Q'''GG__F	 	 	 	 	 --2
3
3CZZ\\Fv;;!QiGg{+++++&#g,,666666r    )r!   )r   r   )B
__future__r   r   r   r   rY  rP   r   uuidr   r   r	    r   r   r   rc   r   r   _daskr   r   r   r   r   r   r   distributed.metricsdistributed.utils_testr   r   r   r&   r<   rY   rg   ri   ro   markparametrizer   r   objectr   r   r   r   r6   rO   r   r   r
  r  r  r  r  r$  r+  r.  r5  r<  skipif__version__rH  rR  ra  r   r    r   <module>rm     s   @ @ @ @ @ @ @ @ @ @ 				                     2 2 2 2 2 2 2 2 2 2 : : : : : : : : * * * * * *!f!-00v6"" 8 8 8 8 8 8 8 8 8 8 $ $ $ $ $ $ / / / / / / / /	 	 	8 8 8 8  : : :> > >0     4-00@ @ 10@26 6 6r, , , , ,f , , ,     J- - -< TT%%((^^44  54:4 4 46/ / /4= = =E E E"      A A A     
2 2 2
" 
" 
" +j.-IJJw&N;+Bh+NL  N N N N KJ*  * V->$?@@7 7 A@7 7 7r    