
    7Thb$                        S r SSKrSSKJrJrJrJrJr  SSKJ	r	  SSK
Jr  SSKJrJrJr  SS jrS rSS	 jrSS jrS rS rS rSS.S jr\" SS9S 5       r " S S\5      r\" S\/ S/S
SS.4\S/S/SS04\S/S/SS04\S/SSS
0/SS04\SS/S/0 4\/ SSS
0/SS
S.4\S/SSS
S./SS04\/ SSS
0/SS
04\/ S/SS04/	5      S  5       rS! r\" S\/ S/S
S/ 0 S".4\/ S#/S
SSS$/0 S".4\/ S%S&S0/S
S'/ S&S0S".4\S(/S)S&S0/S
SS&S0S*.4/5      S+ 5       r\/ SSS0/S
SS.4\/ SSS0/S
SSS,.4/r\" S\/ S-S&S0/S
S/S&S0S..4\/ S//SS$/0 S..4/\-   5      S0 5       rS1 r \" S2\S34\S44\S54/5      S6 5       r!S7 r"S8 r#S9 r$S:S;S<.S= jr%S>\&S?\&S@S4SA jr'SB r(SC r)\" SD\*SE\SFSG/4\*SH\SF/SG/4\*SI\/ /4/5      SJ 5       r+SK r,SL r-\" SM\\." \/" SN5      5      /0 SO4\/ SPQSSQ0SR4/5      SS 5       r0ST r1\SU 5       r2SV r3SW r4SX r5g)Yz
Test the func_inspect module.
    N)_clean_win_charsfilter_argsformat_signatureget_func_codeget_func_name)Memory)
with_numpy)fixtureparametrizeraisesc                     g N xys     U/var/www/auris/envauris/lib/python3.13/site-packages/joblib/test/test_func_inspect.pyfr              c                     g r   r   r   s    r   gr      r   r   c                     g r   r   )r   r   argskwargss       r   hr   !   r   r      c                     g r   r   r   s    r   ir    %   r   r   c                     g r   r   )r   r   r   s      r   jr"   )   r   r   c                      g r   r   )r   r   s     r   kr$   -   r   r   c                    g r   r   r   s     r   m1r&   1   r   r      )zc                    g r   r   r   r   r(   s      r   m2r+   5   r   r   module)scopec                 v    U R                  S5      n[        UR                  5      nUR                  S 5       nU$ )Njoblib_test_func_inspectc                     U $ r   r   r   s    r   cached_func_inner&cached_func.<locals>.cached_func_innerA   s    r   )mktempr   strpathcache)tmpdir_factorycachedirmemr1   s       r   cached_funcr9   9   sC    
 $$%?@H
