Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/psutil/tests/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/psutil/tests/__pycache__/test_bsd.cpython-35.pyc



Cs[fI�@s9dZddlZddlZddlZddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddl
mZdd	l
m
Z
dd
l
mZddl
mZddl
mZdd
l
mZddl
mZddl
mZerQejd�Zej�dkrHed�ZndZndZdd�Zdd�Zejed�Gdd�dej��Zejed�Gdd�dej��Zeje	d�Gdd�dej��Zejed�Gd d!�d!ej��Ze d"kr5ee!�dS)#z$Tests specific to all BSD platforms.�N)�BSD)�FREEBSD)�NETBSD)�OPENBSD)�get_test_subprocess)�HAS_BATTERY)�MEMORY_TOLERANCE)�
reap_children)�retry_before_failing)�run_test_module_by_name)�sh)�unittest)�which�SC_PAGE_SIZE�museFcCs�td|�}tr6||jd�dd�}n)tsBtr_||jd�dd�}yt|�SWntk
r�|SYnXdS)zmExpects a sysctl command with an argument and parse the result
    returning only the value of interest.
    zsysctl z: �N�=�)rr�findrr�int�
ValueError)�cmdline�result�r�H/opt/alt/python35/lib64/python3.5/site-packages/psutil/tests/test_bsd.py�sysctl,s 
rcCsVtd�}x3|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 onlyc@s�eZdZdZedd��Zedd��Zeje	d�dd��Z
d	d
�Zejed�d�d
d��Z
ejed�d�dd��Zdd�ZdS)�BSDSpecificTestCasez)Generic tests common to all BSD variants.cCst�j|_dS)N)r�pid)�clsrrr�
setUpClassOszBSDSpecificTestCase.setUpClasscCst�dS)N)r	)r$rrr�
tearDownClassSsz!BSDSpecificTestCase.tearDownClassz -o lstart doesn't work on NETBSDcCsrtd|j�}|jdd�j�}tj|j�j�}tjdtj	|��}|j
||�dS)Nzps -o lstart -p %sZSTARTED�z%a %b %e %H:%M:%S %Y)rr#�replace�strip�psutil�ProcessZcreate_time�time�strftime�	localtime�assertEqual)�self�outputZstart_psZstart_psutilrrr�test_process_create_timeWs	z,BSDSpecificTestCase.test_process_create_timecCs�dd�}x�tjdd�D]�}tj|j�}||j�\}}}}|j|j|�|j|j|�t|j|�d	kr�|j	d|j|f�t|j
|�dkr|j	d|j
|f�qWdS)NcSs�td|�j�}|jd�}|jd�|jd�}|j�dd�\}}}}|dkrud}t|�d}t|�d}t|�d}||||fS)Nz
df -k "%s"rr�Znoner'i)rr)r�popr)�pathr �linesr!�dev�total�used�freerrr�dfcs
"z*BSDSpecificTestCase.test_disks.<locals>.df�allF�
izpsutil=%s, df=%si(i�i(i�)r*Zdisk_partitions�
disk_usage�
mountpointr/�devicer8�absr:Zfailr9)r0r;�part�usager7r8r9r:rrr�
test_disks`s
zBSDSpecificTestCase.test_disksrzsysctl cmd not availablecCs,td�}|jtjdd�|�dS)Nzhw.ncpuZlogicalT)rr/r*�	cpu_count)r0�systrrr�test_cpu_count_logical{sz*BSDSpecificTestCase.test_cpu_count_logicalcCs)td�}|j|tj�j�dS)Nz
hw.physmem)rr/r*�virtual_memoryr8)r0�numrrr�test_virtual_memory_total�sz-BSDSpecificTestCase.test_virtual_memory_totalcCs�x�tj�j�D]�\}}ytd|�}Wntk
rGYqX|j|jd|kd|�d|kr|j|jtt	j
d|�d��qWdS)Nzifconfig %sZRUNNING�msg�mtuz	mtu (\d+)r)r*Znet_if_stats�itemsr�RuntimeErrorr/�isuprLr�re�findall)r0�nameZstatsr rrr�test_net_if_stats�s
z%BSDSpecificTestCase.test_net_if_statsN)�__name__�
__module__�__qualname__�__doc__�classmethodr%r&r
�skipIfrr2rDrrGrJrSrrrrr"Ks	%%r"zFREEBSD onlyc@s�eZdZedd��Zedd��Zedd��Ze�dd��Z	d	d
�Z
dd�Zd
d�Ze�dd��Z
e�dd��Ze�dd��Ze�dd��Ze�dd��Ze�dd��Ze�dd��Ze�dd��Zejed�d d!��Zejed�e�d"d#���Zejed�e�d$d%���Zejed�e�d&d'���Zejed�e�d(d)���Zejed�e�d*d+���Zejed�e�d,d-���Zd.d/�Zd0d1�Z d2d3�Z!d4d5�Z"d6d7�Z#d8d9�Z$d:d;�Z%d<d=�Z&eje'd>�d?d@��Z(eje'd>�dAdB��Z)eje'dC�dDdE��Z*dFS)G�FreeBSDSpecificTestCasecCst�j|_dS)N)rr#)r$rrrr%�sz"FreeBSDSpecificTestCase.setUpClasscCst�dS)N)r	)r$rrrr&�sz%FreeBSDSpecificTestCase.tearDownClasscCsqtd�j�d}tjd|�}|s>td|��dd�|dd�D�\}}}|||fS)	Nzswapinfo -krz\s+zCan't parse swapinfo: %scss|]}t|�dVqdS)iN)r)�.0�prrr�	<genexpr>�sz9FreeBSDSpecificTestCase.parse_swapinfo.<locals>.<genexpr>r3���)r�
splitlinesrPrr)r1�partsr8r9r:rrr�parse_swapinfo�s&z&FreeBSDSpecificTestCase.parse_swapinfocCs�td|j�}tj|j�jdd�}|jd�dd�}x�|r�|j�}|j�}|dd�\}}}}	}
|j�}|jd||f|j�|jt	|
�|j
�|jjd�sM|j|d	|j�qMWdS)
Nzprocstat -v %sZgroupedFrr�z%s-%s�[r=)
rr#r*r+Zmemory_mapsrr4r/�addrrZrssr5r)r0r �mapsr6r!�fields�_�start�stopZperms�res�maprrr�test_proc_memory_maps�s	z-FreeBSDSpecificTestCase.test_proc_memory_mapscCsPtd|j�}|jtj|j�j�|jd�dj�d�dS)Nzprocstat -b %srrr^)rr#r/r*r+Zexer)r0r rrr�
test_proc_exe�sz%FreeBSDSpecificTestCase.test_proc_execCshtd|j�}|jdjtj|j�j��dj|jd�dj�dd���dS)Nzprocstat -c %s� rrr)rr#r/�joinr*r+rr)r0r rrr�test_proc_cmdline�s$z)FreeBSDSpecificTestCase.test_proc_cmdlinecCstd|j�}|jd�dj�dd�\}}}}}}tj|j�}|j�}	|j�}
|j|	jt	|��|j|	j
t	|��|j|	jt	|��|j|
jt	|��|j|
j
t	|��|j|
jt	|��dS)Nzprocstat -s %srrr�)rr#rr*r+�uids�gidsr/�realr�	effective�saved)r0r ZeuidZruidZsuidZegidZrgidZsgidr\rrrsrrr�test_proc_uids_gids�s5z+FreeBSDSpecificTestCase.test_proc_uids_gidscCsg}td|j�}tj|j�}x�|jd�D]�}|j�j�}d|kr�t|j�d�}|j�j	}|j
||�|jd�q;d|kr;t|j�d	�}|j�j}|j
||�|jd�q;Wt
|�dkrtd��dS)
Nzprocstat -r %srz voluntary contextrz involuntary contextrz)couldn't find lines match in procstat outr^r^)rr#r*r+r�lowerr)rZnum_ctx_switches�	voluntaryr/�append�involuntary�lenrN)r0�testedr r\r!�pstat_value�psutil_valuerrr�test_proc_ctx_switches�s"z.FreeBSDSpecificTestCase.test_proc_ctx_switchescCs:g}td|j�}tj|j�}x�|jd�D]�}|j�j�}d|kr�td|j�d
jd�d�}|j�j	}|j
||�|jd�q;d|kr;td|j�djd�d
�}|j�j}|j
||�|jd�q;Wt
|�dkr6td	��dS)Nzprocstat -r %srz	user timez0.r�.zsystem timerz)couldn't find lines match in procstat outr^r^r^r^)rr#r*r+rrxr)�floatZ	cpu_times�userr/rz�systemr|rN)r0r}r r\r!r~rrrr�test_proc_cpu_times�s"''z+FreeBSDSpecificTestCase.test_proc_cpu_timescCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_active_count�delta)r�PAGESIZE�assertAlmostEqualr*rH�activer)r0rFrrr�test_vmem_active�sz(FreeBSDSpecificTestCase.test_vmem_activecCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_inactive_countr�)rr�r�r*rH�inactiver)r0rFrrr�test_vmem_inactivesz*FreeBSDSpecificTestCase.test_vmem_inactivecCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_wire_countr�)rr�r�r*rH�wiredr)r0rFrrr�test_vmem_wiredsz'FreeBSDSpecificTestCase.test_vmem_wiredcCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_cache_countr�)rr�r�r*rH�cachedr)r0rFrrr�test_vmem_cachedsz(FreeBSDSpecificTestCase.test_vmem_cachedcCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_free_countr�)rr�r�r*rHr:r)r0rFrrr�test_vmem_freesz&FreeBSDSpecificTestCase.test_vmem_freecCs/td�}|jtj�j|dt�dS)Nzvfs.bufspacer�)rr�r*rH�buffersr)r0rFrrr�test_vmem_bufferssz)FreeBSDSpecificTestCase.test_vmem_bufferszmuse not installedcCs)td�}|jtj�j|�dS)NZTotal)rr/r*rHr8)r0rIrrr�test_muse_vmem_total%sz,FreeBSDSpecificTestCase.test_muse_vmem_totalcCs/td�}|jtj�j|dt�dS)NZActiver�)rr�r*rHr�r)r0rIrrr�test_muse_vmem_active*sz-FreeBSDSpecificTestCase.test_muse_vmem_activecCs/td�}|jtj�j|dt�dS)NZInactiver�)rr�r*rHr�r)r0rIrrr�test_muse_vmem_inactive1sz/FreeBSDSpecificTestCase.test_muse_vmem_inactivecCs/td�}|jtj�j|dt�dS)NZWiredr�)rr�r*rHr�r)r0rIrrr�test_muse_vmem_wired8sz,FreeBSDSpecificTestCase.test_muse_vmem_wiredcCs/td�}|jtj�j|dt�dS)N�Cacher�)rr�r*rHr�r)r0rIrrr�test_muse_vmem_cached?sz-FreeBSDSpecificTestCase.test_muse_vmem_cachedcCs/td�}|jtj�j|dt�dS)NZFreer�)rr�r*rHr:r)r0rIrrr�test_muse_vmem_freeFsz+FreeBSDSpecificTestCase.test_muse_vmem_freecCs/td�}|jtj�j|dt�dS)NZBufferr�)rr�r*rHr�r)r0rIrrr�test_muse_vmem_buffersMsz.FreeBSDSpecificTestCase.test_muse_vmem_bufferscCs)|jtj�jtd�dd�dS)Nzvm.stats.sys.v_swtchr�i�)r�r*�	cpu_stats�ctx_switchesr)r0rrr�test_cpu_stats_ctx_switchesTsz3FreeBSDSpecificTestCase.test_cpu_stats_ctx_switchescCs)|jtj�jtd�dd�dS)Nzvm.stats.sys.v_intrr�i�)r�r*r��
interruptsr)r0rrr�test_cpu_stats_interruptsXsz1FreeBSDSpecificTestCase.test_cpu_stats_interruptscCs)|jtj�jtd�dd�dS)Nzvm.stats.sys.v_softr�i�)r�r*r��soft_interruptsr)r0rrr�test_cpu_stats_soft_interrupts\sz6FreeBSDSpecificTestCase.test_cpu_stats_soft_interruptscCs)|jtj�jtd�dd�dS)Nzvm.stats.sys.v_syscallr�i�)r�r*r��syscallsr)r0rrr�test_cpu_stats_syscalls`sz/FreeBSDSpecificTestCase.test_cpu_stats_syscallscCs8|j�\}}}|jtj�j|dt�dS)Nr�)rar�r*�swap_memoryr:r)r0r8r9r:rrr�test_swapmem_freejsz)FreeBSDSpecificTestCase.test_swapmem_freecCs8|j�\}}}|jtj�j|dt�dS)Nr�)rar�r*r�r9r)r0r8r9r:rrr�test_swapmem_usedosz)FreeBSDSpecificTestCase.test_swapmem_usedcCs8|j�\}}}|jtj�j|dt�dS)Nr�)rar�r*r�r8r)r0r8r9r:rrr�test_swapmem_totaltsz*FreeBSDSpecificTestCase.test_swapmem_totalcCshtd�}||jd�dd�}|d|jd��}t|�}|j|tj��dS)Nzsysctl kern.boottimez sec = ��,)rrrr/r*�	boot_time)r0�sZbtimerrr�test_boot_time{s
z&FreeBSDSpecificTestCase.test_boot_timez
no batterycCs�dd�}td�}tdd�|jd�D��}tj�}t|djdd	��}|d
}|j|j|�|dkr�|j|j	tj
�n|j||j	�|�dS)NcSs8t|d�\}}t|d�\}}d||fS)N�<z%d:%02d)�divmod)Zsecs�mr��hrrr�
secs2hours�sz@FreeBSDSpecificTestCase.test_sensors_battery.<locals>.secs2hoursz
acpiconf -i 0cSs6g|],}|jd�d|jd�df�qS)�	rrr^)r)r[�xrrr�
<listcomp>�s	z@FreeBSDSpecificTestCase.test_sensors_battery.<locals>.<listcomp>rzRemaining capacity:�%r'zRemaining time:�unknown)r�dictrr*�sensors_batteryrr(r/�percent�secsleft�POWER_TIME_UNLIMITED)r0r�r rfZmetricsr�Zremaining_timerrr�test_sensors_battery�s
z,FreeBSDSpecificTestCase.test_sensors_batterycCs�|jtj�jtd��|jtj�jtd�dk�tj�j}|dkrx|jtd�d�n|j|td�d�dS)Nzhw.acpi.battery.lifezhw.acpi.aclinerrzhw.acpi.battery.timer�r^)r/r*r�r�r�
power_pluggedr�)r0r�rrr�#test_sensors_battery_against_sysctl�s
z;FreeBSDSpecificTestCase.test_sensors_battery_against_sysctlzhas batteryc	CsL|jt��#td�td�td�WdQRX|jtj��dS)Nzhw.acpi.battery.lifezhw.acpi.battery.timezhw.acpi.acline)ZassertRaisesrNrZassertIsNoner*r�)r0rrr�test_sensors_battery_no_battery�s


