Viewing 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
mZerQejdZejdkrHedZndZndZddZddZejedGdddejZejedGdddejZeje	dGdddejZejedGd d!d!ejZe 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_SIZEmuseFcCstd|}tr6||jddd}n)tsBtr_||jddd}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rfindrrint
ValueError)cmdlineresultr/test_bsd.pysysctl,s 
rcCsVtd}x3|jdD]}|j|rPqWtdt|jdS)z+Thin wrapper around 'muse' cmdline utility.r
zline not foundr)rsplit
startswithrr)Zfieldoutlinerrrr;szBSD onlyc@seZdZdZeddZeddZeje	dddZ
d	d
Zejeddd
dZ
ejeddddZddZdS)BSDSpecificTestCasez)Generic tests common to all BSD variants.cCstj|_dS)N)rpid)clsrrr
setUpClassOszBSDSpecificTestCase.setUpClasscCstdS)N)r	)r#rrr
tearDownClassSsz!BSDSpecificTestCase.tearDownClassz -o lstart doesn't work on NETBSDcCsrtd|j}|jddj}tj|jj}tjdtj	|}|j
||dS)Nzps -o lstart -p %sZSTARTEDz%a %b %e %H:%M:%S %Y)rr"replacestrippsutilProcessZcreate_timetimestrftime	localtimeassertEqual)selfoutputZstart_psZstart_psutilrrrtest_process_create_timeWs	z,BSDSpecificTestCase.test_process_create_timecCsdd}xtjddD]}tj|j}||j\}}}}|j|j||j|j|t|j|d	kr|j	d|j|ft|j
|dkr|j	d|j
|fqWdS)NcSstd|j}|jd}|jd|jd}|jdd\}}}}|dkrud}t|d}t|d}t|d}||||fS)Nz
df -k "%s"rrZnoner&i)rr(rpopr)pathrlinesr devtotalusedfreerrrdfcs
"z*BSDSpecificTestCase.test_disks.<locals>.dfallF
izpsutil=%s, df=%si(ii(i)r)Zdisk_partitions
disk_usageZ
mountpointr.Zdevicer7absr9Zfailr8)r/r:partusager6r7r8r9rrr
test_disks`s
zBSDSpecificTestCase.test_disksrzsysctl cmd not availablecCs,td}|jtjdd|dS)Nzhw.ncpuZlogicalT)rr.r)	cpu_count)r/systrrrtest_cpu_count_logical{sz*BSDSpecificTestCase.test_cpu_count_logicalcCs)td}|j|tjjdS)Nz
hw.physmem)rr.r)virtual_memoryr7)r/numrrrtest_virtual_memory_totalsz-BSDSpecificTestCase.test_virtual_memory_totalcCsxtjjD]\}}ytd|}Wntk
rGYqX|j|jd|kd|d|kr|j|jtt	j
d|dqWdS)Nzifconfig %sRUNNINGmsgmtuz	mtu (\d+)r)r)Znet_if_statsitemsrRuntimeErrorr.ZisuprJrrefindall)r/nameZstatsrrrrtest_net_if_statss
z%BSDSpecificTestCase.test_net_if_statsN)__name__
__module____qualname____doc__classmethodr$r%r
skipIfrr1rArrDrGrPrrrrr!Ks	%%r!zFREEBSD onlyc@seZdZeddZeddZeddZeddZ	d	d
Z
ddZd
dZeddZ
eddZeddZeddZeddZeddZeddZeddZejedd d!Zejeded"d#Zejeded$d%Zejeded&d'Zejeded(d)Zejeded*d+Zejeded,d-Zd.d/Zd0d1Z d2d3Z!d4d5Z"d6d7Z#d8d9Z$d:d;Z%d<d=Z&eje'd>d?d@Z(eje'd>dAdBZ)eje'dCdDdEZ*dFS)GFreeBSDSpecificTestCasecCstj|_dS)N)rr")r#rrrr$sz"FreeBSDSpecificTestCase.setUpClasscCstdS)N)r	)r#rrrr%sz%FreeBSDSpecificTestCase.tearDownClasscCsqtdjd}tjd|}|s>td|dd|ddD\}}}|||fS)	Nzswapinfo -krz\s+zCan't parse swapinfo: %scss|]}t|dVqdS)iN)r).0prrr	<genexpr>sz9FreeBSDSpecificTestCase.parse_swapinfo.<locals>.<genexpr>r2)r
splitlinesrMrr)r0partsr7r8r9rrrparse_swapinfos&z&FreeBSDSpecificTestCase.parse_swapinfocCstd|j}tj|jjdd}|jddd}x|r|j}|j}|dd\}}}}	}
|j}|jd||f|j|jt	|
|j
|jjdsM|j|d	|jqMWdS)
Nzprocstat -v %sZgroupedFrrz%s-%s[r<)
rr"r)r*Zmemory_mapsrr3r.addrrZrssr4r)r/rmapsr5r fields_startstopZpermsresmaprrrtest_proc_memory_mapss	z-FreeBSDSpecificTestCase.test_proc_memory_mapscCsPtd|j}|jtj|jj|jddjddS)Nzprocstat -b %srrr[)rr"r.r)r*Zexer)r/rrrr
test_proc_exesz%FreeBSDSpecificTestCase.test_proc_execCshtd|j}|jdjtj|jjdj|jddjdddS)Nzprocstat -c %s rrr)rr"r.joinr)r*rr)r/rrrrtest_proc_cmdlines$z)FreeBSDSpecificTestCase.test_proc_cmdlinecCstd|j}|jddjdd\}}}}}}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*uidsgidsr.realrZ	effectiveZsaved)r/rZeuidZruidZsuidZegidZrgidZsgidrYrorprrrtest_proc_uids_gidss5z+FreeBSDSpecificTestCase.test_proc_uids_gidscCsg}td|j}tj|j}x|jdD]}|jj}d|krt|jd}|jj	}|j
|||jdq;d|kr;t|jd	}|jj}|j
|||jdq;Wt
|dkrtddS)
Nzprocstat -r %srz voluntary contextrz involuntary contextrz)couldn't find lines match in procstat outr[r[)rr"r)r*rlowerr(rZnum_ctx_switchesZ	voluntaryr.appendZinvoluntarylenrL)r/testedrrYr pstat_valuepsutil_valuerrrtest_proc_ctx_switchess"z.FreeBSDSpecificTestCase.test_proc_ctx_switchescCs:g}td|j}tj|j}x|jdD]}|jj}d|krtd|jd
jdd}|jj	}|j
|||jdq;d|kr;td|jdjdd
}|jj}|j
|||jdq;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_timesuserr.rtsystemrurL)r/rvrrYr rwrxrrrtest_proc_cpu_timess"''z+FreeBSDSpecificTestCase.test_proc_cpu_timescCs3tdt}|jtjj|dtdS)Nzvm.stats.vm.v_active_countdelta)rPAGESIZEassertAlmostEqualr)rEactiver)r/rCrrrtest_vmem_activesz(FreeBSDSpecificTestCase.test_vmem_activecCs3tdt}|jtjj|dtdS)Nzvm.stats.vm.v_inactive_countr)rrrr)rEinactiver)r/rCrrrtest_vmem_inactivesz*FreeBSDSpecificTestCase.test_vmem_inactivecCs3tdt}|jtjj|dtdS)Nzvm.stats.vm.v_wire_countr)rrrr)rEwiredr)r/rCrrrtest_vmem_wiredsz'FreeBSDSpecificTestCase.test_vmem_wiredcCs3tdt}|jtjj|dtdS)Nzvm.stats.vm.v_cache_countr)rrrr)rEcachedr)r/rCrrrtest_vmem_cachedsz(FreeBSDSpecificTestCase.test_vmem_cachedcCs3tdt}|jtjj|dtdS)Nzvm.stats.vm.v_free_countr)rrrr)rEr9r)r/rCrrrtest_vmem_freesz&FreeBSDSpecificTestCase.test_vmem_freecCs/td}|jtjj|dtdS)Nzvfs.bufspacer)rrr)rEbuffersr)r/rCrrrtest_vmem_bufferssz)FreeBSDSpecificTestCase.test_vmem_bufferszmuse not installedcCs)td}|jtjj|dS)NZTotal)rr.r)rEr7)r/rFrrrtest_muse_vmem_total%sz,FreeBSDSpecificTestCase.test_muse_vmem_totalcCs/td}|jtjj|dtdS)NZActiver)rrr)rErr)r/rFrrrtest_muse_vmem_active*sz-FreeBSDSpecificTestCase.test_muse_vmem_activecCs/td}|jtjj|dtdS)NZInactiver)rrr)rErr)r/rFrrrtest_muse_vmem_inactive1sz/FreeBSDSpecificTestCase.test_muse_vmem_inactivecCs/td}|jtjj|dtdS)NZWiredr)rrr)rErr)r/rFrrrtest_muse_vmem_wired8sz,FreeBSDSpecificTestCase.test_muse_vmem_wiredcCs/td}|jtjj|dtdS)NZCacher)rrr)rErr)r/rFrrrtest_muse_vmem_cached?sz-FreeBSDSpecificTestCase.test_muse_vmem_cachedcCs/td}|jtjj|dtdS)NZFreer)rrr)rEr9r)r/rFrrrtest_muse_vmem_freeFsz+FreeBSDSpecificTestCase.test_muse_vmem_freecCs/td}|jtjj|dtdS)NZBufferr)rrr)rErr)r/rFrrrtest_muse_vmem_buffersMsz.FreeBSDSpecificTestCase.test_muse_vmem_bufferscCs)|jtjjtddddS)Nzvm.stats.sys.v_swtchri)rr)	cpu_statsctx_switchesr)r/rrrtest_cpu_stats_ctx_switchesTsz3FreeBSDSpecificTestCase.test_cpu_stats_ctx_switchescCs)|jtjjtddddS)Nzvm.stats.sys.v_intrri)rr)r
interruptsr)r/rrrtest_cpu_stats_interruptsXsz1FreeBSDSpecificTestCase.test_cpu_stats_interruptscCs)|jtjjtddddS)Nzvm.stats.sys.v_softri)rr)rZsoft_interruptsr)r/rrrtest_cpu_stats_soft_interrupts\sz6FreeBSDSpecificTestCase.test_cpu_stats_soft_interruptscCs)|jtjjtddddS)Nzvm.stats.sys.v_syscallri)rr)rZsyscallsr)r/rrrtest_cpu_stats_syscalls`sz/FreeBSDSpecificTestCase.test_cpu_stats_syscallscCs8|j\}}}|jtjj|dtdS)Nr)r^rr)swap_memoryr9r)r/r7r8r9rrrtest_swapmem_freejsz)FreeBSDSpecificTestCase.test_swapmem_freecCs8|j\}}}|jtjj|dtdS)Nr)r^rr)rr8r)r/r7r8r9rrrtest_swapmem_usedosz)FreeBSDSpecificTestCase.test_swapmem_usedcCs8|j\}}}|jtjj|dtdS)Nr)r^rr)rr7r)r/r7r8r9rrrtest_swapmem_totaltsz*FreeBSDSpecificTestCase.test_swapmem_totalcCshtd}||jddd}|d|jd}t|}|j|tjdS)Nzsysctl kern.boottimez sec = ,)rrrr.r)	boot_time)r/sZbtimerrrtest_boot_time{s
z&FreeBSDSpecificTestCase.test_boot_timez
no batterycCsdd}td}tdd|jdD}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)Zsecsmrhrrr
secs2hourssz@FreeBSDSpecificTestCase.test_sensors_battery.<locals>.secs2hoursz
acpiconf -i 0cSs6g|],}|jdd|jddfqS)	rrr[)r)rXxrrr
<listcomp>s	z@FreeBSDSpecificTestCase.test_sensors_battery.<locals>.<listcomp>rzRemaining capacity:%r&zRemaining time:unknown)rdictrr)sensors_batteryrr'r.percentsecsleftZPOWER_TIME_UNLIMITED)r/rrrcZmetricsrZremaining_timerrrtest_sensors_batterys
z,FreeBSDSpecificTestCase.test_sensors_batterycCs|jtjjtd|jtjjtddktjj}|dkrx|jtddn|j|tdddS)Nzhw.acpi.battery.lifezhw.acpi.aclinerrzhw.acpi.battery.timerr[)r.r)rrrZ
power_pluggedr)r/rrrr#test_sensors_battery_against_sysctls
z;FreeBSDSpecificTestCase.test_sensors_battery_against_sysctlzhas batteryc	CsL|jt#tdtdtdWdQRX|jtjdS)Nzhw.acpi.battery.lifezhw.acpi.battery.timezhw.acpi.acline)ZassertRaisesrLrZassertIsNoner)r)r/rrrtest_sensors_battery_no_batterys


