HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/psutil/tests/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/psutil/tests/__pycache__/test_bsd.cpython-36.pyc
3

�[g�N�@s�dZddlZddlZddlZddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddl
mZdd	l
m
Z
dd
l
mZddl
mZddl
mZdd
l
mZddl
mZddl
mZer�ddlmZe�Zej�dko�ed�ZndZdZdd�Zdd�Zejjedd�Gdd�de
��Zejjedd�Gdd�de
��Zejjedd�Gdd�de
��Zejje	dd�Gd d!�d!e
��Z ejjed"d�Gd#d$�d$e
��Z!dS)%z$Tests specific to all BSD platforms.�N)�BSD)�FREEBSD)�NETBSD)�OPENBSD)�HAS_BATTERY)�TOLERANCE_SYS_MEM)�PsutilTestCase)�pytest)�retry_on_failure)�sh)�spawn_testproc)�	terminate)�which)�getpagesize�museFcCshtd|�}tr(||jd�dd�}nts0trF||jd�dd�}yt|�Stk
rb|SXdS)zmExpects a sysctl command with an argument and parse the result
    returning only the value of interest.
    zsysctl z: �N�=�)rr�findrr�int�
ValueError)�cmdline�result�r�A/usr/local/lib64/python3.6/site-packages/psutil/tests/test_bsd.py�sysctl-srcCs@td�}x&|jd�D]}|j|�rPqWtd��t|j�d�S)z+Thin wrapper around 'muse' cmdline utility.r�
zline not foundr)r�split�
startswithrr)�field�out�linerrrr<s
zBSD only)�reasonc@s�eZdZdZedd��Zedd��Zejj	e
dd�dd	��Zd
d�Zejj	e
d�d
d�dd��Zejj	e
d�d
d�ejj	e
dd�dd���Zejj	e
d�dd�dd��ZdS)�BSDTestCasez)Generic tests common to all BSD variants.cCst�j|_dS)N)r�pid)�clsrrr�
setUpClassPszBSDTestCase.setUpClasscCst|j�dS)N)r
r$)r%rrr�
tearDownClassTszBSDTestCase.tearDownClassz -o lstart doesn't work on NETBSD)r"cCsPtd|j�}|jdd�j�}tj|j�j�}tjdtj	|��}||ksLt
�dS)Nzps -o lstart -p %sZSTARTED�z%a %b %e %H:%M:%S %Y)rr$�replace�strip�psutil�ProcessZcreate_time�time�strftime�	localtime�AssertionError)�self�outputZstart_psZstart_psutilrrr�test_process_create_timeXsz$BSDTestCase.test_process_create_timecCs�dd�}x�tjdd�D]�}tj|j�}||j�\}}}}|j|ksFt�|j|ksTt�t|j|�d	krz|j	d|j|f��t|j
|�dkr|j	d|j
|f��qWdS)NcSs�td|�j�}|jd�}|jd�|jd�}|j�dd�\}}}}|dkrRd}t|�d}t|�d}t|�d}||||fS)Nz
df -k "%s"rr�Znoner(i)rr*r�popr)�pathr �linesr!�dev�total�used�freerrr�dfes


