§
    €zIf%  ã                   ó|  — d Z ddlZddlmZmZmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZmZmZ dd„Zd	„ Zdd
„Zdd„Zd„ Zd„ Zd„ Zddœd„Z ed¬¦  «        d„ ¦   «         Z G d„ de¦  «        Z edeg dgdddœfedgdgddifedgdgddifedgdddigddifeddgdgi feg dddigdddœfedgddddœgddifeg dddigddifeg d gddifg	¦  «        d!„ ¦   «         Zd"„ Z edeg dgddg i d#œfeg d$gdddd%gi d#œfeg d&d'digdd(g d'did#œfed)gd*d'digddd'did+œfg¦  «        d,„ ¦   «         Zeg dddigdddœfeg dddigdddd-œfgZ edeg d.d'digddgd'did/œfeg d0gdd%gi d/œfgez   ¦  «        d1„ ¦   «         Zd2„ Z  ed3ed4fed5fed6fg¦  «        d7„ ¦   «         Z!d8„ Z"d9„ Z#d:„ Z$d;d<d=œd>„Z%d?e&d@e&dAdfdB„Z'dC„ Z(dD„ Z) edEe*dFedGdHgfe*dIedGgdHgfe*dJeg gfg¦  «        dK„ ¦   «         Z+dL„ Z,dM„ Z- edNe e. e/dO¦  «        ¦  «        gi dPfeg dQ¢ddRidSfg¦  «        dT„ ¦   «         Z0dU„ Z1edV„ ¦   «         Z2dW„ Z3dX„ Z4dY„ Z5dS )Zz
Test the func_inspect module.
é    N)Úfilter_argsÚget_func_nameÚget_func_code)Ú_clean_win_charsÚformat_signature)ÚMemory)Ú
with_numpy)ÚfixtureÚparametrizeÚraisesc                 ó   — d S ©N© ©ÚxÚys     úQ/var/www/piapp/venv/lib/python3.11/site-packages/joblib/test/test_func_inspect.pyÚfr      ó   € Ø€Dó    c                 ó   — d S r   r   ©r   s    r   Úgr      r   r   c                 ó   — d S r   r   )r   r   ÚargsÚkwargss       r   Úhr      r   r   é   c                 ó   — d S r   r   r   s    r   Úir        r   r   c                 ó   — d S r   r   )r   r   r   s      r   Újr"   $   r   r   c                  ó   — d S r   r   )r   r   s     r   Úkr$   (   r   r   c                ó   — d S r   r   r   s     r   Úm1r&   ,   r   r   é   )Úzc                ó   — d S r   r   ©r   r   r(   s      r   Úm2r+   0   r   r   Úmodule)Úscopec                 óx   — |                       d¦  «        }t          |j        ¦  «        }|j        d„ ¦   «         }|S )NÚjoblib_test_func_inspectc                 ó   — | S r   r   r   s    r   Úcached_func_innerz&cached_func.<locals>.cached_func_inner<   s   € àˆr   )Úmktempr   ÚstrpathÚcache)Útmpdir_factoryÚcachedirÚmemr1   s       r   Úcached_funcr8   4   sK   € ð
 ×$Ò$Ð%?Ñ@Ô@€HÝ
