a
    þdAR  ã                   @   sÀ  d Z ddl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 ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ erðddlmZ eƒ Ze ¡ dkoìedƒZndZdZdd„ Zdd„ Ze e d¡G dd„ deƒƒZe e d¡G dd„ deƒƒZe e d¡G dd„ deƒƒZe e
 d¡G dd„ deƒƒZe e	 d ¡G d!d"„ d"eƒƒZ e!d#kr¼dd$l"m#Z# e#e$ƒ dS )%z$Tests specific to all BSD platforms.é    N)ÚBSD)ÚFREEBSD)ÚNETBSD)ÚOPENBSD)ÚHAS_BATTERY)ÚTOLERANCE_SYS_MEM)ÚPsutilTestCase)Úretry_on_failure)Úsh)Úspawn_testproc)Ú	terminate)Úwhich)ÚgetpagesizeÚmuseFc                 C   sl   t d|  ƒ}tr(|| d¡d d… }nts0trF|| d¡d d… }z
t|ƒW S  tyf   | Y S 0 dS )zmExpects a sysctl command with an argument and parse the result
    returning only the value of interest.
    zsysctl z: é   Nú=é   )r
   r   Úfindr   r   ÚintÚ
ValueError)ÚcmdlineÚresult© r   ú^/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/psutil/tests/test_bsd.pyÚsysctl-   s    
r   c                 C   s>   t dƒ}| d¡D ]}| | ¡r q.qtdƒ‚t| ¡ d ƒS )z+Thin wrapper around 'muse' cmdline utility.r   Ú
zline not foundr   )r
   ÚsplitÚ
startswithr   r   )ÚfieldÚoutÚliner   r   r   r   <   s    
zBSD onlyc                   @   sž   e Zd ZdZedd„ ƒZedd„ ƒZe e	d¡dd„ ƒZ
d	d
„ Ze edƒ d¡dd„ ƒZe edƒ d¡e e	d¡dd„ ƒƒZe edƒ d¡dd„ ƒZdS )ÚBSDTestCasez)Generic tests common to all BSD variants.c                 C   s   t ƒ j| _d S ©N©r   Úpid©Úclsr   r   r   Ú
setUpClassP   s    zBSDTestCase.setUpClassc                 C   s   t | jƒ d S r"   ©r   r$   r%   r   r   r   ÚtearDownClassT   s    zBSDTestCase.tearDownClassz -o lstart doesn't work on NETBSDc                 C   sP   t d| j ƒ}| dd¡ ¡ }t | j¡ ¡ }t dt 	|¡¡}|  
||¡ d S )Nzps -o lstart -p %sZSTARTEDÚ z%a %b %e %H:%M:%S %Y)r
   r$   ÚreplaceÚstripÚpsutilÚProcessZcreate_timeÚtimeÚstrftimeÚ	localtimeÚassertEqual)ÚselfÚoutputZstart_psZstart_psutilr   r   r   Útest_process_create_timeX   s    ÿz$BSDTestCase.test_process_create_timec                 C   s¤   dd„ }t jddD ]Š}t  |j¡}||jƒ\}}}}|  |j|¡ |  |j|¡ t|j| ƒdkrx|  	d|j|f ¡‚t|j
| ƒdkr|  	d|j
|f ¡‚qd S )Nc                 S   s‚   t d|  ƒ ¡ }| d¡}| d¡ | d¡}| ¡ d d… \}}}}|dkrRd}t|ƒd }t|ƒd }t|ƒd }||||fS )Nz
df -k "%s"r   r   é   Únoner*   é   )r
   r,   r   Úpopr   )Úpathr   Úlinesr    ÚdevÚtotalÚusedÚfreer   r   r   Údfd   s    


