
    bi

                    f    d dl m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 d Zd Zd	 Zd
 Zd Zy)    )annotationsN)Callback)get_sync)get)addc                     dg G fddt               }  |        5  t        ddid       d d d        d   du sJ y # 1 sw Y   xY w)NFc                      e Zd Z fdZy)'test_start_callback.<locals>.MyCallbackc                    dd<   y NTr    )selfdskflags     T/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/tests/test_callbacks.py_startz.test_start_callback.<locals>.MyCallback._start   s    DG    N)__name__
__module____qualname__r   r   s   r   
MyCallbackr
      s    	r   r   x   r   Tr   r   r   r   s    @r   test_start_callbackr      sR    7DX  
  #q3  7d??   	   >Ac                     dg G fddt               }  |        5  t        ddid       d d d        d   du sJ y # 1 sw Y   xY w)NFc                      e Zd Z fdZy)-test_start_state_callback.<locals>.MyCallbackc                T    dd<    |d          dk(  sJ t        |d         dk(  sJ y )NTr   r   r   cache)len)r   r   stater   s      r   _start_statez:test_start_state_callback.<locals>.MyCallback._start_state   s7    DG3s8:?"?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'      sR    7D,X , 
  #q3  7d??   r   c                 x   dg G fddt               } dd fi}	  |        5  t        |d       d d d        d   sJ dd<   	  |        5  t        |d       d d d        d   sJ d }d|fi}dd<   t        j                  t              5   |        5  t        |d       d d d        d d d        d   sJ y # 1 sw Y   xY w# t        $ r}t        |t              sJ Y d }~d }~ww xY w# 1 sw Y   xY w# t        $ r}t        |t              sJ Y d }~d }~ww xY w# 1 sw Y   xY w# 1 sw Y   xY w)NFc                      e Zd Z fdZy)-test_finish_always_called.<locals>.MyCallbackc                    dd<   |sJ y r   r   )r   r   r%   erroredr   s       r   _finishz5test_finish_always_called.<locals>.MyCallback._finish+   s    DGN7r   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_keyboardC   s    !!r   )	r   r   	Exception
isinstanceZeroDivisionErrorget_threadedpytestraisesr2   )r   r   er3   r   s       @r   test_finish_always_calledr;   '   sL   7DX 
  
!C0\ 	S#	 7N7 DG0\ 	#c"	# 7N7" !
"CDG	(	) \ 	S#	 7N71	 	 0!.///0	# 	# 0!.///0	 	 s   C B<C C< C0C< D0D$$D0<CC 	C-C((C-0C95C< <	D!DD!$D-	)D00D9c                     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        t         j                  rJ |j                  j                         |j                         k(  sJ j                  j                         j                         k(  sJ t         j                  rJ y # 1 sw Y   xY w)Nc                      e Zd Zd Zd Zy)*test_nested_schedulers.<locals>.MyCallbackc                    || _         y r1   r   )r   r   s     r   r   z1test_nested_schedulers.<locals>.MyCallback._startP   s	    DHr   c                $    || j                   v sJ y r1   r@   )r   keyr   r%   s       r   _pretaskz3test_nested_schedulers.<locals>.MyCallback._pretaskS   s    $((?"?r   N)r   r   r   r   rC   r   r   r   r   r>   O   s    		#r   r   r      r      )r   yc                v    t         j                  rJ 5  t        d      | z   cd d d        S # 1 sw Y   y xY w)NrF   )r   activer7   )r   inner_callback	inner_dsks    r   nested_callz+test_nested_schedulers.<locals>.nested_callY   s7    ??"" 	4	3/!3	4 	4 	4s   /8a)rL   brM   )r   r   r7   rH   r   keys)r   rK   outer_callback	outer_dskrI   rJ   s       @@r   test_nested_schedulersrQ   N   s    #X #  \NAqkc16I4
  \N"A&c3];I	 %Y$% ""$	(8888""$	(8888% %s   	CC&c                     t         j                  rJ t               5  t         j                  sJ 	 d d d        t         j                  rJ y # 1 sw Y   xY wr1   )r   rH   r   r   r   $test_add_remove_mutates_not_replacesrS   j   sF    	   s   AA)
__future__r   r8   dask.callbacksr   
dask.localr   dask.threadedr   r7   dask.utils_testr   r   r'   r;   rQ   rS   r   r   r   <module>rY      s1    "  #  - 
$N8r   