[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.226.185.20: ~ $


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�/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)Zfield�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_usageZ
mountpointr.Zdevicer7�absr9Zfailr8)r/r:�part�usager6r7r8r9rrr�
test_disks`s
zBSDSpecificTestCase.test_disksrzsysctl cmd not availablecCs,td�}|jtjdd�|�dS)Nzhw.ncpuZlogicalT)rr.r)�	cpu_count)r/�systrrr�test_cpu_count_logical{sz*BSDSpecificTestCase.test_cpu_count_logicalcCs)td�}|j|tj�j�dS)Nz
hw.physmem)rr.r)�virtual_memoryr7)r/�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 %s�RUNNING�msg�mtuz	mtu (\d+)r)r)Znet_if_stats�itemsr�RuntimeErrorr.ZisuprJr�re�findall)r/�nameZstatsrrrr�test_net_if_stats�s
z%BSDSpecificTestCase.test_net_if_statsN)�__name__�
__module__�__qualname__�__doc__�classmethodr$r%r
�skipIfrr1rArrDrGrPrrrrr!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>r2���)r�
splitlinesrMrr)r0�partsr7r8r9rrr�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_mapsrr3r.�addrrZrssr4r)r/r�mapsr5r �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)r/rrrr�
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)r/rrrr�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.�realrZ	effectiveZsaved)r/rZeuidZruidZsuidZegidZrgidZsgidrYrorprrr�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_switchesZ	voluntaryr.�appendZinvoluntary�lenrL)r/�testedrrYr �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*rrsr(�floatZ	cpu_times�userr.rt�systemrurL)r/rvrrYr rwrxrrr�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)rE�activer)r/rCrrr�test_vmem_active�sz(FreeBSDSpecificTestCase.test_vmem_activecCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_inactive_countr)rr�r�r)rE�inactiver)r/rCrrr�test_vmem_inactivesz*FreeBSDSpecificTestCase.test_vmem_inactivecCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_wire_countr)rr�r�r)rE�wiredr)r/rCrrr�test_vmem_wiredsz'FreeBSDSpecificTestCase.test_vmem_wiredcCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_cache_countr)rr�r�r)rE�cachedr)r/rCrrr�test_vmem_cachedsz(FreeBSDSpecificTestCase.test_vmem_cachedcCs3td�t}|jtj�j|dt�dS)Nzvm.stats.vm.v_free_countr)rr�r�r)rEr9r)r/rCrrr�test_vmem_freesz&FreeBSDSpecificTestCase.test_vmem_freecCs/td�}|jtj�j|dt�dS)Nzvfs.bufspacer)rr�r)rE�buffersr)r/rCrrr�test_vmem_bufferssz)FreeBSDSpecificTestCase.test_vmem_bufferszmuse not installedcCs)td�}|jtj�j|�dS)NZTotal)rr.r)rEr7)r/rFrrr�test_muse_vmem_total%sz,FreeBSDSpecificTestCase.test_muse_vmem_totalcCs/td�}|jtj�j|dt�dS)NZActiver)rr�r)rEr�r)r/rFrrr�test_muse_vmem_active*sz-FreeBSDSpecificTestCase.test_muse_vmem_activecCs/td�}|jtj�j|dt�dS)NZInactiver)rr�r)rEr�r)r/rFrrr�test_muse_vmem_inactive1sz/FreeBSDSpecificTestCase.test_muse_vmem_inactivecCs/td�}|jtj�j|dt�dS)NZWiredr)rr�r)rEr�r)r/rFrrr�test_muse_vmem_wired8sz,FreeBSDSpecificTestCase.test_muse_vmem_wiredcCs/td�}|jtj�j|dt�dS)NZCacher)rr�r)rEr�r)r/rFrrr�test_muse_vmem_cached?sz-FreeBSDSpecificTestCase.test_muse_vmem_cachedcCs/td�}|jtj�j|dt�dS)NZFreer)rr�r)rEr9r)r/rFrrr�test_muse_vmem_freeFsz+FreeBSDSpecificTestCase.test_muse_vmem_freecCs/td�}|jtj�j|dt�dS)NZBufferr)rr�r)rEr�r)r/rFrrr�test_muse_vmem_buffersMsz.FreeBSDSpecificTestCase.test_muse_vmem_bufferscCs)|jtj�jtd�dd�dS)Nzvm.stats.sys.v_swtchri�)r�r)�	cpu_stats�ctx_switchesr)r/rrr�test_cpu_stats_ctx_switchesTsz3FreeBSDSpecificTestCase.test_cpu_stats_ctx_switchescCs)|jtj�jtd�dd�dS)Nzvm.stats.sys.v_intrri�)r�r)r��
interruptsr)r/rrr�test_cpu_stats_interruptsXsz1FreeBSDSpecificTestCase.test_cpu_stats_interruptscCs)|jtj�jtd�dd�dS)Nzvm.stats.sys.v_softri�)r�r)r�Zsoft_interruptsr)r/rrr�test_cpu_stats_soft_interrupts\sz6FreeBSDSpecificTestCase.test_cpu_stats_soft_interruptscCs)|jtj�jtd�dd�dS)Nzvm.stats.sys.v_syscallri�)r�r)r�Zsyscallsr)r/rrr�test_cpu_stats_syscalls`sz/FreeBSDSpecificTestCase.test_cpu_stats_syscallscCs8|j�\}}}|jtj�j|dt�dS)Nr)r^r�r)�swap_memoryr9r)r/r7r8r9rrr�test_swapmem_freejsz)FreeBSDSpecificTestCase.test_swapmem_freecCs8|j�\}}}|jtj�j|dt�dS)Nr)r^r�r)r�r8r)r/r7r8r9rrr�test_swapmem_usedosz)FreeBSDSpecificTestCase.test_swapmem_usedcCs8|j�\}}}|jtj�j|dt�dS)Nr)r^r�r)r�r7r)r/r7r8r9rrr�test_swapmem_totaltsz*FreeBSDSpecificTestCase.test_swapmem_totalcCshtd�}||jd�dd�}|d|jd��}t|�}|j|tj��dS)Nzsysctl kern.boottimez sec = ��,)rrrr.r)�	boot_time)r/�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)rX�xrrr�
<listcomp>�s	z@FreeBSDSpecificTestCase.test_sensors_battery.<locals>.<listcomp>rzRemaining capacity:�%r&zRemaining time:�unknown)r�dictrr)�sensors_batteryrr'r.�percent�secsleftZPOWER_TIME_UNLIMITED)r/r�rrcZmetricsr�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�rZ
power_pluggedr�)r/r�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assertRaisesrLrZassertIsNoner)r�)r/rrr�test_sensors_battery_no_battery�s