z"BSDTestCase.test_disks.<locals>.dfF)�all�
izpsutil=%s, df=%si(i�i(i�)r+Zdisk_partitions�
disk_usage�
mountpoint�devicer0r9�absr;Zfailr:)r1r<�part�usager8r9r:r;rrr�
test_disksbs
zBSDTestCase.test_disksrzsysctl cmd not availablecCs td�}tjdd�|kst�dS)Nzhw.ncpuT)Zlogical)rr+�	cpu_countr0)r1�systrrr�test_cpu_count_logical}sz"BSDTestCase.test_cpu_count_logicalzskipped on NETBSDcCstd�}|tj�jkst�dS)Nz
hw.physmem)rr+�virtual_memoryr9r0)r1�numrrr�test_virtual_memory_total�sz%BSDTestCase.test_virtual_memory_total�ifconfigzifconfig cmd not availablecCs|xvtj�j�D]f\}}ytd|�}Wntk
r:YqX|jd|kksNt�d|kr|jtt	j
d|�d�kst�qWdS)Nzifconfig %sZRUNNING�mtuz	mtu (\d+)r)r+Znet_if_stats�itemsr�RuntimeError�isupr0rMr�re�findall)r1�nameZstatsr rrr�test_net_if_stats�szBSDTestCase.test_net_if_statsN)�__name__�
__module__�__qualname__�__doc__�classmethodr&r'r	�mark�skipifrr3rErrHrKrTrrrrr#Ls
r#zFREEBSD onlyc@sfeZdZedd��Zedd��Ze�dd��Zdd�Zd	d
�Z	dd�Z
e�d
d��Ze�dd��ZdS)�FreeBSDPsutilTestCasecCst�j|_dS)N)rr$)r%rrrr&�sz FreeBSDPsutilTestCase.setUpClasscCst|j�dS)N)r
r$)r%rrrr'�sz#FreeBSDPsutilTestCase.tearDownClasscCs�td|j�}tj|j�jdd�}|jd�dd�}x||r�|j�}|j�}|dd�\}}}}	}
|j�}d||f|jks~t�t	|
�|j
ks�t�|jjd�s6|d	|jks6t�q6WdS)
Nzprocstat -v %sF)Zgroupedrr�z%s-%s�[r>)
rr$r+r,Zmemory_mapsrr5�addrr0rZrssr6r)r1r �mapsr7r!�fields�_�start�stopZ_perms�res�maprrr�test_memory_maps�sz&FreeBSDPsutilTestCase.test_memory_mapscCs<td|j�}tj|j�j�|jd�dj�dks8t�dS)Nzprocstat -b %srr���)rr$r+r,Zexerr0)r1r rrr�test_exe�szFreeBSDPsutilTestCase.test_execCsLtd|j�}djtj|j�j��dj|jd�dj�dd��ksHt�dS)Nzprocstat -c %s� rrr)rr$�joinr+r,rrr0)r1r rrr�test_cmdline�sz"FreeBSDPsutilTestCase.test_cmdlinecCs�td|j�}|jd�dj�dd�\}}}}}}tj|j�}|j�}	|j�}
|	jt|�ksbt	�|	j
t|�kstt	�|	jt|�ks�t	�|
jt|�ks�t	�|
j
t|�ks�t	�|
jt|�ks�t	�dS)Nzprocstat -s %srrr�)rr$rr+r,�uids�gids�realrr0�	effective�saved)r1r ZeuidZruidZsuidZegidZrgidZsgid�prnrorrr�test_uids_gids�s&z$FreeBSDPsutilTestCase.test_uids_gidscCs�g}td|j�}tj|j�}x�|jd�D]�}|j�j�}d|krtt|j�d�}|j�j	}||ksht
�|jd�q*d|kr*t|j�d	�}|j�j}||ks�t
�|jd�q*Wt
|�dkr�td��dS)
Nzprocstat -r %srz voluntary contextrz involuntary contextrz)couldn't find lines match in procstat outrhrh)rr$r+r,r�lowerr*rZnum_ctx_switches�	voluntaryr0�append�involuntary�lenrO)r1�testedr rsr!�pstat_value�psutil_valuerrr�test_ctx_switches�s"

z'FreeBSDPsutilTestCase.test_ctx_switchescCs�g}td|j�}tj|j�}x�|jd�D]�}|j�j�}d|kr�td|j�d
jd�d�}|j�j	}||ksvt
�|jd�q*d|kr*td|j�djd�d
�}|j�j}||ks�t
�|jd�q*Wt
|�dkr�td	��dS)Nzprocstat -r %srz	user timez0.r�.zsystem timerz)couldn't find lines match in procstat outrhrhrhrh)rr$r+r,rrur*�floatZ	cpu_times�userr0rw�systemryrO)r1rzr rsr!r{r|rrr�test_cpu_times�s"

