Ë
    ÷Q(h}  ã                   ó”  — d dl 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	 d dl
mZmZ d dlmZ ddlmZmZ d„ Zej&                  j                   d„ «       Zej&                  j                   d	„ «       Zeej&                  j                   d
„ «       «       Zej&                  j                   d„ «       Zej&                  j                   d„ «       Zy)é    N)ÚAsyncMemorizedFuncÚAsyncNotMemorizedFuncÚMemorizedResultÚMemoryÚNotMemorizedResult)ÚnpÚ
with_numpy)Úraisesé   )Úcorrupt_single_cache_itemÚmonkeypatch_cached_func_warnc              ƒ   óà   K  — t        |d¬«      }|j                  | «      } t        d«      D ]<  }t        d«      D ],  } | |«      ƒ d{  –—† }||k(  sJ ‚t        |«      |dz   k(  rŒ,J ‚ Œ> y7 Œ#­w)z<Similar to check_identity_lazy_async for coroutine functionsr   ©ÚlocationÚverboseé   é   Nr   )r   ÚcacheÚrangeÚlen)ÚfuncÚaccumulatorr   ÚmemoryÚiÚ_Úvalues          ú[/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/joblib/test/test_memory_async.pyÚcheck_identity_lazy_asyncr      sw   è ø€ ä˜X¨qÔ1€FØ�<‰<˜Ó€DÜ�1‹Xò -ˆÜ�q“ò 	-ˆAÙ˜q›'—MˆEØ˜A’:Ð�:Ü�{Ó# q¨1¡uÓ,Ð,Ð,ñ	-ñ-à!ús   ‚AA.ÁA,Á	A.Á&A.c              ƒ   ó´  ‡	K  — t        «       Š	ˆ	fd„}t        |‰	| j                  «      ƒ d {  –—†  dD ]Ø  }dD ]Š  }t        | j                  d||¬«      }t	        j
                  | j                  d¬«       |j                  |«      } |d«      ƒ d {  –—†  |j                  d	¬
«       t        ‰	«      } |d«      ƒ d {  –—† }ŒŒ t        ‰	«      dz   k(  sJ ‚j                  |d«      ƒ d {  –—† }|k(  sJ ‚t        ‰	«      |dz   k(  rŒØJ ‚ d|_
        t        | j                  d¬«      } |j                  |«      d«      ƒ d {  –—†  y 7 �Œ 7 Œ½7 Œ’7 Œe7 Œ­w)Nc              “   óp   •K  — t        j                  d«      ƒ d {  –—†  ‰j                  d«       | S 7 Œ­w©Nçš™™™™™¹?r   ©ÚasyncioÚsleepÚappend)Únr   s    €r   Úfz(test_memory_integration_async.<locals>.f#   ó1   øè ø€ Ü�m‰m˜CÓ × Ð Ø×Ñ˜1ÔØˆð 	!úó   ƒ6œ4�6)FT)ÚrNé
   )r   r   Ú	mmap_modeÚcompressT)Úignore_errorsr   F)ÚwarnÚ__main__r   r   )Úlistr   Ústrpathr   ÚshutilÚrmtreer   Úclearr   ÚevalÚ