z7FreeBSDSpecificTestCase.test_sensors_battery_no_batteryN)+rQrRrSrUr$r%�staticmethodr^r
rirjrmrrryr~r�r�r�r�r�r�r
rV�MUSE_AVAILABLEr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rrrrrW�sN


	rWzOPENBSD onlyc@seZdZdd�ZdS)�OpenBSDSpecificTestCasecCsMtd�}tjj|d�}tjjtj��}|j||�dS)Nz
kern.boottimez%a %b %d %H:%M:%S %Y)r�datetime�strptimeZ
fromtimestampr)r�r.)r/r�Zsys_btZ	psutil_btrrrr��sz&OpenBSDSpecificTestCase.test_boot_timeN)rQrRrSr�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)rEr7r�)r/rrr�test_vmem_total�sz&NetBSDSpecificTestCase.test_vmem_totalcCs,|jtj�j|jd�dt�dS)NzMemFree:r)r�r)rEr9r�r)r/rrrr��sz%NetBSDSpecificTestCase.test_vmem_freecCs,|jtj�j|jd�dt�dS)NzBuffers:r)r�r)rEr�r�r)r/rrrr��sz(NetBSDSpecificTestCase.test_vmem_bufferscCs,|jtj�j|jd�dt�dS)Nz
MemShared:r)r�r)rEZsharedr�r)r/rrr�test_vmem_shared�sz'NetBSDSpecificTestCase.test_vmem_sharedcCs,|jtj�j|jd�dt�dS)Nz
SwapTotal:r)r�r)r�r7r�r)r/rrrr��sz)NetBSDSpecificTestCase.test_swapmem_totalcCs,|jtj�j|jd�dt�dS)Nz	SwapFree:r)r�r)r�r9r�r)r/rrrr��sz(NetBSDSpecificTestCase.test_swapmem_freecCs-tj�}|j|j|j|j�dS)N)r)r�r.r8r7r9)r/Zsmemrrrr��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 lineri�)	r�rrrrr�r)r�r�)r/r�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 lineri�)	r�rrrrr�r)r�r�)r/r�r r�rrrr��s
z2NetBSDSpecificTestCase.test_cpu_stats_ctx_switchesN)rQrRrSr�r�r�r�r�r�r�r�r�r�r�rrrrr��sr��__main__)"rTr��osrMr+r)rrrrZpsutil.testsrrrr	r
rrr
r�sysconfr��getuidr�rrrVZTestCaser!rWr�r�rQ�__file__rrrr�<module>
sJ	K�B