z7FreeBSDSpecificTestCase.test_sensors_battery_no_batteryN)+rTrUrVrXr%r&�staticmethodrar
rlrmrprwr�r�r�r�r�r�r�r�r
rY�MUSE_AVAILABLEr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rrrrrZ�sN


	rZzOPENBSD onlyc@seZdZdd�ZdS)�OpenBSDSpecificTestCasecCsMtd�}tjj|d�}tjjtj��}|j||�dS)Nz
kern.boottimez%a %b %d %H:%M:%S %Y)r�datetime�strptime�
fromtimestampr*r�r/)r0r�Zsys_btZ	psutil_btrrrr��sz&OpenBSDSpecificTestCase.test_boot_timeN)rTrUrVr�rrrrr��sr�zNETBSD onlyc@s�eZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dS)�NetBSDSpecificTestCasecCsetdd��?}x5|D]-}|j|�rt|j�d�dSqWWdQRXtd|��dS)Nz
/proc/meminfo�rbriz
can't find %s)�openrrrr)Zlook_for�fr!rrr�
parse_meminfo�s

#z$NetBSDSpecificTestCase.parse_meminfocCs&|jtj�j|jd��dS)Nz	MemTotal:)r/r*rHr8r�)r0rrr�test_vmem_total�sz&NetBSDSpecificTestCase.test_vmem_totalcCs,|jtj�j|jd�dt�dS)NzMemFree:r�)r�r*rHr:r�r)r0rrrr��sz%NetBSDSpecificTestCase.test_vmem_freecCs,|jtj�j|jd�dt�dS)NzBuffers:r�)r�r*rHr�r�r)r0rrrr��sz(NetBSDSpecificTestCase.test_vmem_bufferscCs,|jtj�j|jd�dt�dS)Nz
MemShared:r�)r�r*rH�sharedr�r)r0rrr�test_vmem_shared�sz'NetBSDSpecificTestCase.test_vmem_sharedcCs,|jtj�j|jd�dt�dS)Nz
SwapTotal:r�)r�r*r�r8r�r)r0rrrr��sz)NetBSDSpecificTestCase.test_swapmem_totalcCs,|jtj�j|jd�dt�dS)Nz	SwapFree:r�)r�r*r�r:r�r)r0rrrr��sz(NetBSDSpecificTestCase.test_swapmem_freecCs-tj�}|j|j|j|j�dS)N)r*r�r/r9r8r:)r0�smemrrrr��sz(NetBSDSpecificTestCase.test_swapmem_usedcCstdd��J}x@|D],}|jd�rt|j�d�}PqWtd��WdQRX|jtj�j|dd�dS)Nz
/proc/statr�sintrrzcouldn't find liner�i�)	r�rrrrr�r*r�r�)r0r�r!r�rrrr��s
z0NetBSDSpecificTestCase.test_cpu_stats_interruptscCstdd��J}x@|D],}|jd�rt|j�d�}PqWtd��WdQRX|jtj�j|dd�dS)Nz
/proc/statr�sctxtrzcouldn't find liner�i�)	r�rrrrr�r*r�r�)r0r�r!r�rrrr��s
z2NetBSDSpecificTestCase.test_cpu_stats_ctx_switchesN)rTrUrVr�r�r�r�r�r�r�r�r�r�r�rrrrr��sr��__main__)"rWr��osrPr,r*rrrrZpsutil.testsrrrr	r
rrr
r�sysconfr��getuidr�rrrYZTestCaser"rZr�r�rT�__file__rrrr�<module>
sJ	K�B