z$FreeBSDPsutilTestCase.test_cpu_timesN)
rUrVrWrYr&r'r
rgrirlrtr}r�rrrrr\�s
r\c@s�eZdZedd��Zdd�Ze�dd��Ze�dd��Ze�d	d
��Z	e�dd��Z
e�d
d��Ze�dd��Ze
jjedd�dd��Ze
jjedd�e�dd���Ze
jjedd�e�dd���Ze
jjedd�e�dd���Ze
jjedd�e�dd���Ze
jjedd�e�dd���Ze
jjedd�e�dd ���Zd!d"�Zd#d$�Zd%d&�Ze�d'd(��Zd)d*�Zd+d,�Zd-d.�Zd/d0�Ze
jje d1d�d2d3��Z!e
jje d1d�d4d5��Z"e
jje d6d�d7d8��Z#d9d:�Z$d;S)<�FreeBSDSystemTestCasecCsRtd�j�d}tjd|�}|s,td|��dd�|dd�D�\}}}|||fS)	Nzswapinfo -krz\s+zCan't parse swapinfo: %scss|]}t|�dVqdS)iN)r)�.0rsrrr�	<genexpr>sz7FreeBSDSystemTestCase.parse_swapinfo.<locals>.<genexpr>r4rh)r�
splitlinesrQrr)r2�partsr9r:r;rrr�parse_swapinfo�sz$FreeBSDSystemTestCase.parse_swapinfocCs�d}ytt|��}Wntk
r2tjd��YnXtj�j|ksFt�d}t|�}t|j	�dj	d�d�}t|j	�dj	d�d�}tj�j
|ks�t�tj�j|ks�t�dS)Nzdev.cpu.0.freqz#frequencies not supported by kernelzdev.cpu.0.freq_levelsr�/rrh)rrrOr	�skipr+Zcpu_freq�currentr0r�max�min)r1�sensor�
sysctl_resultZmax_freqZmin_freqrrr�!test_cpu_frequency_against_sysctlsz7FreeBSDSystemTestCase.test_cpu_frequency_against_sysctlcCs*td�t}ttj�j|�tks&t�dS)Nzvm.stats.vm.v_active_count)r�PAGESIZErBr+rI�activerr0)r1rGrrr�test_vmem_activesz&FreeBSDSystemTestCase.test_vmem_activecCs*td�t}ttj�j|�tks&t�dS)Nzvm.stats.vm.v_inactive_count)rr�rBr+rI�inactiverr0)r1rGrrr�test_vmem_inactive!sz(FreeBSDSystemTestCase.test_vmem_inactivecCs*td�t}ttj�j|�tks&t�dS)Nzvm.stats.vm.v_wire_count)rr�rBr+rI�wiredrr0)r1rGrrr�test_vmem_wired&sz%FreeBSDSystemTestCase.test_vmem_wiredcCs*td�t}ttj�j|�tks&t�dS)Nzvm.stats.vm.v_cache_count)rr�rBr+rI�cachedrr0)r1rGrrr�test_vmem_cached+sz&FreeBSDSystemTestCase.test_vmem_cachedcCs*td�t}ttj�j|�tks&t�dS)Nzvm.stats.vm.v_free_count)rr�rBr+rIr;rr0)r1rGrrr�test_vmem_free0sz$FreeBSDSystemTestCase.test_vmem_freecCs&td�}ttj�j|�tks"t�dS)Nzvfs.bufspace)rrBr+rI�buffersrr0)r1rGrrr�test_vmem_buffers5sz'FreeBSDSystemTestCase.test_vmem_bufferszmuse not installed)r"cCstd�}tj�j|kst�dS)NZTotal)rr+rIr9r0)r1rJrrr�test_muse_vmem_total<sz*FreeBSDSystemTestCase.test_muse_vmem_totalcCs&td�}ttj�j|�tks"t�dS)NZActive)rrBr+rIr�rr0)r1rJrrr�test_muse_vmem_activeAsz+FreeBSDSystemTestCase.test_muse_vmem_activecCs&td�}ttj�j|�tks"t�dS)NZInactive)rrBr+rIr�rr0)r1rJrrr�test_muse_vmem_inactiveGsz-FreeBSDSystemTestCase.test_muse_vmem_inactivecCs&td�}ttj�j|�tks"t�dS)NZWired)rrBr+rIr�rr0)r1rJrrr�test_muse_vmem_wiredMsz*FreeBSDSystemTestCase.test_muse_vmem_wiredcCs&td�}ttj�j|�tks"t�dS)N�Cache)rrBr+rIr�rr0)r1rJrrr�test_muse_vmem_cachedSsz+FreeBSDSystemTestCase.test_muse_vmem_cachedcCs&td�}ttj�j|�tks"t�dS)NZFree)rrBr+rIr;rr0)r1rJrrr�test_muse_vmem_freeYsz)FreeBSDSystemTestCase.test_muse_vmem_freecCs&td�}ttj�j|�tks"t�dS)NZBuffer)rrBr+rIr�rr0)r1rJrrr�test_muse_vmem_buffers_sz,FreeBSDSystemTestCase.test_muse_vmem_bufferscCs"ttj�jtd��dkst�dS)Nzvm.stats.sys.v_swtchi�)rBr+�	cpu_stats�ctx_switchesrr0)r1rrr�test_cpu_stats_ctx_switcheses
z1FreeBSDSystemTestCase.test_cpu_stats_ctx_switchescCs"ttj�jtd��dkst�dS)Nzvm.stats.sys.v_intri�)rBr+r��
interruptsrr0)r1rrr�test_cpu_stats_interruptsnsz/FreeBSDSystemTestCase.test_cpu_stats_interruptscCs"ttj�jtd��dkst�dS)Nzvm.stats.sys.v_softi�)rBr+r��soft_interruptsrr0)r1rrr�test_cpu_stats_soft_interruptsts
z4FreeBSDSystemTestCase.test_cpu_stats_soft_interruptscCs"ttj�jtd��dkst�dS)Nzvm.stats.sys.v_syscalli@
)rBr+r��syscallsrr0)r1rrr�test_cpu_stats_syscalls}sz-FreeBSDSystemTestCase.test_cpu_stats_syscallscCs,|j�\}}}ttj�j|�tks(t�dS)N)r�rBr+�swap_memoryr;rr0)r1�_total�_usedr;rrr�test_swapmem_free�sz'FreeBSDSystemTestCase.test_swapmem_freecCs,|j�\}}}ttj�j|�tks(t�dS)N)r�rBr+r�r:rr0)r1r�r:�_freerrr�test_swapmem_used�sz'FreeBSDSystemTestCase.test_swapmem_usedcCs,|j�\}}}ttj�j|�tks(t�dS)N)r�rBr+r�r9rr0)r1r9r�r�rrr�test_swapmem_total�sz(FreeBSDSystemTestCase.test_swapmem_totalcCsLtd�}||jd�dd�}|d|jd��}t|�}|tj�ksHt�dS)Nzsysctl kern.boottimez sec = ��,)rrrr+�	boot_timer0)r1�sZbtimerrr�test_boot_time�s
z$FreeBSDSystemTestCase.test_boot_timez
no batterycCs�dd�}td�}tdd�|jd�D��}tj�}t|djdd	��}|d
}|j|ksZt�|dkrt|j	tj
ks�t�n||j	�|ks�t�dS)NcSs(t|d�\}}t|d�\}}d||fS)N�<z%d:%02d)�divmod)Zsecs�mZ_s�hrrr�
secs2hours�sz>FreeBSDSystemTestCase.test_sensors_battery.<locals>.secs2hoursz
acpiconf -i 0cSs(g|] }|jd�d|jd�df�qS)�	rrrh)r)r��xrrr�
<listcomp>�sz>FreeBSDSystemTestCase.test_sensors_battery.<locals>.<listcomp>rzRemaining capacity:�%r(zRemaining time:�unknown)r�dictrr+�sensors_batteryrr)�percentr0�secsleft�POWER_TIME_UNLIMITED)r1r�r ra�metricsr�Zremaining_timerrr�test_sensors_battery�sz*FreeBSDSystemTestCase.test_sensors_batterycCsltj�jtd�kst�tj�jtd�dkks0t�tj�j}|dkrTtd�dksht�n|td�dksht�dS)Nzhw.acpi.battery.lifezhw.acpi.aclinerrzhw.acpi.battery.timer�rh)r+r�r�rr0�
power_pluggedr�)r1r�rrr�#test_sensors_battery_against_sysctl�s

