o
    Nrf
                     @  s   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	dZ
dd Zejdg dd	d
 Zejdg dejdddgdd ZdS )    )annotationsN)	cpu_countpsutilc                  C  s4   t  } t| ts
J | t  ksJ | dksJ d S )N   )r   
isinstanceintos)count r
   _/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/dask/tests/test_system.pytest_cpu_count   s   r   dirname)zcpuacct,cpuzcpu,cpuacctNc                   s   dd }| td| G dd d}| td| | rCd|  tdd	|  td
itj  fdd}| td| | tdd t }| rP|dksNJ d S |dksVJ d S )Nc                   S     dS N   r
   r
   r
   r
   r   mycpu_count      z+test_cpu_count_cgroups.<locals>.mycpu_countr   c                   @     e Zd Zdd ZdS )z)test_cpu_count_cgroups.<locals>.MyProcessc                 S     g S Nr
   selfr
   r
   r   cpu_affinity   r   z6test_cpu_count_cgroups.<locals>.MyProcess.cpu_affinityN__name__
__module____qualname__r   r
   r
   r
   r   	MyProcess       r   Processz"/sys/fs/cgroup/%s/cpu.cfs_quota_us2005z#/sys/fs/cgroup/%s/cpu.cfs_period_us10c                   (   | v r	 | S  | g|R i |S r   getpathargskwargsZbuiltin_openpathsr
   r   myopen,      
z&test_cpu_count_cgroups.<locals>.myopenopenplatformlinux   r   )	setattrr   r   ioStringIObuiltinsr-   sysr   )r   monkeypatchr   r   r+   r	   r
   r)   r   test_cpu_count_cgroups   s    r7   
group_name)/z/user.slicez/user.slice/more.slicequotamaxr    c                   s   dd }| td| G dd d}| td| |ds#| d}dtd	| d
| td|  itj  fdd}| td| | tdd t	 }| dkr\|dksZJ d S |dksbJ d S )Nc                   S  r   r   r
   r
   r
   r
   r   r   ?   r   z.test_cpu_count_cgroups_v2.<locals>.mycpu_countr   c                   @  r   )z,test_cpu_count_cgroups_v2.<locals>.MyProcessc                 S  r   r   r
   r   r
   r
   r   r   F   r   z9test_cpu_count_cgroups_v2.<locals>.MyProcess.cpu_affinityNr   r
   r
   r
   r   r   E   r   r   r   r9   z/proc/self/cgroupz0::%sz/sys/fs/cgroup%scpu.maxz%s 10c                   r"   r   r#   r%   r)   r
   r   r+   U   r,   z)test_cpu_count_cgroups_v2.<locals>.myopenr-   r.   r/   r;   r   r0   )
r1   r   r   endswithr2   r3   r4   r-   r5   r   )r:   r8   r6   r   r   r+   r	   r
   r)   r   test_cpu_count_cgroups_v2<   s"   

r=   )
__future__r   r4   r2   r   r5   ZpytestZdask.systemr   Zimportorskipr   r   markZparametrizer7   r=   r
   r
   r
   r   <module>   s    

%