
    bi
                    @   d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ  ej                  d      Z
d Zej                  j                  dg d      d        Zej                  j                  d	g d
      ej                  j                  dddg      d               Zy)    )annotationsN)	cpu_countpsutilc                 |    t               } t        | t              sJ | t        j                          k  sJ | dk\  sJ y )N   )r   
isinstanceintos)counts    Q/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/tests/test_system.pytest_cpu_countr      s9    KEeS!!!BLLN"""A::    dirname)zcpuacct,cpuzcpu,cpuacctNc                   d }|j                  t        d|        G d d      }|j                  t        d|       | rvd| z  t        j                  d      d| z  t        j                  d	      it
        j                  fd
}|j                  t
        d|       |j                  t        dd       t               }| r|dk(  sJ y |dk(  sJ y )Nc                      yN    r   r   r   mycpu_countz+test_cpu_count_cgroups.<locals>.mycpu_count       r   r   c                      e Zd Zd Zy))test_cpu_count_cgroups.<locals>.MyProcessc                    g S Nr   selfs    r   cpu_affinityz6test_cpu_count_cgroups.<locals>.MyProcess.cpu_affinity       Ir   N__name__
__module____qualname__r   r   r   r   	MyProcessr          	r   r#   Processz"/sys/fs/cgroup/%s/cpu.cfs_quota_us2005z#/sys/fs/cgroup/%s/cpu.cfs_period_us10c                F    | v rj                  |       S  | g|i |S r   getpathargskwargsbuiltin_openpathss      r   myopenz&test_cpu_count_cgroups.<locals>.myopen,   s-    u}yy&6t6v66r   openplatformlinux   r   )	setattrr
   r   ioStringIObuiltinsr2   sysr   )r   monkeypatchr   r#   r1   r   r/   r0   s         @@r   test_cpu_count_cgroupsr<      s     K5 
 	9507:BKK<O1G;R[[=N
  }}	7
 	Hff5CW5KE||||r   
group_name)/z/user.slicez/user.slice/more.slicequotamaxr&   c                   d }|j                  t        d|        G d d      }|j                  t        d|       |j                  d      s| d}dt	        j
                  d|z        d	|z  t	        j
                  d
| z        it        j                  fd}|j                  t        d|       |j                  t        dd       t               }| dk(  r|dk(  sJ y |dk(  sJ y )Nc                      yr   r   r   r   r   r   z.test_cpu_count_cgroups_v2.<locals>.mycpu_count?   r   r   r   c                      e Zd Zd Zy),test_cpu_count_cgroups_v2.<locals>.MyProcessc                    g S r   r   r   s    r   r   z9test_cpu_count_cgroups_v2.<locals>.MyProcess.cpu_affinityF   r   r   Nr   r   r   r   r#   rD   E   r$   r   r#   r%   r>   z/proc/self/cgroupz0::%sz/sys/fs/cgroup%scpu.maxz%s 10c                F    | v rj                  |       S  | g|i |S r   r)   r+   s      r   r1   z)test_cpu_count_cgroups_v2.<locals>.myopenU   s-    5=99T?"D242622r   r2   r3   r4   r@   r   r5   )
r6   r
   r   endswithr7   r8   r9   r2   r:   r   )	r?   r=   r;   r   r#   r1   r   r/   r0   s	          @@r   test_cpu_count_cgroups_v2rH   <   s     K5 
 	95s#"|1%
 	R[[:)=>!J.GeO0LE ==L3
 &&1Z1KE~|| ||r   )
__future__r   r9   r7   r
   r:   pytestdask.systemr   importorskipr   r   markparametrizer<   rH   r   r   r   <module>rO      s    "  	 	 
  !			X	& $HI" J"J 'UV5&/2$ 3 W$r   