!!
"CYY  r   c                       \ rS rSrS rSrg)KlassH   c                     U$ r   r   )selfr   s     r   r   Klass.fI   s    r   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r;   r;   H   s    r   r;   zfunc,args,filtered_argsr   r   r   r   )r   r      )rF   c                 (    [        U /UQ76 U:X  d   eg r   r   funcr   filtered_argss      r   test_filter_argsrL   Q   s     t#d#}444r   c                  X    [        5       n [        U R                  / S5      SU S.:X  d   eg )NrE   r   )r   r>   r;   r   r   )objs    r   test_filter_args_methodrP   c   s)    
'Csuub$'C+@@@@r   )r   r   ***)r   rF   r'      rS   )r      eerT   rQ   )r   rF   rT   r   r   rR   c                 (    [        U /UQ76 U:X  d   eg r   rH   rI   s      r   test_filter_varargsrX   h   s     t#d#}444r   r*   r   rF   rQ   rR   r'   rS   c                 (    [        U /UQ76 U:X  d   eg r   rH   rI   s      r   test_filter_kwargsr]   {   s     t#d#}444r   c                      [        [        / SSS05      SSSS0S.:X  d   e[        R                  " [        S5      n [        U / S5      S/0 S.:X  d   e[        U S/S5      S/0 S.:X  d   eg )	NrY   rU   rF   r   rV   rE   rZ   r   )r   r"   	functoolspartialr   ffs    r   test_filter_args_2rc      s{    q"ftQi0!!DRS94UUUU			1a	 Br2t$qc(<<<<rC5$'!B+????r   zfunc,funcnamer   r   r9   c                 ,    [        U 5      S   U:X  d   eg )Nr   r   )rJ   funcnames     r   test_func_namerg      s     q!X---r   c                 ,    [        U 5      S   S:X  d   eg )Nr   r1   re   )r9   s    r   test_func_name_on_inner_funcri      s     %a(,????r   c                  P    S n S nU " 5       u  p#U" 5       u  pEX5:X  d   eX$:w  d   eg )Nc                      S n [        U 5      $ )Nc                      g r   r   r   r   r   
inner_funcEtest_func_name_collision_on_inner_func.<locals>.f.<locals>.inner_func       r   re   rm   s    r   r   1test_func_name_collision_on_inner_func.<locals>.f       	 Z((r   c                      S n [        U 5      $ )Nc                      g r   r   r   r   r   rm   Etest_func_name_collision_on_inner_func.<locals>.g.<locals>.inner_func   ro   r   re   rp   s    r   r   1test_func_name_collision_on_inner_func.<locals>.g   rr   r   r   )r   r   r,   nameother_module
other_names         r   &test_func_name_collision_on_inner_funcrz      s9    )) 3LF sL!!!r   c                  |   [        SR                  5      S   S:X  d   e[        SR                  5      SS  S:X  d   eS n [        U SS9S   S	:X  d   e[        U 5      S   [        R	                  S
S5      :X  d   eSU l        [        U SS9S   S	:X  d   e[        U 5      S   [        R	                  S
S5      :X  d   eg )Nalowerr   )Nr}   c                     U $ r   r   r   s    r   <lambda>*test_func_inspect_errors.<locals>.<lambda>   s    1r   F)win_charactersz<lambda>z.pycz.py__main__)r   r~   r   __file__replacerA   ra   s    r   test_func_inspect_errorsr      s    #B'7222#AB':555	BE226*DDDQ8#3#3FE#BBBBBME226*DDDQ8#3#3FE#BBBBr   kw1kw2r   r   c                    g r   r   r|   br   r   s       r   func_with_kwonly_argsr      r   r   r|   r   returnc                     g r   r   r|   r   s     r   func_with_signaturer      r   r   c                  T   [        [        / SSSS.5      SSSSS.:X  d   e[        [        5       n [        [        / SS	S05        S S S 5        W R	                  S
5        [        [        SS	/SSSS.5      SSS.:X  d   e[        [
        S/S5      SS0:X  d   eg ! , (       d  f       NZ= f)NrY   r'   rS   r   r   rF   r   )r   rF   r'   r   z?Keyword-only parameter 'kw1' was passed as positional parameterr   )r|   r   r|   )r   r   r   
ValueErrormatchr   )excinfos    r   test_filter_args_edge_casesr      s    ,b&!A:NO	T    

	w)2y5!*E 
MMSTU|VQq5I	   *SE6:sAhFFF 
	s   B
B'c                      [        5       n [        5       n[        U R                  / S5      [        UR                  / S5      :w  d   eg)zyMake sure that calling the same method on two different instances
of the same class does resolv to different signatures.
rE   NrN   r   s     r   test_bound_methodsr      s:     	AAqssB%QSS"d)CCCCr   zexception,regex,func,argsz1ignore_lst must be a list of parameters to ignorebarr   z-Ignore list: argument \'(.*)\' is not definedzWrong number of argumentsc                     [        U 5       n[        U/UQ76   SSS5        WR                  U5        g! , (       d  f       N = f)zTMake sure that filter_args returns decent error messages, for the
sake of the user.
N)r   r   r   )	exceptionregexrJ   r   r   s        r   test_filter_args_error_msgr      s5    , 
		gD 4  
MM% 
	s	   3
Ac                  D    SS0n [        [        / / U 5        U SS0:X  d   eg)zNone-regression test against 0.12.0 changes.

https://github.com/joblib/joblib/pull/75

Make sure filter args doesn't mutate the kwargs dict that gets passed in.
r   r   N)r   r   )r   s    r   #test_filter_args_no_kwargs_mutationr     s-     1XF2r6"c1Xr   c                  >    Sn [        U 5      nS H
  nX!;  a  M
   e   g )NzC:\foo\bar\main.py)\:<>!)r   )stringmangled_stringchars      r   test_clean_win_charsr     s'    "F%f-N*))) +r   zfunc,args,kwargs,sgn_expected   zg([0, 1, 2, 3, 4]))r   rF   r[   Tzk(1, 2, (3, 4), y=True)c                 4    [        U /UQ70 UD6u  pEXS:X  d   eg r   )r   )rJ   r   r   sgn_expectedpath