z"BSDTestCase.test_disks.<locals>.dfF)Úalli    zpsutil=%s, df=%s)r-   Zdisk_partitionsÚ
disk_usageZ
mountpointr2   Zdevicer=   Úabsr?   Zfailr>   )r3   r@   ÚpartÚusager<   r=   r>   r?   r   r   r   Ú
test_disksa   s    zBSDTestCase.test_disksr   zsysctl cmd not availablec                 C   s    t dƒ}|  tjdd|¡ d S )Nzhw.ncpuT)Úlogical)r   r2   r-   Ú	cpu_count©r3   Zsystr   r   r   Útest_cpu_count_logical|   s    z"BSDTestCase.test_cpu_count_logicalzskipped on NETBSDc                 C   s   t dƒ}|  |t ¡ j¡ d S )Nz
hw.physmem)r   r2   r-   Úvirtual_memoryr=   ©r3   Únumr   r   r   Útest_virtual_memory_total   s    z%BSDTestCase.test_virtual_memory_totalÚifconfigzifconfig cmd not availablec              	   C   sz   t  ¡  ¡ D ]h\}}ztd| ƒ}W n ty6   Y q0 | j|jd|v |d d|v r|  |jtt	 
d|¡d ƒ¡ qd S )Nzifconfig %sZRUNNING)ÚmsgÚmtuz	mtu (\d+)r   )r-   Znet_if_statsÚitemsr
   ÚRuntimeErrorr2   ZisuprQ   r   ÚreÚfindall)r3   ÚnameÚstatsr   r   r   r   Útest_net_if_stats‡   s    ÿzBSDTestCase.test_net_if_statsN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr'   r)   ÚunittestÚskipIfr   r5   rF   r   rJ   rN   rX   r   r   r   r   r!   L   s   





r!   zFREEBSD onlyc                   @   sf   e Zd Zedd„ ƒZedd„ ƒZeƒ dd„ ƒZdd„ Zd	d
„ Z	dd„ Z
eƒ dd„ ƒZeƒ dd„ ƒZdS )ÚFreeBSDPsutilTestCasec                 C   s   t ƒ j| _d S r"   r#   r%   r   r   r   r'      s    z FreeBSDPsutilTestCase.setUpClassc                 C   s   t | jƒ d S r"   r(   r%   r   r   r   r)   ¡   s    z#FreeBSDPsutilTestCase.tearDownClassc                 C   s²   t d| j ƒ}t | j¡jdd}| d¡dd … }|r®| ¡ }| ¡ }|d d… \}}}}	}
| ¡ }|  d||f |j¡ |  t	|
ƒ|j
¡ |j d¡s4|  |d	 |j¡ q4d S )
Nzprocstat -v %sF)Zgroupedr   r   é   z%s-%sú[é
   )r
   r$   r-   r.   Zmemory_mapsr   r9   r2   Úaddrr   Zrssr:   r   )r3   r   Úmapsr;   r    ÚfieldsÚ_ÚstartÚstopZpermsÚresÚmapr   r   r   Útest_memory_maps¥   s    z&FreeBSDPsutilTestCase.test_memory_mapsc                 C   s<   t d| j ƒ}|  t | j¡ ¡ | d¡d  ¡ d ¡ d S )Nzprocstat -b %sr   r   éÿÿÿÿ)r
   r$   r2   r-   r.   Zexer   ©r3   r   r   r   r   Útest_exe´   s    ÿzFreeBSDPsutilTestCase.test_exec                 C   sL   t d| j ƒ}|  d t | j¡ ¡ ¡d | d¡d  ¡ dd … ¡¡ d S )Nzprocstat -c %sú r   r   r   )r
   r$   r2   Újoinr-   r.   r   r   rn   r   r   r   Útest_cmdline¹   s    ÿz"FreeBSDPsutilTestCase.test_cmdlinec                 C   sÀ   t d| j ƒ}| d¡d  ¡ dd… \}}}}}}t | j¡}| ¡ }	| ¡ }
|  |	jt	|ƒ¡ |  |	j
t	|ƒ¡ |  |	jt	|ƒ¡ |  |
jt	|ƒ¡ |  |
j
t	|ƒ¡ |  |
jt	|ƒ¡ d S )Nzprocstat -s %sr   r   r   é   )r
   r$   r   r-   r.   ÚuidsÚgidsr2   Úrealr   Z	effectiveZsaved)r3   r   ZeuidZruidZsuidZegidZrgidZsgidÚprt   ru   r   r   r   Útest_uids_gids¾   s    &z$FreeBSDPsutilTestCase.test_uids_gidsc                 C   sÄ   g }t d| j ƒ}t | j¡}| d¡D ]‚}| ¡  ¡ }d|v rrt| ¡ d ƒ}| ¡ j	}|  
||¡ | d ¡ q(d|v r(t| ¡ d ƒ}| ¡ j}|  
||¡ | d ¡ q(t|ƒdkrÀtdƒ‚d S )Núprocstat -r %sr   z voluntary contextrm   z involuntary contextr   ú)couldn't find lines match in procstat out)r
   r$   r-   r.   r   Úlowerr,   r   Znum_ctx_switchesZ	voluntaryr2   ÚappendZinvoluntaryÚlenrS   ©r3   Ztestedr   rw   r    Zpstat_valueZpsutil_valuer   r   r   Útest_ctx_switchesË   s"    

