
    7Th              
          S SK r S SKJrJrJr  S SKJrJrJrJ	r	J
r
JrJr  S SKJrJrJr  S SKJr  S SKJrJr  \" S\\/5      S 5       r\" S\\/5      S	 5       r\\S
 5       5       r\\S 5       5       r\" SSS/5      S 5       rS rS r\\\" SSS\" 5       \" 5       /5      \" S\\/5      S 5       5       5       5       r\" S\\/5      S 5       r\" S\\/5      S 5       rg)    N)LokyBackendMultiprocessingBackendThreadingBackend)BACKENDSDEFAULT_BACKENDEXTERNAL_BACKENDSParalleldelayedparallel_backendparallel_config)npwith_multiprocessing
with_numpy)check_memmap)parametrizeraisescontextc                 2   [        5       R                  nU " S5      n [        [        5       R                  [        5      (       d   e UR	                  5         [        [        5       R                  5      [        U5      L d   eg ! UR	                  5         f = f)N	threading)r	   _backend
isinstancer   
unregistertype)r   defaultpbs      O/var/www/auris/envauris/lib/python3.13/site-packages/joblib/test/test_config.pytest_global_parallel_backendr      so    j!!G		B(*--/?@@@@

##$W555 	s   )B Bc                     S nU[         S'    U " S5         [        [        5       R                  [        5      (       d   e S S S 5        [         S	 g ! , (       d  f       N= f! [         S	 f = f)Nc                      [         [        S'   g )Nfoo)r   r        r   register_foo,test_external_backends.<locals>.register_foo$   s    *r"   r    )r   r   r	   r   r   )r   r#   s     r   test_external_backendsr%   "   s^    +  ,e%U^hj113CDDDD  e$ ^ e$s"   A" *AA" 
AA" "	A+c                    [        SSU S9   [        SS9 n[        UR                  [        5      (       d   eUR
                  S:X  d   eU" S [        R                  R                  S5      /S-   5       5        [        [        R                  " U 5      5      S:  d   e S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)	N      n_jobs
max_nbytestemp_folder	processes)preferc              3   L   #    U  H  n[        [        5      " U5      v   M     g 7fNr
   r   .0as     r   	<genexpr>2test_parallel_config_no_backend.<locals>.<genexpr>:   s     K0J1gl#A&&0J   "$
   r   )r   r	   r   r   r   r*   r   randomlenoslistdirtmpdirps     r   test_parallel_config_no_backendr@   /   s    
 
aV	D[)Qajj+666688q= = K1A1A"1E0F0JKKrzz&)*Q... * 
E	D)) 
E	Ds#   
CB	B1 C1
B?	;C
Cc           	         [        SSU S9   [        SSSS9 n[        UR                  [        5      (       d   eUR
                  S:X  d   e[        [        SS	9   U" S
 [        R                  R                  S5      /S-   5       5        S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)N   r(   r)   r'   r-   1M)r*   r.   r+   zExpected np.memmap instancematchc              3   L   #    U  H  n[        [        5      " U5      v   M     g 7fr0   r1   r2   s     r   r5   ;test_parallel_config_params_explicit_set.<locals>.<genexpr>H   s     O4Nq','**4Nr7   r8   )
r   r	   r   r   r   r*   r   	TypeErrorr   r9   r=   s     r   (test_parallel_config_params_explicit_setrI   >   s     
aV	DQ{tDajj+666688q= = 	)FGORYY5E5Eb5I4JQ4NOO H E 
E	D HG ED 
E	Ds;   CAB51B$B5C$
B2.B55
C	?C
Cparamr.   requirec                     [        [        U  S3S9   [        S0 U S0D6   [        5         S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nz=wrong is not a validrD   wrongr!   )r   
ValueErrorr   r	   )rJ   s    r   test_parallel_config_bad_paramsrO   K   sJ     

UG+@"A	B0w/0J 1 
C	B00 
C	Bs   A<A
A
	A
Ac                     [        [        SS9   [        SS9    S S S 5        S S S 5        [        [        SS9   [        SS9    S S S 5        S S S 5        [        [        SS9   [        [        [           SS9    S S S 5        S S S 5        g ! , (       d  f       Nw= f! , (       d  f       N= f! , (       d  f       No= f! , (       d  f       Nx= f! , (       d  f       N[= f! , (       d  f       g = f)Nz'only supported when backend is not NonerD   r(   inner_max_num_threads)backend_paramz'only supported when backend is a string)backendrS   )r   rN   r   r   r   r!   r"   r   'test_parallel_config_constructor_paramsrU   T   s     

"K	L15 6 
M 

"K	L1- . 
M 

"K	LXo%>aP Q 
M	L 65 
M	L
 .- 
M	L
 QP 
M	Lsh   
BBB
B?B.B?#C!9C;C!
B	B
B+.
B<	8B??
C
C	C!!
C/c                     [        SS9   [        5       n [        U R                  [        [
           5      (       d   eU R                  S:X  d   e S S S 5        [        SS9   [        SS9   [        5       n [        U R                  [        5      (       d   eU R                  S:X  d   e S S S 5        S S S 5        [        SS9   [        SS9   [        5       n U R                  S:X  d   eU R                  S:X  d   e S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N{= f! , (       d  f       N= f! , (       d  f       NJ= f! , (       d  f       g = f)Nr'   r*   r   rT   d   )verbose)	r   r	   r   r   r   r   r*   r   rZ   )r?   s    r   test_parallel_config_nestedr[   d   s    
	"J!**h&?@@@@xx1}} 
#
 
	-A&
Aajj*:;;;;88q= = ' 
. 
	%A&
A99###88q= = ' 
&	% 
#	" '& 
.	- '& 
&	%sT   AD!
D0+>D*D0
E/E=E
D
D-	)D00
D>
E	E
E rT   multiprocessingr   c                 b    [        [        SS9   U " USS9  S S S 5        g ! , (       d  f       g = f)Nz#does not acc.*inner_max_num_threadsrD   r(   rQ   )r   AssertionError)r   rT   s     r   1test_threadpool_limitation_in_child_context_errorr_   z   s&     
&L	Mq1 
N	M	Ms    
.c                    U " SSS9   [        S S9 nUR                  S:X  d   e S S S 5        S S S 5        U " SS9   [        5       R                  n[        S S9 nUR                  U:X  d   e S S S 5        S S S 5        g ! , (       d  f       N_= f! , (       d  f       Nh= f! , (       d  f       N9= f! , (       d  f       g = f)Nr   r'   rT   r*   rW   rX   r	   r*   )r   r?   default_n_jobss      r   test_parallel_n_jobs_nonerd      s     
Q	/T"a88q= = # 
0 
	%!**T"a88~--- # 
&	% #" 
0	/ #" 
&	%sD   
BA?BB2B!.B2?
B		B
B!
B/	+B22
C c                     U " SSS9   U " SS S9   [        5        nUR                  S:X  d   e S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)Nr   r'   ra   r(   rb   )r   r?   s     r    test_parallel_config_n_jobs_nonerf      s[    
 
Q	/[6qxx1}$}  7 
0	/  76 
0	/s7   A*AAAA*
AA
A'	#A**
A8) r;   joblib._parallel_backendsr   r   r   joblib.parallelr   r   r   r	   r
   r   r   joblib.test.commonr   r   r   joblib.test.test_parallelr   joblib.testingr   r   r   r%   r@   rI   rO   rU   r[   r_   rd   rf   r!   r"   r   <module>rl      so   	 
   D C 2 . Y*:;<6 =6 Y*:;<	% =	% 
/  
/ P  P Wx+, - !, %;%=?O?QR Y*:;<2 =	  2
 Y*:;<
. =
. Y*:;<% =%r"   