__module__)
Útmpdirr(   r.   r-   r   ÚgÚcurrent_accumulatorÚoutÚevaledr   s
            @r   Útest_memory_integration_asyncr>      sX  øè ø€ ä“&€Kôô
 $ A {°F·N±NÓ
C×CÐCð "ò ;ˆØ$ò 	ˆIÜØŸ™ØØ#Ø!ô	ˆFô �M‰M˜&Ÿ.™.¸Õ=Ø—‘˜Q“ˆAÙ�A“$�JˆJØ�G‰G˜ˆGÔÜ"% kÓ"2ÐÙ˜!›—*‰Cð#	ô& �;ÓÐ#6¸Ñ#:Ò:Ð:Ð:à—{‘{ 1 aÓ(×(ˆØ˜Š}Ðˆ}Ü�;ÓÐ#6¸Ñ#:Ó:Ð:Ð:ð1;ð8 €A„LÜ˜VŸ^™^°QÔ7€FØ
ˆ&�,‰,�q‹/˜!Ó
×ÑðC Dùð$ øð øð )øð ús^   ƒ*E­E®A$EÂEÂ,EÂ?EÃ .EÃ.EÃ/EÄ;EÅEÅEÅEÅEÅEÅEc               ƒ   óè   ‡K  — t        «       Šˆfd„} t        d d¬«      }|j                  | «      }t        d«      D ]0  }t	        ‰«      } |d«      ƒ d {  –—†  t	        ‰«      |dz   k(  rŒ0J ‚ y 7 Œ­w)Nc              “   óp   •K  — t        j                  d«      ƒ d {  –—†  ‰j                  d«       | S 7 Œ­wr!   r#   )Úxr   s    €r   Úffz test_no_memory_async.<locals>.ffP   r)   r*   r   r   é   r   )r2   r   r   r   r   )rB   r   Úggr   r;   r   s        @r   Útest_no_memory_asyncrE   L   st   øè ø€ ä“&€Kôô
 ˜T¨1Ô-€FØ	�‰�bÓ	€BÜ�1‹Xò ;ˆÜ! +Ó.ÐÙ�‹e�ˆÜ�;ÓÐ#6¸Ñ#:Ó:Ð:Ð:ñ;àús   ƒAA2ÁA0ÁA2Á,A2c              ƒ   óœ  K  — t        | j                  dd¬«      }|j                  «       d„ «       }t        j                  d«      } ||«      ƒ d{  –—† } ||«      ƒ d{  –—† }t        |t        j                  «      sJ ‚|j                  dk(  sJ ‚t        |t        j                  «      sJ ‚|j                  dk(  sJ ‚~~t        j                  «        t        |«       t        ||«      } ||«      ƒ d{  –—† }t        |«      dk(  sJ ‚d}	|	|d   v sJ ‚t        |t        j                  «      sJ ‚|j                  dk(  sJ ‚y7 Œô7 Œæ7 ŒQ­w)	z8Check that mmap_mode is respected even at the first callr+   r   )r   r-   r   c              “   ó   K  — | dz  S ­w)Nr   © )Úas    r   Útwicez6test_memory_numpy_check_mmap_mode_async.<locals>.twiced   s   è ø€ à�1‰uˆùs   ‚r   Nr   zException while loading results)r   r3   r   r   ÚonesÚ
isinstanceÚmemmapÚmodeÚgcÚcollectr   r   r   )
r9   Úmonkeypatchr   rJ   rI   ÚbÚcÚrecorded_warningsÚdÚexception_msgs
             r   Ú'test_memory_numpy_check_mmap_mode_asyncrW   ]   s2  è ø€ ô
 ˜VŸ^™^°sÀAÔF€Fà‡\�\ƒ^ñó ðô 	�‰�‹
€AÙ�A‹h�€AÙ�A‹h�€Aä�aœŸ™Ô#Ð#Ð#Ø�6‰6�SŠ=Ðˆ=ä�aœŸ™Ô#Ð#Ð#Ø�6‰6�SŠ=Ðˆ=ð 	
Ø	Ü‡J�J„LÜ˜fÔ%ô 5°U¸KÓHÐÙ�A‹h�€AÜÐ Ó! QÒ&Ð&Ð&Ø5€MØÐ-¨aÑ0Ñ0Ð0Ð0ä�aœŸ™Ô#Ð#Ð#Ø�6‰6�SŠ=Ð‰=ð3 	øØøð$ 	ús8   ‚AEÁEÁEÁ!EÁ"BEÃ8E
Ã9AEÅEÅ
Ec              ƒ   ód  K  — dd„}t        t        || j                  «      t        |«      t	        | j                  d¬«      j                  |«      t	        d ¬«      j                  |«      ft        t        t        t        f«      D ]™  \  }}t        d«      D ]>  }|j                  d«      ƒ d {  –—† }t        ||«      sJ ‚|j                  «       dk(  rŒ>J ‚ j                  «        t        t        «      5  |j                  «        d d d «       |j                  «        Œ› y 7 Œt# 1 sw Y   ŒxY w­w)Nc              “   óX   K  — t        j                  d«      ƒ d {  –—†  | dz  |z   S 7 Œ­w)Nr"   r   )r$   r%   )rA   Úys     r   r(   z%test_call_and_shelve_async.<locals>.f‡   s*   è ø€ Ü�m‰m˜CÓ × Ð Ø�!‰t�a‰xˆð 	!ús   ‚*›(œ*r   r   )r   r   é   )r   )Úzipr   r3   r   r   r   r   r   r   Úcall_and_shelverL   Úgetr6   r
   ÚKeyError)r9   r(   r   ÚResultr   Úresults         r   Útest_call_and_shelve_asyncrb   …   s
  è ø€ óô
 ä˜q &§.¡.Ó1Ü! !Ó$Ü˜FŸN™N°AÔ6×<Ñ<¸QÓ?Ü˜DÔ!×'Ñ'¨Ó*ð		
ô ÜÜÜð		
óò ‰ˆˆfô �q“ò 	%ˆAØ×/Ñ/°Ó2×2ˆFÜ˜f fÔ-Ð-Ð-Ø—:‘:“< 1Ó$Ð$Ð$ð	%ð
 	�‰ŒÜ”HÓñ 	Ø�J‰JŒL÷	à�‰�ñ-ð 3ø÷
	ð 	üs0   ‚B+D0Â-D"Â.%D0Ã"D0Ã6D$ÄD0Ä$D-	Ä)D0c              ƒ   ó"  K  — d„ }| j                  |dg¬«      }i } |d|«      ƒ d {  –—† dk(  sJ ‚ |d|«      ƒ d {  –—† dk(  sJ ‚|j                  d|«      ƒ d {  –—† \  }}|dk(  sJ d«       ‚t        |t        «      sJ d«       ‚y 7 Œ`7 ŒL7 Œ/­w)Nc              “   ó‚   K  — t        j                  d«      ƒ d {  –—†  |j                  | d«      dz   || <   ||    S 7 Œ!­w)Nr"   r   r   )r$   r%   r^   )rA   Úcounters     r   rB   z*test_memorized_func_call_async.<locals>.ff§   s@   è ø€ Ü�m‰m˜CÓ × Ð Ø—[‘[  AÓ&¨Ñ*ˆ�‰
Ø�q‰zÐð 	!ús   ‚?›=œ"?re   )Úignorer   r   zf has not been called properlyz0Metadata are not returned by MemorizedFunc.call.)r   ÚcallrL   Údict)r   rB   rD   re   rA   Úmetas         r   Útest_memorized_func_call_asyncrj   ¥   s    è ø€ òð
 
�‰�b ) ˆÓ	-€Bà€GÙ�A�w“× 1Ò$Ð$Ð$Ù�A�w“× 1Ò$Ð$Ð$à—G‘G˜A˜wÓ'×'�G€A€tØ�Š6Ð3Ð3Ó3ˆ6Ü�dœDÔ!ÐUÐ#UÓUÑ!ð  øØøà'ús1   ‚&B¨B	©B¾B¿BÁBÁ,BÂBÂB)r$   rO   r4   ÚpytestÚjoblib.memoryr   r   r   r   r   Újoblib.test.commonr   r	   Újoblib.testingr
   Útest_memoryr   r   r   Úmarkr>   rE   rW   rb   rj   rH   ó    r   ú<module>rr      sÍ   ðÛ Û 	Û ã ÷õ ÷ .Ý !ç Pò-ð ‡�×Ññ)ó ð)ðX ‡�×Ññ;ó ð;ð  Ø‡�×Ññ#ó ó ð#ðL ‡�×Ññó ðð> ‡�×ÑñVó ñVrq   