
    CdE                    `   d dl mZ d dl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
Z
d dlZd dlZd dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d Z d Z!d	 Z"d
 Z#d Z$d Z%d Z&e	d             Z'e
j(        )                    ej*        dk    d          e
j(        +                    dddg          d                         Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3d Z4d Z5d Z6d  Z7e
j(        +                    d!d"d#g          d$             Z8d% Z9d& Z:d' Z;e
j(        +                    d(d)d*d+d,d-gd,d.gfd/d,d-hd,d.hfd0d-id0d.ifd1g d2d3d1g d4d3fg          d5             Z<d6 Z=d7 Z>e
j(        +                    d8d9d:g          d;             Z?d< Z@d= ZAd> ZBd? ZCd@ ZDdA ZEdB ZFdC ZGdD ZHdE ZIdS )F    )annotationsN)OrderedDict)contextmanager)
_get_pathscanonical_namecollectcollect_envcollect_yamlconfigdeserializeensure_fileexpand_environment_variablesgetmergerefreshrename	serializeupdateupdate_defaults)tmpfilec                    ddd} 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 t          d	|           d	k    sJ d S )
N      )foo-bar	fizz_buzzr   foo_barz	fizz-buzzr   znew-keynew_key)r   )cs    6lib/python3.11/site-packages/dask/tests/test_config.pytest_canonical_namer    #   s    A&&A)Q''94444)Q''94444+q))[8888+q))[8888)Q''94444)Q''9444444    c                     dddid} ddt          ddi          d}t          ||            |dddddd	k    sJ dddid} dddddd}t          || d
           |dddddd	k    sJ d S )Nr   axyr      br%   zr&   r#   r(   r%   r&   r*   oldpriorityr   r   r+   s     r   test_updater1   -   s    sAhAak3(3344A
1aLLLaAA..Q777777sAhAaAA..//A
1a%    aAA..Q77777777r!   c                 R   dddddd} ddddddddid}ddt          ddd          dddid}t          ||d| 	          ddddddddidk    sJ t          ||d|	          t          ||d
          k    sJ t          ||dd 	          t          ||d          k    sJ d S )Nr   r+   r,   r   d)r%   r&   r*   r   c2r'   znew-defaults)r/   defaultsnewr.   r-   r0   )r3   ons      r   test_update_new_defaultsr9   9   sC   aAA..//AaAA..QsAhGGAak*:*:;;!CQR8TTA!Q!<<<1AhA A     !Q!<<<	1uA A A     !Q$???6	1uD D D      r!   c                     dddiddddidg} dddddd	}dddddd
}t          |||            | dddiddddiddddddd
gk    sJ |dddddddk    sJ d S )Nr   r   r+   r   r3   r'   )r   r3   r   )r#   r(   extra)r#   r(   	new-extra)r5   )r#   r(   r;   r<   )r   )r5   currentr6   s      r   test_update_defaultsr>   L   s    sAhsAhH !!,,q99Gaa((q
9
9CC84444sAhsAhAA&&Q77    
 A!!$4$4qqQQQQQQQQr!   c                 f    dddid} ddddid}dddddd	}t          | |          }||k    sJ d S )
Nr   r#   r$   r   r'   r(   r)   r+   r,   )r   )r#   r(   expectedr   s       r   
test_mergerA   ]   s[    sAhAasAh''A11--A66HaA======r!   c                    dddid} ddddid}dddddd	}t          d
          5 }t          d
          5 }t          |d          5 }t          j        | |           d d d            n# 1 swxY w Y   t          |d          5 }t          j        ||           d d d            n# 1 swxY w Y   t	          t          ||g           }||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#   r$   r   r'   r(   r)   r+   r,   yaml	extensionwpaths)r   openrC   dumpr   r
   )r#   r(   r@   fn1fn2fr   s          r   test_collect_yaml_pathsrN   g   s   sAhAasAh''A11--A66H	6	"	"	" &cv&&& 	&#c3  1	!Q                             c3  1	!Q                              LSz:::;FX%%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&& & & & & & & & & & & & & & & & & &s|   C;C#A-!C#-A11C#4A15C#B*C#*B..C#1B.2$C#C;#C'	'C;*C'	+C;;C?C?c                 ^   dddid} ddddid}dddddd	}t                      5 }t          j        |           t          t          j                            |d
          d          5 }t          j        | |           d d d            n# 1 swxY w Y   t          t          j                            |d          d          5 }t          j        ||           d d d            n# 1 swxY w Y   t          t          |g           }||k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r#   r$   r   r'   r(   r)   r+   r,   a.yamlrF   modeb.yamlrG   )
r   osmkdirrI   pathjoinrC   rJ   r   r
   )r#   r(   r@   dirnamerM   r   s         r   test_collect_yaml_dirrY   x   s   sAhAasAh''A11--A66H	 "g
"',,w11<<< 	IaOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	"',,w11<<< 	IaOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 G95556!!!!!" " " " " " " " " " " " " " " " " "sZ   AD"+BD"B	D"B	2D"C)D")C-	-D"0C-	1#D""D&)D&c              #    K   t          j        t          j         |           j                  }|t           j        z  }	 t          j        | |           d V  t          j        | |           d S # t          j        | |           w xY wN)statS_IMODErT   st_modeS_IREADchmod)rV   	perm_origperm_news      r   no_read_permissionsrc      s|      RWT]]233I4<'H"
x   
y!!!!!y!!!!s   A. .Bwin32z$Can't make writeonly file on windows)reasonkind	directoryfilec                `   ddd}ddd}t          |           }t          j                            |d          }t          j                            |d          }t	          |d	
          5 }t          j        ||           d d d            n# 1 swxY w Y   t	          |d	
          5 }t          j        ||           d d d            n# 1 swxY w Y   |dk    r|}i }	n|}|}	t          |          5  t          t          |g           }
