
    bi]                       d dl mZ d dlmZ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 dlmZ d	d
eddfeddfeddfdZddZd Zd Zd Zej,                  j/                  deeg      d        Zd Zd Zd Zd Zd Zd Zy)    )annotations)addmulN)Callback)ProgressBar)format_time)get_sync)get      abcd)r   r   r   r   ec                    | j                         \  }}|j                  d      dk(  sJ d |j                  d      d   j                  d      D        \  }}}|dd|z  z   d	z   k(  sJ |dk(  sJ y )
Nz100% Completedr   c              3  <   K   | ]  }|j                           y w)N)strip).0is     _/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/diagnostics/tests/test_progress.py	<genexpr>z&check_bar_completed.<locals>.<genexpr>   s     L!'')Ls   |[#])
readouterrcountsplit)capsyswidthouterrbarpercenttimes          r   check_bar_completedr)      s      "HC99%&!+++LSYYt_R-@-F-Fs-KLC$#e#c))))&&&&    c                   t        j                  d       t        j                  d      }|j                  ddd      }t               5  |j	                         j                         }d d d        dk(  sJ t        |        y # 1 sw Y   xY w)Nnumpyz
dask.array)d   r-   f4)dtypechunks'  )pytestimportorskiponesr   sumcomputer)   )r"   dadatar$   s       r   test_array_computer9      sv    
 			\	*B77:T*7=D	 #hhj  "#%<<# #s   	BBc                    t               5  t        t        d      }d d d        dk(  sJ t        |        t        d      5  t        t        d      }d d d        t        | d       y # 1 sw Y   MxY w# 1 sw Y   "xY w)Nr         )r#   )r   get_threadeddskr)   )r"   r$   s     r   test_progressbarr?   #   sn    	 %3$%!8O8	2	 %3$%#% %% %s   A(A4(A14A=c                    t        d      5  t        t        d      }d d d        | j                         \  }}|dk(  r|dk(  sJ y # 1 sw Y   )xY w)Ng      $@r    )r   r=   r>   r   )r"   r$   r%   s      r   test_minimum_timerB   -   sR    	T	 %3$%  "HC"9""% %s   AAr
   c                    dd fi}	 t               5 }t        |d       d d d        j                  rJ |j                  j                         rJ y # 1 sw Y   4xY w# t        $ r Y Bw xY w)Nr   c                     ddz  S )Nr   r    rE   r*   r   <lambda>z!test_clean_exit.<locals>.<lambda>6   s
    Q r*   )r   r=   ZeroDivisionError_running_timeris_alive)r
   r>   pbars      r   test_clean_exitrL   4   ss     
!C] 	#dc"	# }}{{##%%%%	# 	# s'   
A AA AA 	A*)A*c                 &   t        j                  t        d      5 } t        d      dk(  sJ t        d      dk(  sJ t        d      dk(  sJ t        d	      d
k(  sJ t        d      dk(  sJ 	 d d d        t	               dk(  sJ y # 1 sw Y   xY w)Nzdask.utils.format_time)matchgffffff?z 1.4sg$@z10.4sgY@z 1min 40.4sg33333C@z16min 40.4sg33333@z 2hr 46min 40.4s   )r2   warnsFutureWarningr   len)records    r   test_format_timerT   @   s    	m+C	D :37***4 G+++5!]2226"m3337#'9999: v;!: :s   ABBc                   	 t         j                  rJ t               }|j                          t         j                  sJ t	        t
        d       t        |        |j                          t         j                  rJ 	 t         j                  j                          y # t         j                  j                          w xY w)Nr   )	r   activer   registerr=   r>   r)   
unregisterclear)r"   ps     r   test_registerr[   K   s{     ??""M	

S#F#	??""?s   A;B  B=c                t    t               5  t        ddid       d d d        t        |        y # 1 sw Y   xY wNxr   )r   r=   r)   )r"   s    r   test_no_tasksr_   ]   s2    	 $c1Xs#$$ $s   .7c                   t        j                  d      }ddlm} |j                  d      } ||      }|5  t	               5  t        dt        ddfid      dk(  sJ 	 d d d        d d d        t        |        |j                  d   dk(  sJ |5  t	               5  t        t        ddft        ddfd	d
      dk(  sJ 	 d d d        d d d        t        |        y # 1 sw Y   }xY w# 1 sw Y   xY w# 1 sw Y   5xY w# 1 sw Y   9xY w)Ncacheyr   )Cacher1   r^   r   r      )r^   yrd   r;   )	r2   r3   
dask.cacherb   r   r=   r   r)   r8   )r"   ra   rb   r   ccs        r   test_with_cacherg   c   s	     *F UA	qB	 >] 	>sAqk 2C8A===	>> 66#;!	 R] 	RsAqkc1 FLPQQQQ	RR 	> 	>> >	R 	RR RsG   C&CC&C>#C2>C>C#	C&&C/2C;	7C>>Dc                    ddt         ddft         ddfdt        ddfd}t               5  t        |d	       d d d        t	        |        y # 1 sw Y   xY w)
Nr   r   r   r   r   r   r   )r   r   r   r   r   fri   )r   r   r   r=   r)   )r"   r>   s     r   test_with_aliasrj   v   s[    3_1a[3_C 
 S# s   A

Ac                     t               } | 5  t        ddid       d d d        t        | j                  t              sJ y # 1 sw Y   &xY wr]   )r   r=   
isinstancelast_durationfloat)rZ   s    r   test_store_timero      sE    A	
 $c1Xs#$ aoou---$ $s   AA
)(   )
__future__r   operatorr   r   r2   dask.callbacksr   dask.diagnosticsr   dask.diagnostics.progressr   
dask.localr	   dask.threadedr
   r=   r>   r)   r9   r?   rB   markparametrizerL   rT   r[   r_   rg   rj   ro   rE   r*   r   <module>rz      s    "   # ( 1  -AS#sO3S/cSVX' $# x 89& :& $  & .r*   