sgn_results         r   test_format_signaturer     s'     (>t>v>D%%%r   c                     Sn SnSU -  n[        [        U5      u  p4[        U5      U:  d   eSn[        U5       Vs/ s H  o2PM     nn[        [        /UQ76 u  p4[        U5      X-  :  d   e[	        U5       VVs0 s H  u  pr[        U5      U_M     nnn[        [        40 UD6u  p4[        U5      X-  :  d   e[        [        /UQ70 UD6u  p4[        U5      US-  U-  :  d   eg s  snf s  snnf )Ni  i  r|   r   rF   )r   r   lenrange	enumeratestr)	shortening_thresholdshortening_targetarg_	signaturenb_argsr   r    r   s	            r   $test_format_signature_long_argumentsr   "  s    !
$
$C#As+LAy>----Gw(ACD(#A--LAy>-7777(1$8fac!fckF8#A00LAy>-7777#A777LAy>-1G;;;; ) 9s   C)<C.c                      g)z0Test the format signature formatting with numpy.Nr   r   r   r   test_format_signature_numpyr   :  s    r   c                  \    SSK Jn   [        U 5      u  pnUS:X  d   eSU;   d   eSU;   d   eg )Nr   big5_fr   zdef big5_f():"test_func_inspect_special_encoding.joblib.test.test_func_inspect_special_encodingr   r   )r   	func_codesource_file
first_lines       r   test_special_source_encodingr   ?  s<    E)6v)>&IJ??i'''/;>>>r   c                  *    SSK Jn   [        U 5      S   $ )Nr   r   r   r   s    r   	_get_coder   H  s    E ##r   c                     ^ SSK Jn Jm  U " SS9" U4S j[        S5       5       5      n[	        [        U5      5      S:X  d   eg )Nr   )ParalleldelayedrF   )n_jobsc              3   F   >#    U  H  nT" [         5      " 5       v   M     g 7fr   )r   ).0r   r   s     r   	<genexpr>-test_func_code_consistency.<locals>.<genexpr>Q  s     FXwy133Xs   !r   r   )joblib.parallelr   r   r   r   set)r   codesr   s     @r   test_func_code_consistencyr   N  s5    1AFU1XFFEs5z?ar   )6__doc__r_   joblib.func_inspectr   r   r   r   r   joblib.memoryr   joblib.test.commonr	   joblib.testingr
   r   r   r   r   r   r    r"   r$   r&   r+   r9   objectr;   rL   rP   rX   test_filter_kwargs_extra_paramsr]   rc   rg   ri   rz   r   r   intr   r   r   r   r   r   r   listr   r   r   r   r   r   r   r   r   r   <module>r      s     ! ) 7 7
							  	 	x F  	
RJaa()	
cUDMC8$	
cUDMC8$	
cUD3(#c1X.	
c3Z#	
RQx "23	
cUBaa()C84	
Rc1Xa)	
RJa!
55A
 	
RJaab;<	
Raaq!fB GH	
R4)$ABRay&QR	
cUJq	*!!D!9,MN	55
 "dS!H	QQ/0"dS!H	QQQ78#  	
R$#Aq6$%CD	
RLAb12 &	&55@ _3x!SK3OPQ. R.@",
C (-% 		3 	3 	4 	G*D  ?G		
 <Wg		
 
0!bT:$%$	* #	
T%(^b"67	
NS$K)BC&&<0 ; ;?$ r   