
    Cd

                    `    d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d Zd Zd Zd	 Zd
 ZdS )    )annotations)Callback)get_sync)get)addc                     dg G fddt                     }  |             5  t          ddid           d d d            n# 1 swxY w Y   d         du sJ d S )NFc                      e Zd Z fdZdS )'test_start_callback.<locals>.MyCallbackc                    dd<   d S NTr    )selfdskflags     9lib/python3.11/site-packages/dask/tests/test_callbacks.py_startz.test_start_callback.<locals>.MyCallback._start   s    DGGG    N)__name__
__module____qualname__r   r   s   r   
MyCallbackr
      s.        	 	 	 	 	 	 	r   r   x   r   Tr   r   r   r   s    @r   test_start_callbackr   	   s    7D      X    
    #q3                              7d??????   AA
Ac                     dg G fddt                     }  |             5  t          ddid           d d d            n# 1 swxY w Y   d         du sJ d S )NFc                      e Zd Z fdZdS )-test_start_state_callback.<locals>.MyCallbackc                d    dd<   |d         dk    sJ t          |d                   dk    sJ d S )NTr   r   r   cache)len)r   r   stater   s      r   _start_statez:test_start_state_callback.<locals>.MyCallback._start_state   s@    DGs8q====uW~&&!++++++r   N)r   r   r   r&   r   s   r   r   r!      s.        	, 	, 	, 	, 	, 	, 	,r   r   r   r   r   Tr   r   s    @r   test_start_state_callbackr'      s    7D, , , , , , ,X , , , 
    #q3                              7d??????r   c                    dg G fddt                     } dd fi}	  |             5  t          |d           d d d            n# 1 swxY w Y   n.# t          $ r!}t          |t                    sJ Y d }~nd }~ww xY wd         sJ dd<   	  |             5  t          |d           d d d            n# 1 swxY w Y   n.# t          $ r!}t          |t                    sJ Y d }~nd }~ww xY wd         sJ d }d|fi}dd<   	  |             5  t          |d           d d d            n# 1 swxY w Y   n.# t          $ r!}t          |t                    sJ Y d }~nd }~ww xY wd         sJ d S )NFc                      e Zd Z fdZdS )-test_finish_always_called.<locals>.MyCallbackc                    dd<   |sJ d S r   r   )r   r   r%   erroredr   s       r   _finishz5test_finish_always_called.<locals>.MyCallback._finish)   s    DGNNNNNr   N)r   r   r   r-   r   s   r   r   r*   (   s.        	 	 	 	 	 	 	r   r   r   c                     ddz  S )Nr   r   r   r   r   r   <lambda>z+test_finish_always_called.<locals>.<lambda>-   s
    Q r   r   c                     t                      N)KeyboardInterruptr   r   r   raise_keyboardz1test_finish_always_called.<locals>.raise_keyboardA   s    !!!r   )r   r   	Exception
isinstanceZeroDivisionErrorget_threadedBaseExceptionr2   )r   r   er3   r   s       @r   test_finish_always_calledr:   %   s   7D      X   
  
!C0Z\\ 	 	S#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 0 0 0!.//////////07NNN DG0Z\\ 	# 	#c"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 0 0 0!.//////////07NNN" " " !
"CDG0Z\\ 	 	S#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 0 0 0!.//////////07NNNNNs   
A AA AA AA 
A?A::A?
C B9-C 9B==C  B=C 
C0C++C0
D> D2&D> 2D66D> 9D6:D> >
E)E$$E)c                 l    G d dt                     }  |             t          ddft          ddfdfd} |             }|dft          d	dfd
}|5  t          |d           d d d            n# 1 swxY w Y   t           j        rJ |j        |k    sJ j        k    sJ t           j        rJ d S )Nc                      e Zd Zd Zd ZdS )*test_nested_schedulers.<locals>.MyCallbackc                    || _         d S r1   r   )r   r   s     r   r   z1test_nested_schedulers.<locals>.MyCallback._startP   s    DHHHr   c                    || j         v sJ d S r1   r?   )r   keyr   r%   s       r   _pretaskz3test_nested_schedulers.<locals>.MyCallback._pretaskS   s    $(??????r   N)r   r   r   r   rB   r   r   r   r   r=   O   s2        	 	 		# 	# 	# 	# 	#r   r   r      r      )r   yc                ~    t           j        rJ 5  t          d          | z   cd d d            S # 1 swxY w Y   d S )NrE   )r   activer7   )r   inner_callback	inner_dsks    r   nested_callz+test_nested_schedulers.<locals>.nested_callY   s    ?""" 	4 	4	3//!3	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   266a)rK   brL   )r   r   r7   rG   r   )r   rJ   outer_callback	outer_dskrH   rI   s       @@r   test_nested_schedulersrO   N   sN   # # # # #X # # #  Z\\NAqkc166I4 4 4 4 4 4
  Z\\N"A&c3];;I	 % %Y$$$% % % % % % % % % % % % % % % ********s   A33A7:A7c                     t           j        rJ t                      5  t           j        sJ 	 d d d            n# 1 swxY w Y   t           j        rJ d S r1   )r   rG   r   r   r   $test_add_remove_mutates_not_replacesrQ   j   s    	                 s   9= =N)
__future__r   dask.callbacksr   
dask.localr   dask.threadedr   r7   dask.utils_testr   r   r'   r:   rO   rQ   r   r   r   <module>rW      s    " " " " " " # # # # # #       - - - - - -      
 
 
  & & &R  8    r   