z7FreeBSDSpecificTestCase.test_sensors_battery_no_batteryN)+rQrRrSrUr$r%staticmethodr^r
rirjrmrrryr~rrrrrrr
rVMUSE_AVAILABLErrrrrrrrrrrrrrrrrrrrrrrrWsN


	rWzOPENBSD onlyc@seZdZddZdS)OpenBSDSpecificTestCasecCsMtd}tjj|d}tjjtj}|j||dS)Nz
kern.boottimez%a %b %d %H:%M:%S %Y)rdatetimestrptimeZ
fromtimestampr)rr.)r/rZsys_btZ	psutil_btrrrrsz&OpenBSDSpecificTestCase.test_boot_timeN)rQrRrSrrrrrrsrzNETBSD onlyc@seZdZeddZddZddZddZd	d
ZddZ	d
dZ
ddZddZddZ
dS)NetBSDSpecificTestCasecCsetdd?}x5|D]-}|j|rt|jddSqWWdQRXtd|dS)Nz
/proc/meminforbriz
can't find %s)openrrrr)Zlook_forfr rrr
parse_meminfos

#z$NetBSDSpecificTestCase.parse_meminfocCs&|jtjj|jddS)Nz	MemTotal:)r.r)rEr7r)r/rrrtest_vmem_totalsz&NetBSDSpecificTestCase.test_vmem_totalcCs,|jtjj|jddtdS)NzMemFree:r)rr)rEr9rr)r/rrrrsz%NetBSDSpecificTestCase.test_vmem_freecCs,|jtjj|jddtdS)NzBuffers:r)rr)rErrr)r/rrrrsz(NetBSDSpecificTestCase.test_vmem_bufferscCs,|jtjj|jddtdS)Nz
MemShared:r)rr)rEZsharedrr)r/rrrtest_vmem_sharedsz'NetBSDSpecificTestCase.test_vmem_sharedcCs,|jtjj|jddtdS)Nz
SwapTotal:r)rr)rr7rr)r/rrrrsz)NetBSDSpecificTestCase.test_swapmem_totalcCs,|jtjj|jddtdS)Nz	SwapFree:r)rr)rr9rr)r/rrrrsz(NetBSDSpecificTestCase.test_swapmem_freecCs-tj}|j|j|j|jdS)N)r)rr.r8r7r9)r/Zsmemrrrrsz(NetBSDSpecificTestCase.test_swapmem_usedcCstddJ}x@|D],}|jdrt|jd}PqWtdWdQRX|jtjj|dddS)Nz
/proc/statrsintrrzcouldn't find lineri)	rrrrrrr)rr)r/rr rrrrrs
z0NetBSDSpecificTestCase.test_cpu_stats_interruptscCstddJ}x@|D],}|jdrt|jd}PqWtdWdQRX|jtjj|dddS)Nz
/proc/statrsctxtrzcouldn't find lineri)	rrrrrrr)rr)r/rr rrrrrs
z2NetBSDSpecificTestCase.test_cpu_stats_ctx_switchesN)rQrRrSrrrrrrrrrrrrrrrrsr__main__)"rTrosrMr+r)rrrrZpsutil.testsrrrr	r
rrr
rsysconfrgetuidrrrrVZTestCaser!rWrrrQ__file__rrrr<module>
sJ	KB
Back to Directory File Manager