z9FreeBSDSystemTestCase.test_sensors_battery_against_sysctlzhas batteryc	CsBtjt��td�td�td�WdQRXtj�dks>t�dS)Nzhw.acpi.battery.lifezhw.acpi.battery.timezhw.acpi.acline)r	ZraisesrOrr+r�r0)r1rrr�test_sensors_battery_no_battery�s
z5FreeBSDSystemTestCase.test_sensors_battery_no_batterycCs�tjd�}x�t|�D]�}d|}yttt|�dd���}Wntk
rZtjd��YnXt	tj
�d|j|�dks~t�d|}ttt|�dd	���}tj
�d|j
|kst�qWdS)
NTzdev.cpu.%s.temperaturerz$temperatures not supported by kernelZcoretempr>zdev.cpu.%s.coretemp.tjmaxrhrh)r+rF�rangerrrrOr	r�rBZsensors_temperaturesr�r0�high)r1Znum_cpusZcpur�r�rrr�(test_sensors_temperatures_against_sysctl�s

z>FreeBSDSystemTestCase.test_sensors_temperatures_against_sysctlN)%rUrVrW�staticmethodr�r�r
r�r�r�r�r�r�r	rZr[�MUSE_AVAILABLEr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�rrrrr��sB
			
r�zOPENBSD onlyc@seZdZdd�ZdS)�OpenBSDTestCasecCs6td�}tjj|d�}tjjtj��}||ks2t�dS)Nz
kern.boottimez%a %b %d %H:%M:%S %Y)r�datetime�strptime�
fromtimestampr+r�r0)r1r�Zsys_btZ	psutil_btrrrr��szOpenBSDTestCase.test_boot_timeN)rUrVrWr�rrrrr��sr�zNETBSD onlyc@sheZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�ZdS)�NetBSDTestCasecCsPtd��2}x*|D]"}|j|�rt|j�d�dSqWWdQRXtd|��dS)Nz
/proc/meminforiz
can't find %s)�openrrrr)Zlook_for�fr!rrr�
parse_meminfo�s



