Ë
    u™ãjÚ  ã            
       óh  — d Z ddlZddlZddlmZ ddlmZmZ ej                  j                  dg d¢«      d„ «       Z
ej                  j                  dh d	£dd
fh d	£ddfh d£ddfddhddfh d£ddfg«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  dddg«      d„ «       Zd„ Zd„ Zd„ Zy)z
Tests for pandas.compat._cpu: detection of the CPU allocation available to
this process (affinity mask and cgroup CFS quota).
é    N)Ú_cpu)Ú_parse_cgroup_v2_quotaÚavailable_cpu_countztext, expected)	)ú
max 100000N)ÚmaxN)ú400000 100000ç      @)z150000 100000ç      ø?)z50000 100000ç      à?)Ú100000g      ð?)z0 100000N)ÚgarbageN)Ú Nc                 ó$   — t        | «      |k(  sJ ‚y ©N)r   )ÚtextÚexpecteds     ú`/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/test_cpu.pyÚtest_parse_cgroup_v2_quotar      s   € ô " $Ó'¨8Ò3Ð3Ñ3ó    zaffinity, quota, expected>   r   é   é   é   é   é   é   é   é   r	   r   >   r   r   r   r   g       @r   r
   r   c                 ó  ‡‡— | j                  t        dˆfd„d¬«       | j                  t        dˆfd„«       t        j                  «        	 t        «       |k(  sJ ‚	 t        j                  «        y # t        j                  «        w xY w)NÚsched_getaffinityc                 ó   •— t        ‰«      S r   )Úset)ÚpidÚaffinitys    €r   ú<lambda>z*test_available_cpu_count.<locals>.<lambda>/   s   ø€ ¬S°«]€ r   F©ÚraisingÚ_cgroup_cpu_quotac                  ó   •— ‰ S r   © )Úquotas   €r   r$   z*test_available_cpu_count.<locals>.<lambda>1   s   ø€ ¸5€ r   ©ÚsetattrÚosr   r   Úcache_clear)Úmonkeypatchr#   r*   r   s    `` r   Útest_available_cpu_countr0   #   st   ù€ ð ×ÑÜ
ÐÓ!:ÀEð ô ð ×ÑœÐ1³=ÔAÜ×#Ñ#Ô%ð*Ü"Ó$¨Ò0Ð0Ñ0ä×'Ñ'Õ)øÔ×'Ñ'Õ)ús   ÁA3 Á3B	c                 ó
  — d„ }| j                  t        d|d¬«       | j                  t        dd„ «       t        j                  «        	 t        «       �J ‚	 t        j                  «        y # t        j                  «        w xY w)Nc                 ó   — t         ‚r   )ÚOSError)r"   s    r   Úraise_oserrorz=test_available_cpu_count_unconstrained.<locals>.raise_oserror<   s   € Üˆr   r   Fr%   r'   c                   ó   — y r   r)   r)   r   r   r$   z8test_available_cpu_count_unconstrained.<locals>.<lambda>@   ó   � r   r+   )r/   r4   s     r   Ú&test_available_cpu_count_unconstrainedr7   9   sn   € òð ×ÑœÐ/°ÈÐÔNØ×ÑœÐ1±<Ô@Ü×#Ñ#Ô%ð*Ü"Ó$Ð,Ð,Ñ,ä×'Ñ'Õ)øÔ×'Ñ'Õ)ús   Á
A, Á,Bc                  óÐ   — t        j                  «        	 t        «       } t        j                  «        | �t        | t        «      r| dk\  sJ ‚y y # t        j                  «        w xY w)Nr   )r   r.   Ú
isinstanceÚint)Úresults    r   Ú'test_available_cpu_count_does_not_raiser<   H   sW   € ô ×#Ñ#Ô%ð*Ü$Ó&ˆä×'Ñ'Ô)Øˆ>œj¨´Ô5¸&ÀAº+ÐFÐF¸+ˆ>øô 	×'Ñ'Õ)ús   –
A ÁA%c                 óf   — | j                  t        dd„ «       t        j                  «       dk(  sJ ‚y )NÚ_read_sysfs_strc                 ó   — | dk(  rdS d S )Nú/sys/fs/cgroup/cpu.maxr   r)   ©Úpaths    r   r$   z*test_cgroup_cpu_quota_v2.<locals>.<lambda>X   s   € ¨Ð0HÒ(H�_€ Èd€ r   r	   ©r,   r   r'   ©r/   s    r   Útest_cgroup_cpu_quota_v2rE   T   s2   € Ø×ÑÜØÙRôô
 ×!Ñ!Ó# sÒ*Ð*Ñ*r   zquota, expected)ià“ g      @)éÿÿÿÿNc                 ó¦   ‡— |ddœŠ| j                  t        dd„ «       | j                  t        dˆfd„«       t        j                  «       |k(  sJ ‚y )Ni † )z#/sys/fs/cgroup/cpu/cpu.cfs_quota_usz$/sys/fs/cgroup/cpu/cpu.cfs_period_usr>   c                  ó   — y r   r)   rA   s    r   r$   z3test_cgroup_cpu_quota_v1_fallback.<locals>.<lambda>e   r6   r   Ú_read_sysfs_intc                 ó&   •— ‰j                  | «      S r   )Úget)rB   Úintss    €r   r$   z3test_cgroup_cpu_quota_v1_fallback.<locals>.<lambda>f   s   ø€ ¸d¿h¹hÀt»n€ r   rC   )r/   r*   r   rL   s      @r   Ú!test_cgroup_cpu_quota_v1_fallbackrM   ]   sS   ø€ ð
 05Ø06ñ€Dð ×ÑœÐ/Ñ1BÔCØ×ÑœÐ/Ó1LÔMÜ×!Ñ!Ó# xÒ/Ð/Ñ/r   c                 ó�   — | j                  t        dd„ «       | j                  t        dd„ «       t        j                  «       �J ‚y )Nr>   c                 ó   — | dk(  rdS d S )Nr@   r   r)   rA   s    r   r$   z1test_cgroup_cpu_quota_unlimited.<locals>.<lambda>n   s   €  TÐ-EÒ%E�\€ È4€ r   rI   c                  ó   — y r   r)   rA   s    r   r$   z1test_cgroup_cpu_quota_unlimited.<locals>.<lambda>p   r6   r   rC   rD   s    r   Útest_cgroup_cpu_quota_unlimitedrQ   j   sD   € Ø×ÑÜØÙOôð
 ×ÑœÐ/Ñ1BÔCÜ×!Ñ!Ó#Ð+Ð+Ñ+r   c                 óp   — | dz  }|j                  d«       t        j                  t        |«      «      �J ‚y )Nzcpu.maxs   ÿþ)Úwrite_bytesr   r>   Ústr©Útmp_pathrB   s     r   Útest_read_sysfs_str_non_utf8rW   t   s5   € à�iÑ€DØ×Ñ�[Ô!Ü×Ñ¤ D£	Ó*Ð2Ð2Ñ2r   c                 ót   — | dz  }|j                  dd¬«       t        j                  t        |«      «      �J ‚y )Nzcpu.cfs_quota_usr   zutf-8)Úencoding)Ú
write_textr   rI   rT   rU   s     r   Útest_read_sysfs_int_non_numericr[   {   s:   € ð Ð(Ñ(€DØ‡O�O�E G€OÔ,Ü×Ñ¤ D£	Ó*Ð2Ð2Ñ2r   )Ú__doc__r-   ÚpytestÚpandas.compatr   Úpandas.compat._cpur   r   ÚmarkÚparametrizer   r0   r7   r<   rE   rM   rQ   rW   r[   r)   r   r   ú<module>rb      sñ   ðñó
 
ã å ÷ð ‡�×ÑØò
óñ4óð4ð ‡�×ÑØâ	! 4¨Ð+Ú	! 3¨Ð*Ú	�s˜AÐØ
ˆQˆ��aÐÚ	�s˜AÐðó	ñ	*ó	ð	*ò*ò	Gò+ð ‡�×ÑÐ*¨]¸JÐ,GÓHñ	0ó Ið	0ò,ò3ó3r   