Filemanager

Name Type Size Permission Actions
__init__.cpython-35.opt-1.pyc File 31.72 KB 0644
__init__.cpython-35.pyc File 33.22 KB 0644
__main__.cpython-35.opt-1.pyc File 2.66 KB 0644
__main__.cpython-35.pyc File 2.66 KB 0644
test_aix.cpython-35.opt-1.pyc File 3.48 KB 0644
test_aix.cpython-35.pyc File 3.48 KB 0644
test_bsd.cpython-35.opt-1.pyc File 20.06 KB 0644
test_bsd.cpython-35.pyc File 20.06 KB 0644
test_connections.cpython-35.opt-1.pyc File 15.7 KB 0644
test_connections.cpython-35.pyc File 16.1 KB 0644
test_contracts.cpython-35.opt-1.pyc File 23.32 KB 0644
test_contracts.cpython-35.pyc File 24.36 KB 0644
test_linux.cpython-35.opt-1.pyc File 69.39 KB 0644
test_linux.cpython-35.pyc File 70.81 KB 0644
test_memory_leaks.cpython-35.opt-1.pyc File 22.99 KB 0644
test_memory_leaks.cpython-35.pyc File 22.99 KB 0644
test_misc.cpython-35.opt-1.pyc File 35.69 KB 0644
test_misc.cpython-35.pyc File 36.91 KB 0644
test_osx.cpython-35.opt-1.pyc File 11.44 KB 0644
test_osx.cpython-35.pyc File 11.44 KB 0644
test_posix.cpython-35.opt-1.pyc File 14.02 KB 0644
test_posix.cpython-35.pyc File 14.18 KB 0644
test_process.cpython-35.opt-1.pyc File 43.88 KB 0644
test_process.cpython-35.pyc File 44.94 KB 0644
test_sunos.cpython-35.opt-1.pyc File 1.53 KB 0644
test_sunos.cpython-35.pyc File 1.53 KB 0644
test_system.cpython-35.opt-1.pyc File 27.54 KB 0644
test_system.cpython-35.pyc File 29.27 KB 0644
test_unicode.cpython-35.opt-1.pyc File 11.7 KB 0644
test_unicode.cpython-35.pyc File 11.76 KB 0644
test_windows.cpython-35.opt-1.pyc File 31.05 KB 0644
test_windows.cpython-35.pyc File 31.31 KB 0644