"zNetBSDTestCase.parse_meminfocCstj�j|jd�kst�dS)Nz	MemTotal:)r+rIr9r�r0)r1rrr�test_vmem_total	szNetBSDTestCase.test_vmem_totalcCs$ttj�j|jd��tks t�dS)NzMemFree:)rBr+rIr;r�rr0)r1rrrr�szNetBSDTestCase.test_vmem_freecCs$ttj�j|jd��tks t�dS)NzBuffers:)rBr+rIr�r�rr0)r1rrrr�sz NetBSDTestCase.test_vmem_bufferscCs$ttj�j|jd��tks t�dS)Nz
MemShared:)rBr+rI�sharedr�rr0)r1rrr�test_vmem_sharedszNetBSDTestCase.test_vmem_sharedcCs$ttj�j|jd��tks t�dS)NzCached:)rBr+rIr�r�rr0)r1rrrr�$szNetBSDTestCase.test_vmem_cachedcCs$ttj�j|jd��tks t�dS)Nz
SwapTotal:)rBr+r�r9r�rr0)r1rrrr�,sz!NetBSDTestCase.test_swapmem_totalcCs$ttj�j|jd��tks t�dS)Nz	SwapFree:)rBr+r�r;r�rr0)r1rrrr�2sz NetBSDTestCase.test_swapmem_freecCs"tj�}|j|j|jkst�dS)N)r+r�r:r9r;r0)r1�smemrrrr�8sz NetBSDTestCase.test_swapmem_usedcCsftdd��8}x0|D] }|jd�rt|j�d�}PqWtd��WdQRXttj�j|�dksbt	�dS)Nz
/proc/stat�rbsintrrzcouldn't find linei�)
r�rrrrrBr+r�r�r0)r1r�r!r�rrrr�>s

z(NetBSDTestCase.test_cpu_stats_interruptscCsftdd��8}x0|D] }|jd�rt|j�d�}PqWtd��WdQRXttj�j|�dksbt	�dS)Nz
/proc/statr�sctxtrzcouldn't find linei�)
r�rrrrrBr+r�r�r0)r1r�r!r�rrrr�Hs

z*NetBSDTestCase.test_cpu_stats_ctx_switchesN)rUrVrWr�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s
		
r�)"rXr��osrQr-r+rrrrZpsutil.testsrrrr	r
rrr
rZpsutil._psutil_posixrr��getuidr�rrrZr[r#r\r�r�r�rrrr�<module>
sJQXx