�Ô!Ñ
"Ô
"€Cà„Yðð ñ „Yðð Ðr   c                   ó   — e Zd Zd„ ZdS )ÚKlassc                 ó   — |S r   r   )Úselfr   s     r   r   zKlass.fE   s   € Øˆr   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r:   r:   C   s#   € € € € € ðð ð ð ð r   r:   zfunc,args,filtered_args©r   r   r   r   )r   r   é   )rA   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   ©r   ©Úfuncr   Úfiltered_argss      r   Útest_filter_argsrG   L   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   c                  ó`   — t          ¦   «         } t          | j        g d¦  «        d| dœk    sJ ‚d S )Nr@   r   )r   r<   ©r:   r   r   )Úobjs    r   Útest_filter_args_methodrK   Z   s8   € Ý
‰'Œ'€CÝ�s”u˜b %Ñ(Ô(°!¸SÐ,AÐ,AÒAÐAÐAÐAÐAÐAr   )r   r   Ú*ú**)r   rA   r'   é   rN   )r   é   ÚeerO   rL   )r   rA   rO   ©r   r   rM   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   rC   rD   s      r   Útest_filter_varargsrS   _   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   r*   ©r   rA   ©rL   rM   ©r'   rN   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   rC   rD   s      r   Útest_filter_kwargsrX   r   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   c                  óò   — t          t          g dddi¦  «        ddddidœk    sJ ‚t          j        t          d¦  «        } t          | g d¦  «        dgi dœk    sJ ‚t          | dgd¦  «        dgi dœk    sJ ‚d S )	NrT   rP   rA   r   rQ   r@   rU   r   )r   r"   Ú	functoolsÚpartialr   ©Úffs    r   Útest_filter_args_2r^   |   s¦   € Ý�˜2˜v¨¨a yÑ1Ô1Ø˜! D¨! 9Ð-Ð-ò.ð .ð .ð .õ 
Ô	�1˜aÑ	 Ô	 €Bå�r˜2˜uÑ%Ô%°¨s¸"Ð)=Ð)=Ò=Ð=Ð=Ð=Ý�r˜C˜5 %Ñ(Ô(°1°#¸RÐ,@Ð,@Ò@Ð@Ð@Ð@Ð@Ð@r   zfunc,funcnamer   r   r8   c                 ó<   — t          | ¦  «        d         |k    sJ ‚d S )Nr   ©r   )rE   Úfuncnames     r   Útest_func_namerb   †   s(   € õ
 ˜ÑÔ˜qÔ! XÒ-Ð-Ð-Ð-Ð-Ð-r   c                 ó<   — t          | ¦  «        d         dk    sJ ‚d S )Nr   r1   r`   )r8   s    r   Útest_func_name_on_inner_funcrd   Ž   s)   € õ ˜Ñ%Ô% aÔ(Ð,?Ò?Ð?Ð?Ð?Ð?Ð?r   c                  óf   — d„ } d„ } | ¦   «         \  }} |¦   «         \  }}||k    sJ ‚||k    sJ ‚d S )Nc                  ó&   — d„ } t          | ¦  «        S )Nc                  ó   — d S r   r   r   r   r   Ú
inner_funczEtest_func_name_collision_on_inner_func.<locals>.f.<locals>.inner_func™   ó   € ØˆFr   r`   ©rh   s    r   r   z1test_func_name_collision_on_inner_func.<locals>.f˜   ó   € ð	ð 	ð 	å˜ZÑ(Ô(Ð(r   c                  ó&   — d„ } t          | ¦  «        S )Nc                  ó   — d S r   r   r   r   r   rh   zEtest_func_name_collision_on_inner_func.<locals>.g.<locals>.inner_funcž   ri   r   r`   rj   s    r   r   z1test_func_name_collision_on_inner_func.<locals>.g�   rk   r   r   )r   r   r,   ÚnameÚother_moduleÚ
other_names         r   Ú&test_func_name_collision_on_inner_funcrq   •   si   € ð)ð )ð )ð
)ð )ð )ð
 �1‘3”3�L€FˆDØ ˜q™sœsÑ€L�*à�:ÒÐÐÐØ�\Ò!Ð!Ð!Ð!Ð!Ð!r   c                  óâ  — t          dj        ¦  «        d         dk    sJ ‚t          dj        ¦  «        dd …         dk    sJ ‚d„ } t          | d¬¦  «        d         d	k    sJ ‚t          | ¦  «        d         t                               d
d¦  «        k    sJ ‚d| _        t          | d¬¦  «        d         d	k    sJ ‚t          | ¦  «        d         t                               d
d¦  «        k    sJ ‚d S )NÚaéÿÿÿÿÚlowerr   )Nrt   c                 ó   — | S r   r   r   s    r   ú<lambda>z*test_func_inspect_errors.<locals>.<lambda>­   s   € �1€ r   F)Úwin_charactersz<lambda>z.pycz.pyÚ__main__)r   ru   r   Ú__file__Úreplacer>   r\   s    r   Útest_func_inspect_errorsr|   ©   sü   € å˜œÑ#Ô# BÔ'¨7Ò2Ð2Ð2Ð2Ý˜œÑ#Ô# A B BÔ'¨:Ò5Ð5Ð5Ð5Ø	ˆ€BÝ˜¨EÐ2Ñ2Ô2°2Ô6¸*ÒDÐDÐDÐDÝ˜ÑÔ˜QÔ¥8×#3Ò#3°F¸EÑ#BÔ#BÒBÐBÐBÐBà€B„MÝ˜¨EÐ2Ñ2Ô2°2Ô6¸*ÒDÐDÐDÐDÝ˜ÑÔ˜QÔ¥8×#3Ò#3°F¸EÑ#BÔ#BÒBÐBÐBÐBÐBÐBr   Úkw1Úkw2©r}   r~   c                ó   — d S r   r   ©rs   Úbr}   r~   s       r   Úfunc_with_kwonly_argsrƒ   ¶   r   r   rs   r‚   Úreturnc                 ó   — d S r   r   ©rs   r‚   s     r   Úfunc_with_signaturer‡   º   r   r   c                  óŒ  — t          t          g ddddœ¦  «        dddddœk    sJ ‚t          t          ¦  «        5 } t          t          g dd	di¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d
¦  «         t          t          dd	gddddœ¦  «        dddœk    sJ ‚t          t
          dgd¦  «        ddik    sJ ‚d S )NrT   r'   rN   r   r   rA   r�   )r   rA   r'   r~   z?Keyword-only parameter 'kw1' was passed as positional parameterr‚   )rs   r}   rs   )r   rƒ   r   Ú
ValueErrorÚmatchr‡   )Úexcinfos    r   Útest_filter_args_edge_casesrŒ   ¾   sZ  € åÕ)¨2¨vØ aÐ(Ð(ñ	*ô 	*à�a ¨!Ð,Ð,ò	-ð 	-ð 	-ð 	-õ 
•
Ñ	Ô	ð F˜wÝÕ)¨2¨y¸5À!¸*ÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fà‡M‚Mð ñ ô ð õ 	Õ)¨C°¨<¸Ø aÐ(Ð(ñ	*ô 	*à˜ÐÐò	ð 	ð 	ð 	õ Õ+¨c¨U°FÑ;Ô;ÀÀQ¸xÒGÐGÐGÐGÐGÐGs   ºA Á A$Á'A$c                  óž   — t          ¦   «         } t          ¦   «         }t          | j        g d¦  «        t          |j        g d¦  «        k    sJ ‚dS )z† Make sure that calling the same method on two different instances
        of the same class does resolv to different signatures.
    r@   NrI   r†   s     r   Útest_bound_methodsrŽ   Ó   sI   € õ 	‰Œ€AÝ‰Œ€AÝ�q”s˜B Ñ&Ô&­+°a´c¸2¸uÑ*EÔ*EÒEÐEÐEÐEÐEÐEr   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                 ó˜   — t          | ¦  «        5 }t          |g|¢R Ž  ddd¦  «         n# 1 swxY w Y   |                     |¦  «         dS )za Make sure that filter_args returns decent error messages, for the
        sake of the user.
    N)r   r   rŠ   )Ú	exceptionÚregexrE   r   r‹   s        r   Útest_filter_args_error_msgr“   Ü   s’   € õ 
�	Ñ	Ô	ð !˜gÝ�DÐ ˜4Ð Ð Ð Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !à‡M‚M�%ÑÔÐÐÐs   �*ª.±.c                  óP   — ddi} t          t          g g | ¦  «         | ddik    sJ ‚dS )z®None-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<   € ð �1ˆX€FÝ•�2�r˜6Ñ"Ô"Ð"Ø�c˜1�XÒÐÐÐÐÐr   c                  ó>   — d} t          | ¦  «        }dD ]}||vsJ ‚Œ	d S )NzC:\foo\bar\main.py)ú\ú:ú<ú>ú!)r   )ÚstringÚmangled_stringÚchars      r   Útest_clean_win_charsrŸ   ø   sA   € Ø"€FÝ% fÑ-Ô-€NØ*ð *ð *ˆØ˜>Ð)Ð)Ð)Ð)Ð)ð*ð *r   zfunc,args,kwargs,sgn_expectedé   zg([0, 1, 2, 3, 4]))r   rA   rV   Tzk(1, 2, (3, 4), y=True)c                 ó<   — t          | g|¢R i |¤Ž\  }}||k    sJ ‚d S r   )r   )rE   r   r   Úsgn_expectedÚpathÚ
sgn_results         r   Útest_format_signaturer¥   ÿ   s=   € õ
 (¨Ð>¨tÐ>Ð>Ð>°vÐ>Ð>Ñ€Dˆ*Ø˜Ò%Ð%Ð%Ð%Ð%Ð%r   c                  óú  ‡— d} d}d| z  Št          t          ‰¦  «        \  }}t          |¦  «        |k     sJ ‚d}ˆfd„t          |¦  «        D ¦   «         }t          t          g|¢R Ž \  }}t          |¦  «        ||z  k     sJ ‚d„ t	          |¦  «        D ¦   «         }t          t          fi |¤Ž\  }}t          |¦  «        ||z  k     sJ ‚t          t          g|¢R i |¤Ž\  }}t          |¦  «        |dz  |z  k     sJ ‚d S )NiÜ  iÆ  rs   r    c                 ó   •— g | ]}‰‘ŒS r   r   )Ú.0Ú_Úargs     €r   ú
<listcomp>z8test_format_signature_long_arguments.<locals>.<listcomp>  s   ø€ Ð(Ð(Ð(�AˆCÐ(Ð(Ð(r   c                 ó4   — i | ]\  }}t          |¦  «        |“ŒS r   )Ústr)r¨   r    rª   s      r   ú
<dictcomp>z8test_format_signature_long_arguments.<locals>.<dictcomp>  s$   € Ð8Ð8Ð8™f˜a �c�!‰fŒf�cÐ8Ð8Ð8r   rA   )r   r   ÚlenÚrangeÚ	enumerate)Úshortening_thresholdÚshortening_targetr©   Ú	signatureÚnb_argsr   r   rª   s          @r   Ú$test_format_signature_long_argumentsr¶     s9  ø€ ØÐð !Ðà
Ð$Ñ
$€CÝ#¥A sÑ+Ô+�L€A€yÝˆy‰>Œ>Ð-Ò-Ð-Ð-Ð-à€GØ(Ð(Ð(Ð(�˜w™œÐ(Ñ(Ô(€DÝ#¥AÐ-¨Ð-Ð-Ð-�L€A€yÝˆy‰>Œ>Ð-°Ñ7Ò7Ð7Ð7Ð7à8Ð8­	°$©¬Ð8Ñ8Ô8€FÝ#¥AÐ0Ð0¨Ð0Ð0�L€A€yÝˆy‰>Œ>Ð-°Ñ7Ò7Ð7Ð7Ð7å#¥AÐ7¨Ð7Ð7Ð7°Ð7Ð7�L€A€yÝˆy‰>Œ>Ð-°Ñ1°GÑ;Ò;Ð;Ð;Ð;Ð;Ð;r   c                  ó   — dS )z6 Test the format signature formatting with numpy.
    Nr   r   r   r   Útest_format_signature_numpyr¸      s   € € € r   c                  ó`   — ddl m}  t          | ¦  «        \  }}}|dk    sJ ‚d|v sJ ‚d|v sJ ‚d S )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ÐEÐEÐEÐEÐEÝ)6°vÑ)>Ô)>Ñ&€Iˆ{˜JØ˜Š?ˆ?ˆ?ˆ?Ø˜iÐ'Ð'Ð'Ð'Ø/°;Ð>Ð>Ð>Ð>Ð>Ð>r   c                  ó8   — ddl m}  t          | ¦  «        d         S )Nr   rº   r½   rº   s    r   Ú	_get_coderÄ   .  s'   € ØEÐEÐEÐEÐEÐEÝ˜Ñ Ô  Ô#Ð#r   c                  ó¸   ‡— ddl m} mŠ   | d¬¦  «        ˆfd„t          d¦  «        D ¦   «         ¦  «        }t	          t          |¦  «        ¦  «        dk    sJ ‚d S )Nr   )ÚParallelÚdelayedrA   )Ún_jobsc              3   óH   •K  — | ]}  ‰t           ¦  «        ¦   «         V — Œd S r   )rÄ   )r¨   r©   rÇ   s     €r   ú	<genexpr>z-test_func_code_consistency.<locals>.<genexpr>5  s6   øè è € ÐFÐF¸Ð1˜w˜w¥yÑ1Ô1Ñ3Ô3ÐFÐFÐFÐFÐFÐFr   r    r   )Újoblib.parallelrÆ   rÇ   r°   r¯   Úset)rÆ   ÚcodesrÇ   s     @r   Útest_func_code_consistencyrÎ   3  su   ø€ Ø1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØˆHˆH˜AÐÑÔÐFÐFÐFÐF½UÀ1¹X¼XÐFÑFÔFÑFÔF€EÝ�s�5‰zŒz‰?Œ?˜aÒÐÐÐÐÐr   )6Ú__doc__rZ   Újoblib.func_inspectr   r   r   r   r   Újoblib.memoryr   Újoblib.test.commonr	   Újoblib.testingr
   r   r   r   r   r   r    r"   r$   r&   r+   r8   Úobjectr:   rG   rK   rS   Útest_filter_kwargs_extra_paramsrX   r^   rb   rd   rq   r|   rƒ   Úintr‡   rŒ   rŽ   r‰   r“   r•   rŸ   Úlistr°   r¥   r¶   r¸   rÂ   rÄ   rÎ   r   r   r   ú<module>rØ      so  ððð ð Ð Ð Ð à IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ  Ð  Ð  Ð  Ð  Ð  Ø )Ð )Ð )Ð )Ð )Ð )Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ð
	ð 	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð ð 	ð 	ð 	ð 	ð 	ð 	€ˆxÐÑÔðð ñ Ôððð ð ð ð ˆFñ ô ð ð €Ð&Ø�2�u�+ Q¨QÐ/Ð/Ð0Ø�C�5˜%�. 3¨ (Ð+Ø�C�5˜%�. 3¨ (Ð+Ø�C�5˜% # q Ð*¨S°!¨HÐ5Ø�C˜�:˜uÐ% rÐ*Ø�2�t˜c 1˜XÐ&¨a°aÐ(8Ð(8Ð9Ø�C�5˜" A¨AÐ.Ð.Ð/°#°q°Ð:Ø�2�r˜C ˜8Ð$ s¨A hÐ/Ø�2�u�+  Q˜xÐ(ð*ñ	+ô 	+ð5ð 5ñ	+ô 	+ð5ðBð Bð Bð
 €Ð&Ø�2�u�+Ø˜Q R¨rÐ2Ð2ð4à�2�|Ð$Ø˜Q a¨ V°2Ð6Ð6ð8à�2�w  q 	Ð*Ø˜R b°°q°	Ð:Ð:ð<à�C�5˜* t¨Q iÐ0Ø˜Q t¨Q iÐ0Ð0ð2ð3ñ4ô 4ð5ð 5ñ4ô 4ð5ð
 ˆ"ˆd�S˜!�HÐ	 Q¨QÐ/Ð/Ð0Øˆ"ˆd�S˜!�HÐ	 Q¨Q°QÐ7Ð7Ð8ð#Ð ð €Ð&Ø�2�v  a˜yÐ)Ø˜�V D¨! 9Ð-Ð-ð/à�2�v�,Ø˜�V 2Ð&Ð&ð(ð)ð -ñ	-ñ.ô .ð5ð 5ñ.ô .ð5ðAð Að Að €ˆ_  3˜x¨!¨S¨Ø +¨]Ð;ð=ñ >ô >ð.ð .ñ>ô >ð.ð@ð @ð @ð"ð "ð "ð(
Cð 
Cð 
Cð (-°%ð 	ð 	ð 	ð 	ð 	ð	˜3ð 	 3ð 	¨4ð 	ð 	ð 	ð 	ðIð Ið Ið*Fð Fð Fð €Ð(ØÐNØ�5˜(Ð#ð%àÐKØ�E�7˜HÐ%ð'àÐ6Ø�2�$ðð	ñô ðð ñô ðð	ð 	ð 	ð*ð *ð *ð €Ð,Ø�4�4˜˜˜a™œ‘>”>Ð" BÐ(<Ð=Ø�.�.�. 3¨ +Ð/HÐIðKñLô Lð&ð &ñLô Lð&ð<ð <ð <ð0 ðð ñ „ðð
?ð ?ð ?ð$ð $ð $ð
 ð  ð  ð  ð  r   