|
|	k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r   r$   r'      )r&   r*   rP   rS   rF   rQ   rg   rG   )
strrT   rV   rW   rI   rC   rJ   rc   r   r
   )tmpdirrf   r#   r(   dir_patha_pathb_pathrM   	cant_readr@   r   s              r   #test_collect_yaml_permission_errorsrq      s   
 aAaA6{{HW\\(H--FW\\(H--F	f3			 1	!Q              	f3			 1	!Q               {			Y	'	' " "H:6667!!!!!" " " " " " " " " " " " " " " " " "s6   +BBB)CCC4!D##D'*D'c                   t          |           }t          j                            |d          }t	          |d          5 }|                    d           d d d            n# 1 swxY w Y   t          j        t                    5 }t          |g           d d d            n# 1 swxY w Y   t          |          t          |j                  v sJ dt          |j                  v sJ dt          |j                  v sJ d S )NrP   wbrQ      {rG   is malformedzoriginal error messagerk   rT   rV   rW   rI   writepytestraises
ValueErrorr
   reprvaluerl   rm   fil_pathrM   recs        r    test_collect_yaml_malformed_filer      sd   6{{Hw||Hh//H	hT	"	"	" a	               
z	"	" 'cH:&&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '>>S^^++++S^^++++#s39~~555555$   A##A'*A'B%%B),B)c                   t          |           }t          j                            |d          }t	          |d          5 }|                    d           d d d            n# 1 swxY w Y   t          j        t                    5 }t          |g           d d d            n# 1 swxY w Y   t          |          t          |j                  v sJ dt          |j                  v sJ dt          |j                  v sJ d S )NrP   rs   rQ   s   [1234]rG   ru   zmust have a dictrv   r}   s        r   #test_collect_yaml_no_top_level_dictr      sg   6{{Hw||Hh//H	hT	"	"	" a		               
z	"	" 'cH:&&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '>>S^^++++S^^++++SY//////r   c            	     f    ddddddddd} d	d
dd	ddg ddd}t          |           }||k    sJ d S )N123Truehello456z[1, 2, "3"]z/not/parsable/as/literalznot included)DASK_A_BDASK_CDASK_D	DASK_E__X	DASK_E__YDASK_FDASK_GFOO{   T  r$   )r   r   3)a_br   r3   erM   g)r	   )envr@   ress      r   test_envr      sr    ,	 	C S!![[' H c

C(??????r!   c                    dddid} ddddid}dd	i}d	dddd
dd}t          d          5 }t          d          5 }t          |d          5 }t          j        | |           d d d            n# 1 swxY w Y   t          |d          5 }t          j        ||           d d d            n# 1 swxY w Y   t	          ||g|          }||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#   r$   r   r'   r(   r)   DASK_Wrj   r+   )rF   r%   r&   r*   rC   rD   rF   )r   )r   rI   rC   rJ   r   )r#   r(   r   r@   rK   rL   rM   r   s           r   test_collectr      s'   sAhAasAh''AQ-CQ11%5%5A>>H	6	"	"	" &cv&&& 	&#c3  1	!Q                             c3  1	!Q                              c3ZS111FX%%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&& & & & & & & & & & & & & & & & & &s|   C:C"A2&C"2A66C"9A6:C"B/#C"/B33C"6B37C"C:"C&	&C:)C&	*C::C>C>c                |    |                      dd           t          g           } |j        d          dk    sJ d S )NDASK_FOObarfoo)setenvr   r   )monkeypatchr   s     r   test_collect_env_noner      sF    z5)))R[[F6:e%%%%%%r!   c                 &   dddid} t          d|           dk    sJ t          d|           dk    sJ t          dd	|           d	k    sJ t          j        t                    5  t          d|            d d d            d S # 1 swxY w Y   d S )
Nr   r#   r   r$   r%   r   zy.azy.br   )r   rx   ry   KeyErrorr3   s    r   test_getr      s    sAhAs1""""uQ1$$$$uc!$$$++++	x	 	   E!                 s   'BB
B
c                   dddid}ddi}t           j                            t          |           d          }t           j                            t          |           d          }t           j                            |d          }t	          |d          5 }t          j        ||           d d d            n# 1 swxY w Y   t          ||d	
           t	          |          5 }t          j        |          }d d d            n# 1 swxY w Y   ||k    sJ t	          |d          5 }t          j        ||           d d d            n# 1 swxY w Y   t          ||d	
           t	          |          5 }t          j        |          }d d d            n# 1 swxY w Y   ||k    sJ t          j	        |           t          ||d
           t	          |          5 }|
                                }d d d            n# 1 swxY w Y   d|v sJ t	          |          5 }t          j        |          }d d d            n# 1 swxY w Y   |rJ d S )Nr   r#   r$   r%   r   source.yamldestrF   F)sourcedestinationcommentTr   )rT   rV   rW   rk   rI   rC   rJ   r   	safe_loadremoveread)	rl   r#   r(   r   r   r   rM   resulttexts	            r   test_ensure_filer     s   sAhA	c