z'FreeBSDPsutilTestCase.test_ctx_switchesc                 C   sà   g }t d| j ƒ}t | j¡}| d¡D ]ž}| ¡  ¡ }d|v r€td| ¡ d  d¡d  ƒ}| ¡ j	}|  
||¡ | d ¡ q(d|v r(td| ¡ d  d¡d  ƒ}| ¡ j}|  
||¡ | d ¡ q(t|ƒdkrÜtd	ƒ‚d S )
Nry   r   z	user timez0.rm   Ú.zsystem timer   rz   )r
   r$   r-   r.   r   r{   r,   ÚfloatZ	cpu_timesÚuserr2   r|   Úsystemr}   rS   r~   r   r   r   Útest_cpu_timesß   s"    

z$FreeBSDPsutilTestCase.test_cpu_timesN)rY   rZ   r[   r]   r'   r)   r	   rl   ro   rr   rx   r   r„   r   r   r   r   r`   š   s   



r`   c                   @   sÀ  e Zd Zedd„ ƒZdd„ Zeƒ dd„ ƒZeƒ dd„ ƒZeƒ d	d
„ ƒZ	eƒ dd„ ƒZ
eƒ dd„ ƒZeƒ dd„ ƒZe e d¡dd„ ƒZe e d¡eƒ dd„ ƒƒZe e d¡eƒ dd„ ƒƒZe e d¡eƒ dd„ ƒƒZe e d¡eƒ dd„ ƒƒZe e d¡eƒ dd„ ƒƒZe e d¡eƒ dd„ ƒƒZd d!„ Zd"d#„ Zd$d%„ Zeƒ d&d'„ ƒZd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Ze e d0¡d1d2„ ƒZ e e d0¡d3d4„ ƒZ!e ed5¡d6d7„ ƒZ"d8d9„ Z#d:S );ÚFreeBSDSystemTestCasec                  C   sR   t dƒ ¡ d } t d| ¡}|s,td|  ƒ‚dd„ |dd… D ƒ\}}}|||fS )	Nzswapinfo -krm   z\s+zCan't parse swapinfo: %sc                 s   s   | ]}t |ƒd  V  qdS )r8   N)r   )Ú.0rw   r   r   r   Ú	<genexpr>  ó    z7FreeBSDSystemTestCase.parse_swapinfo.<locals>.<genexpr>r   r6   )r
   Ú
splitlinesrT   r   r   )r4   Úpartsr=   r>   r?   r   r   r   Úparse_swapinfo÷   s    z$FreeBSDSystemTestCase.parse_swapinfoc                 C   s¬   d}zt t|ƒƒ}W n ty0   |  d¡ Y n0 |  t ¡ j|¡ d}t|ƒ}t | ¡ d  d¡d ƒ}t | ¡ d  d¡d ƒ}|  t ¡ j	|¡ |  t ¡ j
|¡ d S )Nzdev.cpu.0.freqz#frequencies not supported by kernelzdev.cpu.0.freq_levelsr   ú/rm   )r   r   rS   ÚskipTestr2   r-   Zcpu_freqÚcurrentr   ÚmaxÚmin)r3   ÚsensorÚsysctl_resultZmax_freqZmin_freqr   r   r   Ú!test_cpu_frequency_against_sysctl  s    z7FreeBSDSystemTestCase.test_cpu_frequency_against_sysctlc                 C   s&   t dƒt }| jt ¡ j|td d S )Nzvm.stats.vm.v_active_count©Údelta)r   ÚPAGESIZEÚassertAlmostEqualr-   rK   Úactiver   rI   r   r   r   Útest_vmem_active  s    ÿz&FreeBSDSystemTestCase.test_vmem_activec                 C   s&   t dƒt }| jt ¡ j|td d S )Nzvm.stats.vm.v_inactive_countr”   )r   r–   r—   r-   rK   Úinactiver   rI   r   r   r   Útest_vmem_inactive   s    ÿz(FreeBSDSystemTestCase.test_vmem_inactivec                 C   s&   t dƒt }| jt ¡ j|td d S )Nzvm.stats.vm.v_wire_countr”   )r   r–   r—   r-   rK   Úwiredr   rI   r   r   r   Útest_vmem_wired&  s    ÿz%FreeBSDSystemTestCase.test_vmem_wiredc                 C   s&   t dƒt }| jt ¡ j|td d S )Nzvm.stats.vm.v_cache_countr”   )r   r–   r—   r-   rK   Úcachedr   rI   r   r   r   Útest_vmem_cached,  s    ÿz&FreeBSDSystemTestCase.test_vmem_cachedc                 C   s&   t dƒt }| jt ¡ j|td d S )Nzvm.stats.vm.v_free_countr”   )r   r–   r—   r-   rK   r?   r   rI   r   r   r   Útest_vmem_free2  s    ÿz$FreeBSDSystemTestCase.test_vmem_freec                 C   s"   t dƒ}| jt ¡ j|td d S )Nzvfs.bufspacer”   )r   r—   r-   rK   Úbuffersr   rI   r   r   r   Útest_vmem_buffers8  s    ÿz'FreeBSDSystemTestCase.test_vmem_bufferszmuse not installedc                 C   s   t dƒ}|  t ¡ j|¡ d S )NZTotal)r   r2   r-   rK   r=   rL   r   r   r   Útest_muse_vmem_total@  s    z*FreeBSDSystemTestCase.test_muse_vmem_totalc                 C   s"   t dƒ}| jt ¡ j|td d S )NZActiver”   )r   r—   r-   rK   r˜   r   rL   r   r   r   Útest_muse_vmem_activeE  s    ÿz+FreeBSDSystemTestCase.test_muse_vmem_activec                 C   s"   t dƒ}| jt ¡ j|td d S )NZInactiver”   )r   r—   r-   rK   rš   r   rL   r   r   r   Útest_muse_vmem_inactiveL  s    ÿz-FreeBSDSystemTestCase.test_muse_vmem_inactivec                 C   s"   t dƒ}| jt ¡ j|td d S )NZWiredr”   )r   r—   r-   rK   rœ   r   rL   r   r   r   Útest_muse_vmem_wiredS  s    ÿz*FreeBSDSystemTestCase.test_muse_vmem_wiredc                 C   s"   t dƒ}| jt ¡ j|td d S )NÚCacher”   )r   r—   r-   rK   rž   r   rL   r   r   r   Útest_muse_vmem_cachedZ  s    ÿz+FreeBSDSystemTestCase.test_muse_vmem_cachedc                 C   s"   t dƒ}| jt ¡ j|td d S )NZFreer”   )r   r—   r-   rK   r?   r   rL   r   r   r   Útest_muse_vmem_freea  s    ÿz)FreeBSDSystemTestCase.test_muse_vmem_freec                 C   s"   t dƒ}| jt ¡ j|td d S )NZBufferr”   )r   r—   r-   rK   r¡   r   rL   r   r   r   Útest_muse_vmem_buffersh  s    ÿz,FreeBSDSystemTestCase.test_muse_vmem_buffersc                 C   s   | j t ¡ jtdƒdd d S )Nzvm.stats.sys.v_swtchéè  r”   )r—   r-   Ú	cpu_statsÚctx_switchesr   ©r3   r   r   r   Útest_cpu_stats_ctx_switcheso  s    ÿz1FreeBSDSystemTestCase.test_cpu_stats_ctx_switchesc                 C   s   | j t ¡ jtdƒdd d S )Nzvm.stats.sys.v_intrr«   r”   )r—   r-   r¬   Ú
interruptsr   r®   r   r   r   Útest_cpu_stats_interruptss  s    ÿz/FreeBSDSystemTestCase.test_cpu_stats_interruptsc                 C   s   | j t ¡ jtdƒdd d S )Nzvm.stats.sys.v_softr«   r”   )r—   r-   r¬   Zsoft_interruptsr   r®   r   r   r   Útest_cpu_stats_soft_interruptsw  s    ÿz4FreeBSDSystemTestCase.test_cpu_stats_soft_interruptsc                 C   s   | j t ¡ jtdƒdd d S )Nzvm.stats.sys.v_syscalli@ r”   )r—   r-   r¬   Zsyscallsr   r®   r   r   r   Útest_cpu_stats_syscalls{  s    ÿz-FreeBSDSystemTestCase.test_cpu_stats_syscallsc                 C   s(   |   ¡ \}}}| jt ¡ j|td d S ©Nr”   )r‹   r—   r-   Úswap_memoryr?   r   ©r3   r=   r>   r?   r   r   r   Útest_swapmem_free‡  s    ÿz'FreeBSDSystemTestCase.test_swapmem_freec                 C   s(   |   ¡ \}}}| jt ¡ j|td d S r´   )r‹   r—   r-   rµ   r>   r   r¶   r   r   r   Útest_swapmem_usedŒ  s    ÿz'FreeBSDSystemTestCase.test_swapmem_usedc                 C   s(   |   ¡ \}}}| jt ¡ j|td d S r´   )r‹   r—   r-   rµ   r=   r   r¶   r   r   r   Útest_swapmem_total‘  s    ÿz(FreeBSDSystemTestCase.test_swapmem_totalc                 C   sL   t dƒ}|| d¡d d … }|d | d¡… }t|ƒ}|  |t ¡ ¡ d S )Nzsysctl kern.boottimez sec = é   ú,)r   r   r   r2   r-   Ú	boot_time)r3   ÚsZbtimer   r   r   Útest_boot_time˜  s
    z$FreeBSDSystemTestCase.test_boot_timez
no batteryc                 C   sŠ   dd„ }t dƒ}tdd„ | d¡D ƒƒ}t ¡ }t|d  dd	¡ƒ}|d
 }|  |j|¡ |dkrt|  |j	tj
¡ n|  ||j	ƒ|¡ d S )Nc                 S   s(   t | dƒ\}}t |dƒ\}}d||f S )Né<   z%d:%02d)Údivmod)ZsecsÚmr½   Úhr   r   r   Ú
secs2hours£  s    z>FreeBSDSystemTestCase.test_sensors_battery.<locals>.secs2hourszacpiconf -i 0c                 S   s(   g | ] }|  d ¡d |  d ¡d f‘qS )ú	r   rm   )r   )r†   Úxr   r   r   Ú
<listcomp>©  s   ÿz>FreeBSDSystemTestCase.test_sensors_battery.<locals>.<listcomp>r   zRemaining capacity:ú%r*   zRemaining time:Úunknown)r
   Údictr   r-   Úsensors_batteryr   r+   r2   ÚpercentÚsecsleftZPOWER_TIME_UNLIMITED)r3   rÃ   r   rf   ZmetricsrË   Zremaining_timer   r   r   Útest_sensors_battery¡  s    ÿz*FreeBSDSystemTestCase.test_sensors_batteryc                 C   sl   |   t ¡ jtdƒ¡ |   t ¡ jtdƒdk¡ t ¡ j}|dk rT|   tdƒd¡ n|   |tdƒd ¡ d S )Núhw.acpi.battery.lifeúhw.acpi.acliner   r   úhw.acpi.battery.timerm   r¿   )r2   r-   rÊ   rË   r   Zpower_pluggedrÌ   )r3   rÌ   r   r   r   Ú#test_sensors_battery_against_sysctl´  s    ÿ
ÿ
z9FreeBSDSystemTestCase.test_sensors_battery_against_sysctlzhas batteryc                 C   sT   |   t¡( tdƒ tdƒ tdƒ W d   ƒ n1 s80    Y  |  t ¡ ¡ d S )NrÎ   rÐ   rÏ   )ÚassertRaisesrS   r   ZassertIsNoner-   rÊ   r®   r   r   r   Útest_sensors_battery_no_batteryÀ  s
    &z5FreeBSDSystemTestCase.test_sensors_battery_no_batteryc              	   C   s¶   t  d¡}t|ƒD ]ž}d| }zttt|ƒd d… ƒƒ}W n tyV   |  d¡ Y n0 | jt  	¡ d | j
|dd d| }ttt|ƒd d… ƒƒ}|  t  	¡ d | j|¡ qd S )	NTzdev.cpu.%s.temperaturerm   z$temperatures not supported by kernelZcoretemprc   r”   zdev.cpu.%s.coretemp.tjmax)r-   rH   Úranger   r   r   rS   r   r—   Zsensors_temperaturesrŽ   r2   Úhigh)r3   Znum_cpusÚcpur‘   r’   r   r   r   Ú(test_sensors_temperatures_against_sysctlÍ  s"    
þþz>FreeBSDSystemTestCase.test_sensors_temperatures_against_sysctlN)$rY   rZ   r[   Ústaticmethodr‹   r“   r	   r™   r›   r   rŸ   r    r¢   r^   r_   ÚMUSE_AVAILABLEr£   r¤   r¥   r¦   r¨   r©   rª   r¯   r±   r²   r³   r·   r¸   r¹   r¾   r   rÍ   rÑ   rÓ   r×   r   r   r   r   r…   ô   sf   








	



r…   zOPENBSD onlyc                   @   s   e Zd Zdd„ ZdS )ÚOpenBSDTestCasec                 C   s6   t dƒ}tj |d¡}tj t ¡ ¡}|  ||¡ d S )Nzkern.boottimez%a %b %d %H:%M:%S %Y)r   ÚdatetimeÚstrptimeÚfromtimestampr-   r¼   r2   )r3   r½   Zsys_btZ	psutil_btr   r   r   r¾   é  s    zOpenBSDTestCase.test_boot_timeN)rY   rZ   r[   r¾   r   r   r   r   rÚ   æ  s   rÚ   zNETBSD onlyc                   @   sh   e Zd Zedd„ ƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚNetBSDTestCasec                 C   st   t ddƒJ}|D ]4}| | ¡rt| ¡ d ƒd   W  d   ƒ S qW d   ƒ n1 sZ0    Y  td|  ƒ‚d S )Nz/proc/meminfoÚrtr   r8   zcan't find %s)Úopenr   r   r   r   )Zlook_forÚfr    r   r   r   Úparse_meminfoø  s
    
FzNetBSDTestCase.parse_meminfoc                 C   s   |   t ¡ j|  d¡¡ d S )Nz	MemTotal:)r2   r-   rK   r=   râ   r®   r   r   r   Útest_vmem_total  s    ÿzNetBSDTestCase.test_vmem_totalc                 C   s    | j t ¡ j|  d¡td d S )NzMemFree:r”   )r—   r-   rK   r?   râ   r   r®   r   r   r   r      s    þzNetBSDTestCase.test_vmem_freec                 C   s    | j t ¡ j|  d¡td d S )NzBuffers:r”   )r—   r-   rK   r¡   râ   r   r®   r   r   r   r¢     s    þz NetBSDTestCase.test_vmem_buffersc                 C   s    | j t ¡ j|  d¡td d S )Nz
MemShared:r”   )r—   r-   rK   Zsharedrâ   r   r®   r   r   r   Útest_vmem_shared  s    þzNetBSDTestCase.test_vmem_sharedc                 C   s    | j t ¡ j|  d¡td d S )NzCached:r”   )r—   r-   rK   rž   râ   r   r®   r   r   r   rŸ     s    þzNetBSDTestCase.test_vmem_cachedc                 C   s    | j t ¡ j|  d¡td d S )Nz
SwapTotal:r”   )r—   r-   rµ   r=   râ   r   r®   r   r   r   r¹     s    þz!NetBSDTestCase.test_swapmem_totalc                 C   s    | j t ¡ j|  d¡td d S )Nz	SwapFree:r”   )r—   r-   rµ   r?   râ   r   r®   r   r   r   r·   !  s    þz NetBSDTestCase.test_swapmem_freec                 C   s"   t  ¡ }|  |j|j|j ¡ d S r"   )r-   rµ   r2   r>   r=   r?   )r3   Zsmemr   r   r   r¸   &  s    z NetBSDTestCase.test_swapmem_usedc                 C   st   t ddƒ@}|D ]"}| d¡rt| ¡ d ƒ} q<qtdƒ‚W d   ƒ n1 sP0    Y  | jt ¡ j|dd d S )Nú
/proc/statÚrbs   intrr   úcouldn't find liner«   r”   )	rà   r   r   r   r   r—   r-   r¬   r°   )r3   rá   r    r°   r   r   r   r±   ,  s    
&ÿz(NetBSDTestCase.test_cpu_stats_interruptsc                 C   st   t ddƒ@}|D ]"}| d¡rt| ¡ d ƒ} q<qtdƒ‚W d   ƒ n1 sP0    Y  | jt ¡ j|dd d S )Nrå   ræ   s   ctxtr   rç   r«   r”   )	rà   r   r   r   r   r—   r-   r¬   r­   )r3   rá   r    r­   r   r   r   r¯   7  s    
&ÿz*NetBSDTestCase.test_cpu_stats_ctx_switchesN)rY   rZ   r[   rØ   râ   rã   r    r¢   rä   rŸ   r¹   r·   r¸   r±   r¯   r   r   r   r   rÞ   õ  s   
	rÞ   Ú__main__)Úrun_from_name)%r\   rÛ   ÚosrT   r/   r^   r-   r   r   r   r   Zpsutil.testsr   r   r   r	   r
   r   r   r   Zpsutil._psutil_posixr   r–   ÚgetuidrÙ   r   r   r_   r!   r`   r…   rÚ   rÞ   rY   Zpsutil.tests.runnerré   Ú__file__r   r   r   r   Ú<module>
   sP   MY rM