AW\\#f++}55F7<<FV,,D',,t]33K	fc		 a	!Q               v4????	k		 #a""# # # # # # # # # # # # # # #Q;;;; 
fc		 a	!Q               v4????	k		 #a""# # # # # # # # # # # # # # #Q;;;;Ik v4>>>>	k		 avvxx              D====	k		 #a""# # # # # # # # # # # # # # #sl   B88B<?B<$DD	D	(E

EE6FFFH  HH IIIc                 T   t           j                            d          5  t          d         dk    sJ t           j                            d          5  t          d         dk    sJ 	 d d d            n# 1 swxY w Y   t          d         dk    sJ 	 d d d            n# 1 swxY w Y   dt          vsJ t           j                            ddi          5  t          d         dk    sJ 	 d d d            n# 1 swxY w Y   dt          vsJ t           j                            dddd          5  t          d         ddd	did
k    sJ 	 d d d            n# 1 swxY w Y   dt          vsJ i } t           j                            ddi|            | d         d         dk    sJ d S )Nr   )abcr   r   r   r   r'   )abc.xabc.yzabc.z.ar#   r,   r   r   r%   daskr   setr   s    r   test_setr   1  s   	S	!	! $ $e}####[___%% 	( 	(%=C'''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(e}#####	$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 	%	&	& $ $e}#####$ $ $ $ $ $ $ $ $ $ $ $ $ $ $	1qQ??	@	@ @ @e}aasAh ? ??????@ @ @ @ @ @ @ @ @ @ @ @ @ @ @
AKOOWcN1O---U8C=CsY   4B!A6*B!6A:	:B!=A:	>B!!B%(B%C99C= C=2EE Ec                 @   t           j                            dd          5  t          d         dddk    sJ 	 d d d            n# 1 swxY w Y   dt          vsJ t           j                            ddddd	          5  t          d         dddd
k    sJ 	 d d d            n# 1 swxY w Y   dt          vsJ t           j                            ddddidd	          5  t          d         dddd
k    sJ 	 d d d            n# 1 swxY w Y   dt          vsJ d S )Nr   r   )foo__barfoo__bazr   )r   baz)foo.barzfoo.bazr'   rj   )	foo__buzzr   )r   r   buzzr    r!   r   test_set_kwargsr   G  s%   	!a	0	0 5 5e}! 4 4444445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
Q155Q	O	O @ @e}!Q ? ??????@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
%1!5!56!a	P	P @ @e}!Q ? ??????@ @ @ @ @ @ @ @ @ @ @ @ @ @ @s5   AA
A
B&&B*-B*#DDDc                    t           j                            dddii          5  t          d         ddik    sJ t           j                            ddi          5  t          d         dddk    sJ 	 d d d            n# 1 swxY w Y   t          d         ddik    sJ 	 d d d            n# 1 swxY w Y   dt          vsJ d S )Nr   r%   r   r   r   r$   r   r   r!   r   test_set_nestedr   W  sO   	%#s,	-	- + +e}c
****[__gs^,, 	9 	9%=#C$8$888888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9e}c
*****	+ + + + + + + + + + + + + + +
 s5   7B,A?3B,?B	B,B	B,,B03B0c                    dd l } t          j                            |                                           5  t          j                            d          5  	 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&   )	threadingr   r   r   Lock)r   s    r   test_set_hard_to_copyablesr   `  s    	9>>++	,	,  [__q_!! 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s5   !A>A&A>&A*	*A>-A*	.A>>BBrU   TFc                P   dddid}t           j                            t          |          d          }t           j                            t          |          d          }t	          |d          5 }t          j        ||           d d d            n# 1 swxY w Y   | rt          j        |           t          ||           t           j        	                    |          sJ t           j        
                    t           j                            |d                    sJ d S )Nr   r#   r$   r   r   rF   )r   r   )rT   rV   rW   rk   rI   rC   rJ   rU   r   isdirexists)rU   rl   r#   r   r   rM   s         r   test_ensure_file_directoryr   h  s.   sAhAW\\#f++}55F7<<FV,,D	fc		 a	!Q                
v400007==7>>"',,t];;<<<<<<<s   2BBBc                   dddid}t           j                            t          |           d          }t	          |d          5 }t          j        ||           d d d            n# 1 swxY w Y   t           j                            t          |           d          }t          j        j	        }	 |t          j        _	        t          |           |t          j        _	        n# |t          j        _	        w xY wt           j                            |          sJ t          j        |          \  }t           j                            |          d         t           j                            |          d         k    sJ d S )Nr   r#   r$   r   rF   r   )r   )rT   rV   rW   rk   rI   rC   rJ   r   r   PATHr   r   listdirsplit)rl   r#   r   rM   r   r   fns          r   2test_ensure_file_defaults_to_DASK_CONFIG_directoryr   {  sq   sAhAW\\#f++}55F	fc		 a	!Q               ',,s6{{F33K;D &6""""47==%%%%%:k""DR7==Q27==#8#8#;;;;;;;s   A''A+.A+1!C$ $C7c                 P    ddi} ddi}t          | |           |dddiik    sJ d S )Nr   r   r   r   r   r   r   )r   )aliasesr   s     r   test_renamer     sI    )$GF
76""""eeS\*******r!   c                     g } i }t          ddi||            |ddik    sJ t          g ddi||            |dddk    sJ t          g d	d
i||            |dddk    sJ d S )Nr#   r   )r   r5   DASK_B2)rH   r   r   r5   r   r+   r   r   r'   r#   r   )r   r   )r5   r   s     r   test_refreshr     s    HFS!HVh????c1X"8S/&8LLLL11%%%%%%"8S/&8LLLL11%%%%%%%%r!   zinp,out)1r   )r   r   )$FOOr   r   r   r   ))r   r   )r   r   r#   A)r   r   r   r+   )r   r   r   c                \    |                      dd           t          |          |k    sJ d S )Nr   r   )r   r   )r   inpouts      r   !test_expand_environment_variablesr     s9     ue$$$',,333333r!   c                    d}|                      dt          |                     i }t          j                            |           t          d|          |k    sJ t          d|          |k    sJ d S )Nr'   r   r   r   a-b)r   rk   r   r   r   r   )r   r|   r3   s      r   test_env_var_canonical_namer     s    Ez3u::...
AKq!!!uQ5((((uQ5((((((r!   c                 j   dddii} g d}|D ])}t           j                            ||           dk    sJ *t           j                            dddii|           5  |D ])}t           j                            ||           dk    sJ *	 d d d            n# 1 swxY w Y   t           j                            dd	d
iddi|           5  t           j                            d|           d	d
ik    sJ t           j                            d|           dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nzx-yr   r   )zx_y.a_bzx-y.a-bx_y.a-br   x_yr   r   c_dr   r   )r   ze-fr   zx_y.e_f)r   r   r   r   )r   keysks      r   test_get_set_canonical_namer     s   	A,,,D 3 3{q++s22222	%%.q	9	9 7 7 	7 	7A;??1Q?//366666	77 7 7 7 7 7 7 7 7 7 7 7 7 7 7
 
%%A!>!>?	J	J 9 9{y33qzAAAA{y33q888889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s%   -BBB	AD((D,/D,key
custom_key
custom-keyc                   d}t           j                            | |i          5  t           j                            d          |k    sJ t           j                            d          |k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   r   )r   r|   s     r   test_get_set_roundtripr     s    E	#u	&	& 6 6{|,,5555{|,,555556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   AA==BBc                 j    t           j                            d dddddii          ddiddk    sJ d S )Nr   r   r#   r(   r   )r   r   r   r   r!   r   test_merge_None_to_dictr     s[    ;4a003a/BB1XG G      r!   c                     dt           j        j        v sJ dt           j        j        v sJ dt           j                            d          v sJ d S )Nztemporary-directory	dataframecompressionzdataframe.shuffle)r   r   r   r   r!   r   test_core_filer     sT     DK$66666$+,,,,,DKOO,?@@@@@@@@r!   c                 R   t          j        d          } t          j                            t          j                            t                    dd          }t          j                            t          j                            t                    dd          }t          |          5 }t          j	        |          }d d d            n# 1 swxY w Y   t          |          5 }t          j	        |          }d d d            n# 1 swxY w Y   | 
                    ||           d S )N
jsonschema..	dask.yamldask-schema.yaml)rx   importorskiprT   rV   rW   rX   __file__rI   rC   r   validate)r   	config_fn	schema_fnrM   r   schemas         r   test_schemar    sW   $\22JRW__X66kJJIRW__X66>PQQI	i #A""# # # # # # # # # # # # # # # 
i #A""# # # # # # # # # # # # # # # '''''s$   *CCC%DD
D
c                 "   t           j                            t           j                            t                    dd          } t           j                            t           j                            t                    dd          }t          |           5 }t          j        |          }d d d            n# 1 swxY w Y   t          |          5 }t          j        |          }d d d            n# 1 swxY w Y   fd ||           d S )Nr   r   r   c           
     t   |                                  D ]\  }}t          |           t          |d                   k    rCt          d                    t	          |           t	          |d                                       t          |t                    r | |         |d         |                    d S )N
propertiesa  
The dask.yaml and dask-schema.yaml files are not in sync.
This usually happens when we add a new configuration value,
but don't add the schema of that value to the dask-schema.yaml file
Please modify these files to include the missing values: 

    dask.yaml:        {}
    dask-schema.yaml: {}

Examples in these files should be a good start, 
even if you are not familiar with the jsonschema spec)itemslistrz   formatsorted
isinstancedict)r   sr   vtest_matchess       r   r  z-test_schema_is_complete.<locals>.test_matches  s    GGII 	7 	7DAqAww$q//// L MSFq		6!L/#:#:M M   !T"" 7QqT1\?1#5666	7 	7r!   )rT   rV   rW   rX   r  rI   rC   r   )r  r  rM   r   r  r  s        @r   test_schema_is_completer    s]   RW__X66kJJIRW__X66>PQQI	i #A""# # # # # # # # # # # # # # # 
i #A""# # # # # # # # # # # # # # #7 7 7 7 7$ L     s$   B88B<?B<C33C7:C7c                 `   t          j        t                    5 } t          j                            d          5  t          j                            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t          | d         j                  v sJ d S )Nr   )fuse_ave_widthzoptimization.fuse.ave-widthr   )	rx   warnsWarningr   r   r   r   rk   message)infos    r   test_deprecationsr    s:   	g		 I$[__C_00 	I 	I;??#@AASHHHHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	II I I I I I I I I I I I I I I )CQ,@,@@@@@@@s4   !B&A."B.A2	2B5A2	6BB	B	c                    t           j                            ddi          5  t           j                            d          dk    sJ t           j                            dd           dk    sJ t           j                            dd          dk    sJ t           j                            dd          du sJ t           j                            dd          du sJ t           j                            dd          dk    sJ t           j                            ddd	i          dd	ik    sJ t           j                            dd
g          d
gk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r   )override_withr   FTr   r   worldoner   r   r!   r   test_get_override_withr    s   	%	(	( H H{u%%....{uD99UBBBB {uE::eCCCC{uE::eCCCC{uD99TAAAA{uC88C????{uWg4FGGWL
 
 
 
 
 {uUG<<GGGGGH H H H H H H H H H H H H H H H H Hs   D9E))E-0E-c                    t           j                            dt           j                            d          i          5  t	          ddddiii          } t          |           }t           j                            t           j        j        |           t           j                            d          dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Narray.svg.sizearraysvgsize   )r   r   r   r   r   r   r   global_config)
serializedr   s     r   test_config_serializationr(  +  s    	*DKOO<L,M,MN	O	O 8 8%&#)?@AA
Z((4;4f==={/00C777778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   A9CC
C
c            	         t          dt          ddddiii          i          } t          j                            d|           dk    sJ d S )NDASK_INTERNAL_INHERIT_CONFIGr"  r#  r$  r%  r!  r   )r	   r   r   r   r   r   s    r   test_config_inheritancer+  6  s[    	'Gefc]=S3T)U)UV F ;??+F?;;sBBBBBBr!   c                   |                      dd           |                      dd           |                     t          dg            dt          j                            t          j        dd          t          j                            t          j                            d	          d
d          g}t                      }||k    sJ t          |          t          t          |                    k    sJ |                                 5 }|                    dd           t                      }||dgz   k    sJ t          |          t          t          |                    k    sJ 	 d d d            n# 1 swxY w Y   |                                 5 }|                    dd           t                      }|dg|dd          z   k    sJ t          |          t          t          |                    k    sJ 	 d d d            n# 1 swxY w Y   |                                 5 }t          j                            ddd          }|                    t          dt          j        |gz              t                      }t          j                            |dd          |v sJ t          |          t          t          |                    k    sJ 	 d d d            d S # 1 swxY w Y   d S )NDASK_CONFIGF)raisingDASK_ROOT_CONFIGPREFIXESz	/etc/dasketcr   ~z.configr   r   includethisrV   )delenvsetattrsiterT   rV   rW   sysprefix
expanduserr   lenr   contextr   r0  )r   r@   rH   mr9  s        r   test__get_pathsr>  =  s\    }e444)5999j"--- 	
SZ//
RW'',,i@@H
 LLEHu::SZZ((((					 -!		***I;.....5zzSU__,,,,,	- - - - - - - - - - - - - - - 
				 -!	#Y///hqrrl222225zzSU__,,,,,	- - - - - - - - - - - - - - - 
				 -!i88			$
DMVH$<===w||FE622e;;;;5zzSU__,,,,,- - - - - - - - - - - - - - - - - -s9   A E;;E?E?A(HHH.B.K**K.1K.c                 L    t           j        j        t                      k    sJ d S r[   )r   r   rH   r   r   r!   r   test_default_search_pathsr@  b  s"    ;
,,,,,,r!   )J
__future__r   rT   r7  r\   r8  collectionsr   
contextlibr   rx   rC   dask.configr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   
dask.utilsr   r    r1   r9   r>   rA   rN   rY   rc   markskipifplatformparametrizerq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r(  r+  r>  r@  r   r!   r   <module>rJ     s   " " " " " " 				   



 # # # # # # % % % % % %                                         $      5 5 5	8 	8 	8  &R R R"  & & &"" " "" " " " LG$J    +v!677" " 87 "26 6 60 0 0  2& & &$& & &  & & &R     ,        4-00= = 10=$< < <&+ + +& & & 
Vq%j!!
Vq%j!
ve%)))	*	*#OOO,L,LM	 4 4 4
) ) )9 9 9" | <==6 6 >=6  A A A( ( (! ! !>A A AH H H"8 8 8C C C"- "- "-J- - - - -r!   