Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/psutil/tests/__pycache__/test_system.cpython-38.pyc

U

Œ=Ý_‹ã@szdZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlmZddlm
Z
ddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(ddlm)Z)ddlm*Z*dd lm+Z+dd!lm,Z,dd"lm-Z-dd#lm.Z.Gd$d%„d%e)ƒZ/Gd&d'„d'e)ƒZ0Gd(d)„d)e)ƒZ1Gd*d+„d+e)ƒZ2Gd,d-„d-e)ƒZ3Gd.d/„d/e)ƒZ4Gd0d1„d1e)ƒZ5e6d2krvdd3l7m8Z8e8e9ƒdS)4zTests for system APIS.éN)ÚAIX)ÚBSD)ÚFREEBSD)ÚLINUX)ÚMACOS)ÚNETBSD)ÚOPENBSD)ÚPOSIX)ÚSUNOS)ÚWINDOWS)ÚFileNotFoundError)Úlong)ÚASCII_FS)Úcheck_net_address)Ú
CI_TESTING)ÚDEVNULL)Úenum)ÚGLOBAL_TIMEOUT)ÚHAS_BATTERY)ÚHAS_CPU_FREQ)ÚHAS_GETLOADAVG)ÚHAS_NET_IO_COUNTERS)ÚHAS_SENSORS_BATTERY)ÚHAS_SENSORS_FANS)ÚHAS_SENSORS_TEMPERATURES)ÚIS_64BIT)Úmock)ÚPsutilTestCase)ÚPYPY)Úretry_on_failure)ÚGITHUB_ACTIONS)ÚUNICODE_SUFFIX)Úunittestc@s\eZdZdd„Zdd„Ze eo"ed¡dd„ƒZ	e eo:ed¡dd	„ƒZ
d
d„Zdd
„ZdS)ÚTestProcessAPIsc
Csþ| t ¡dd„t ¡Dƒ¡| ¡}| |jdd„t ¡Dƒ¡t |j¡}| ¡| 	¡| 
|jdd„t ¡Dƒ¡tjdt 
t ¡¡d| tt ¡ƒg¡W5QRXtjdt t ¡¡d*| tj¡tt ¡ƒW5QRXW5QRXdS)NcSsg|]
}|j‘qS©©Úpid©Ú.0Úxr$r$úK/opt/alt/python38/lib64/python3.8/site-packages/psutil/tests/test_system.pyÚ
<listcomp>@sz5TestProcessAPIs.test_process_iter.<locals>.<listcomp>cSsg|]
}|j‘qSr$r%r'r$r$r*r+BscSsg|]
}|j‘qSr$r%r'r$r$r*r+Fszpsutil.Process©Zside_effect)ÚassertInÚosÚgetpidÚpsutilÚprocess_iterÚspawn_testprocr&ÚProcessÚkillÚwaitZassertNotInrÚpatchZ
NoSuchProcessÚassertEqualÚlistÚAccessDeniedÚassertRaises©ÚselfZsprocÚpr$r$r*Útest_process_iter?s ÿÿz!TestProcessAPIs.test_process_iterc	Cs,tjdgdD]}| t|j ¡ƒdg¡q| t¡ttjdgdƒW5QRXtj	dt 
dd¡dH}tjddgdD]&}| |jd¡| |jdd¡q||j
s®t‚W5QRXtj	dt 
dd¡dT}tƒ}tjddg|d	D](}| |jd|¡| |jdd¡qè|j
st‚W5QRXdS)
Nr&)ÚattrsZfooz$psutil._psplatform.Process.cpu_timesrÚr,Ú	cpu_times)r?Zad_value)r0r1r7r8ÚinfoÚkeysr:Ú
ValueErrorrr6r9ÚassertIsNoneÚassertGreaterEqualÚcalledÚAssertionErrorÚobjectÚassertIs)r<r=ÚmÚflagr$r$r*Útest_prcess_iter_w_attrsPs0
ÿ
ÿÿ
z(TestProcessAPIs.test_prcess_iter_w_attrsz-spawn_testproc() unreliable on PYPY + WINDOWScsæ‡fdd„}g‰ˆ ¡}ˆ ¡}ˆ ¡}dd„|||fDƒ}ˆjttj|ddˆjttj|ddt ¡}tj|d	|d
\}}ˆ t ¡|d¡ˆ |g¡ˆ t	|ƒd¡ˆ ˆg¡|D]}	ˆ 
t|	d
ƒ¡qÀtdƒ‡fdd„ƒ}
| 
¡|
||ƒ\}}ˆ |jdd„|Dƒ¡tr6ˆ | ¡jtj¡nˆ | ¡jd¡ˆ ˆ|jg¡|D]}	ˆ 
t|	d
ƒ¡q\tdƒ‡fdd„ƒ}
| 
¡| 
¡|
||ƒ\}}ˆ tˆƒt|j|j|jgƒ¡|D]}	ˆ t|	d
ƒ¡qÊdS)Ncsˆ |j¡dS©N)Úappendr&)r=)Úpidsr$r*Úcallbackgsz1TestProcessAPIs.test_wait_procs.<locals>.callbackcSsg|]}t |j¡‘qSr$©r0r3r&r'r$r$r*r+nsz3TestProcessAPIs.test_wait_procs.<locals>.<listcomp>éÿÿÿÿ)Útimeouté)rQg{®Gáz„?©rTrQgà?éÚ
returncodeécs<tj|d|d\}}ˆ t|ƒd¡ˆ t|ƒd¡||fS)N縅ëQ¸ž?rVrUé©r0Ú
wait_procsr7Úlen©ÚprocsrQÚgoneÚalive©r<r$r*Útest{sÿ
z-TestProcessAPIs.test_wait_procs.<locals>.testcSsg|]
}|j‘qSr$r%r'r$r$r*r+…scs<tj|d|d\}}ˆ t|ƒd¡ˆ t|ƒd¡||fS)NrZrVrWrr\r_rcr$r*rdŽsÿ
)r2r:rDr0r]Ú	TypeErrorÚtimeÚ
assertLessr7r^ÚassertFalseÚhasattrrÚ	terminater-r&r	ÚpoprXÚsignalÚSIGTERMÚsetÚ
assertTrue)r<rQÚsproc1Úsproc2Úsproc3r`Útrarbr=rdr$)rPr<r*Útest_wait_procsdsF zTestProcessAPIs.test_wait_procscCsP| ¡}| ¡}| ¡}dd„|||fDƒ}|D]}| ¡q0t |¡\}}dS)NcSsg|]}t |j¡‘qSr$rRr'r$r$r*r+£sz>TestProcessAPIs.test_wait_procs_no_timeout.<locals>.<listcomp>)r2rjr0r])r<rprqrrr`r=rarbr$r$r*Útest_wait_procs_no_timeouts
z*TestProcessAPIs.test_wait_procs_no_timeoutcCsv| ¡}| t |j¡¡t |j¡}| ¡| ¡| t |j¡¡| t d¡¡| 	t d¡dt 
¡k¡dS)NrSr)r2ror0Ú
pid_existsr&r3r4r5rhr7rPr;r$r$r*Útest_pid_exists¨szTestProcessAPIs.test_pid_existsc	Cs–t ¡}|D]L}zt |¡s t‚Wqtk
rVt d¡|t ¡krR| |¡YqXqtt|ƒdt|ƒdƒ}|D]}|j	t |¡|dqxdS)Ngš™™™™™¹?iˆip©Úmsg)
r0rPrvrHrfÚsleepÚfailÚrangeÚmaxrh)r<rPr&r$r$r*Útest_pid_exists_2²s
z!TestProcessAPIs.test_pid_exists_2N)
Ú__name__Ú
__module__Ú__qualname__r>rMr"ÚskipIfrrrtrurwr~r$r$r$r*r#=s
ÿ
7
ÿ
	
r#c@sBeZdZdd„Ze eo e ¡d¡dd„ƒZ	dd„Z
dd	„Zd
S)ÚTestMiscAPIscCs4t ¡}| |t¡| |d¡| |t ¡¡dS©Nr)r0Z	boot_timeÚassertIsInstanceÚfloatÚ
assertGreaterrgrf)r<Zbtr$r$r*Útest_boot_timeÄszTestMiscAPIs.test_boot_timeúunreliable on CIcCsÂt ¡}| |g¡|D]¤}|js*t|ƒ‚| |jt¡| |jttdƒf¡|j	dk	rn| |j	ttdƒf¡|j|j	|j
dksŒt|ƒ‚tj |j
¡t
s¢tr°| |j¡qt |j¡qdS)Nç)r0ÚusersÚassertNotEqualÚnamerHr…ÚstrZterminalÚtypeZhostZstartedÚdatetimeZ
fromtimestamprrrEr&r3)r<r‹Úuserr$r$r*Ú
test_usersÊs
zTestMiscAPIs.test_userscCs&tj}tt_zt ¡W5|t_XdSrN)ÚsysÚstdoutrr0rd)r<r”r$r$r*Ú	test_testÝs
zTestMiscAPIs.test_testc	CsŒddddddddd	g	}|D]}|jtt|ƒt|d
qtjdkrDtjsLt‚tjrVt‚| 	d¡dt
j ¡kr„tj
sxt‚| 	d¡n¾d
t
j ¡krätjsœt‚| tjtjtjg d¡d¡| 	d¡| 	d¡| 	d¡| 	d¡n^dt
j ¡ksdt
j ¡krtjst‚| 	d	¡n&dt
j ¡krftjs8t‚| 	d¡n"tjsPt‚tjr\t‚| 	d¡|D]}|jtt|ƒd|d
qjdS)Nr	rrrrrrrr
rxÚposixZlinuxZbsdTrUZsunosZsolarisÚdarwinF)r…Úgetattrr0Úboolr.rr	rHrÚremover“ÚplatformÚlowerrrr7rrrÚcountr
rrJ)r<Únamesrr$r$r*Útest_os_constantsæsPÿ




ÿÿÿ


ÿ
zTestMiscAPIs.test_os_constantsN)rr€rrˆr"r‚rr0r‹r’r•rŸr$r$r$r*rƒÂs

	rƒc@seZdZdd„Zdd„ZdS)ÚTestMemoryAPIscCsæt ¡}|jdkst|ƒ‚|jdks,t|ƒ‚d|jkrBdksLnt|ƒ‚|jdks^t|ƒ‚|jdkspt|ƒ‚|jD]j}t	||ƒ}|dkrœ| 
|ttf¡|dkrv|dks¾| 
d||f¡||jkrv| 
d||j||f¡qvdS)NrédÚpercentÚtotalz%r < 0 (%s)z%r > total (total=%s, %s=%s))r0Zvirtual_memoryr£rHZ	availabler¢ÚusedÚfreeÚ_fieldsr˜r…Úintr
r{)r<ÚmemrÚvaluer$r$r*Útest_virtual_memorys" 


ÿz"TestMemoryAPIs.test_virtual_memorycCs²t ¡}| |jd¡|jdks(t|ƒ‚|jdks:t|ƒ‚|jdkrX|jdksjt|ƒ‚n|jdksjt|ƒ‚d|jkr€dksŠnt|ƒ‚|j	dksœt|ƒ‚|j
dks®t|ƒ‚dS)N)r£r¤r¥r¢ÚsinÚsoutrr¡)r0Zswap_memoryr7r¦r£rHr¤r¥r¢r«r¬)r<r¨r$r$r*Útest_swap_memory sÿ
 zTestMemoryAPIs.test_swap_memoryN)rr€rrªr­r$r$r$r*r sr c@s°eZdZdd„Zdd„Zdd„Zdd„Zd	d
„Zdd„Zd
d„Z	dd„Z
dd„Zdd„Zdd„Z
dd„Zdd„Zdd„Zdd„Ze ed¡d d!„ƒZe ed"¡d#d$„ƒZd%S)&ÚTestCpuAPIsc	Cstt ¡}| |¡| |ttjddƒ¡| |d¡tj 	d¡rpt
dƒ}| ¡}W5QRXd|krpt 
d¡‚dS)NT©ÚpercpurUz
/proc/cpuinfozphysical idz#cpuinfo doesn't include physical id)r0Ú	cpu_countZassertIsNotNoner7r^rArFr.ÚpathÚexistsÚopenÚreadr"ZSkipTest)r<ÚlogicalÚfdZcpuinfo_datar$r$r*Útest_cpu_count_logical3s

z"TestCpuAPIs.test_cpu_count_logicalcCsft ¡}tjdd}|dkr&| d¡‚trJt ¡dd…dkrJ| |¡n| |d¡| ||¡dS)NF©r¶zphysical cpu_count() is Noner[)érUrU)r0r±ÚskipTestrr“ZgetwindowsversionrErF)r<r¶Zphysicalr$r$r*Útest_cpu_count_physical?s
z#TestCpuAPIs.test_cpu_count_physicalc
CsvdD]l}tjd|d}| t ¡¡|js0t‚W5QRXtjd|d"}| tjdd¡|jsft‚W5QRXqdS)N)rSrNz$psutil._psplatform.cpu_count_logical©Zreturn_valuez%psutil._psplatform.cpu_count_physicalFr¹)rr6rEr0r±rGrH)r<ÚvalrKr$r$r*Útest_cpu_count_noneJsÿÿzTestCpuAPIs.test_cpu_count_nonecCsZd}t ¡}t|ƒ|D]$}| |t¡| |d¡||7}q| |t|ƒ¡t|ƒdS)NrrŠ)r0rAÚsumr…r†rFr7rŽ)r<r£ÚtimesÚcp_timer$r$r*Útest_cpu_timesVs
zTestCpuAPIs.test_cpu_timescCsLtt ¡ƒ}t ¡t}t ¡|kr>tt ¡ƒ}||krdSq| d¡dS)Nztime remained the same)rÀr0rArfrr{)r<Út1Zstop_atÚt2r$r$r*Útest_cpu_times_time_increasesssz)TestCpuAPIs.test_cpu_times_time_increasescCsŒtjddD]R}d}t|ƒ|D]$}| |t¡| |d¡||7}q | |t|ƒ¡t|ƒq| ttjdddƒttjddƒ¡dS)NTr¯rrŠF)	r0rArÀr…r†rFr7rŽr^)r<rÁr£rÂr$r$r*Útest_per_cpu_times}s

ÿzTestCpuAPIs.test_per_cpu_timescCs€tjdd}t ¡t}t ¡|kr.| d¡Stjdd}t||ƒD]4\}}t |¡t |¡}}||}|dkrDdSqDqdS)NTr¯rTgš™™™™™©?)r0rArfrr{ÚzipZ_cpu_busy_time)r<Ztot1Z	giveup_atZtot2rÄrÅÚ
differencer$r$r*Útest_per_cpu_times_2žs
z TestCpuAPIs.test_per_cpu_times_2cCsXt ¡}tjdd}| dd„t|ŽDƒ¡}|jD] }|jt||ƒt||ƒddq2dS)NTr¯cSsg|]}t|ƒ‘qSr$)rÀ)r(Znumr$r$r*r+²sz9TestCpuAPIs.test_cpu_times_comparison.<locals>.<listcomp>rU©Zdelta)r0rAÚ_makerÈr¦ÚassertAlmostEqualr˜)r<ÚbaseZper_cpuZ
summed_valuesZfieldr$r$r*Útest_cpu_times_comparison­s
ÿz%TestCpuAPIs.test_cpu_times_comparisonc
Cs‚z<| |t¡| |d¡| |d¡| |dt ¡¡Wn@tk
r|}z"td|t 	|¡t 	|¡fƒ‚W5d}~XYnXdS)NrŠg€gY@z
%s
last=%s
new=%s)
r…r†rFZassertIsNotÚassertLessEqualr0r±rHÚpprintZpformat)r<r¢Zlast_retZnew_retÚerrr$r$r*Ú_test_cpu_percent·sÿzTestCpuAPIs._test_cpu_percentc	Cs^tjdd}tdƒD]"}tjdd}| |||¡|}q| t¡tjddW5QRXdS©Nçü©ñÒMbP?)Úintervalr¡rS)r0Úcpu_percentr|rÓr:rD)r<Úlastr)Únewr$r$r*Útest_cpu_percentÁszTestCpuAPIs.test_cpu_percentc	Cs‚tjddd}| t|ƒt ¡¡tdƒD].}tjddd}|D]}| |||¡q@|}q*| t¡tjdddW5QRXdS)NrÕT©rÖr°r¡rS)	r0r×r7r^r±r|rÓr:rD©r<rØr)rÙr¢r$r$r*Útest_per_cpu_percentÊsz TestCpuAPIs.test_per_cpu_percentc	Csztjdd}tdƒD]>}tjdd}|D]}| |||¡q(| t|ƒ||¡|}q| t¡tjddW5QRXdSrÔ)r0Úcpu_times_percentr|rÓrÀr:rDrÜr$r$r*Útest_cpu_times_percentÕsz"TestCpuAPIs.test_cpu_times_percentcCsztjddd}| t|ƒt ¡¡tdƒD]J}tjddd}|D].}|D]}| |||¡qH| t|ƒ||¡q@|}q*dS)NrÕTrÛr¡)r0rÞr7r^r±r|rÓrÀ)r<rØr)rÙÚcpur¢r$r$r*Útest_per_cpu_times_percentàsz&TestCpuAPIs.test_per_cpu_times_percentc	Csjtjdddd„tjddDƒ}tjd|d0tjddD]}|D]}| |dd¡qFq>W5QRXdS)NTr¯cSs*g|]"}| dd„tt|jƒƒDƒ¡‘qS)cSsg|]}d‘qS)rr$r'r$r$r*r+îszNTestCpuAPIs.test_per_cpu_times_percent_negative.<locals>.<listcomp>.<listcomp>)rÌr|r^r¦r'r$r$r*r+îsÿzCTestCpuAPIs.test_per_cpu_times_percent_negative.<locals>.<listcomp>zpsutil.cpu_timesr½)r0rÞrArr6rÓ)r<Z
zero_timesràr¢r$r$r*Ú#test_per_cpu_times_percent_negativeës
ÿz/TestCpuAPIs.test_per_cpu_times_percent_negativecCsTt ¡}| |jd¡|jD]2}t||ƒ}| |d¡ts|dkr| |d¡qdS)N)Úctx_switchesÚ
interruptsZsoft_interruptsZsyscallsr)rãrä)r0Z	cpu_statsr7r¦r˜rFrr‡)r<Zinfosrr©r$r$r*Útest_cpu_statsõsþ

zTestCpuAPIs.test_cpu_statsznot suportedcsd‡fdd„}tjdd}tr*|s*ˆ d¡‚|s6t|ƒ‚|tjddgƒtr`ˆ t|ƒt ¡¡dS)Ncsj|D]`}ˆ |jd¡|jdkr0ˆ |j|j¡|jD],}t||ƒ}ˆ |ttt	f¡ˆ 
|d¡q6qdS)N)ÚcurrentÚminr}rŠr)r7r¦r}rÐrær˜r…r§r
r†rF)ÚlsÚntrr©rcr$r*Úcheck_lss


z+TestCpuAPIs.test_cpu_freq.<locals>.check_lsTr¯zreturns empty list on FreeBSDF)	r0Zcpu_freqrr»rHrr7r^r±)r<rêrèr$rcr*Ú
test_cpu_freqs

zTestCpuAPIs.test_cpu_freqú
not supportedcCs>t ¡}| t|ƒd¡|D]}| |t¡| |d¡qdS)NrWrŠ)r0Ú
getloadavgr7r^r…r†rF)r<ZloadavgÚloadr$r$r*Útest_getloadavgs
zTestCpuAPIs.test_getloadavgN)rr€rr¸r¼r¿rÃrÆrÇrÊrÏrÓrÚrÝrßrárârår"r‚rrërrïr$r$r$r*r®1s&
!

	


r®c@sŒeZdZe eoed¡dd„ƒZe ed¡dd„ƒZ	dd„Z
d	d
„Ze eo\e
j d¡d¡e eope ¡d
¡dd„ƒƒZdd„ZdS)ÚTestDiskAPIszunreliable on PYPY32 + 32BITc	Cst t ¡¡}| |jd¡|jdks.t|ƒ‚|jdks@t|ƒ‚|j	dksRt|ƒ‚|j|jksft|ƒ‚|j|j	kszt|ƒ‚d|j
krdksœnt|j
ƒ‚ttdƒrðt t ¡¡}d}| |j|j¡|j
|j	|j	|d|j
|j|j|d| ¡}| t¡t |¡W5QRXdS)N)r£r¤r¥r¢rr¡Ú
disk_usageiPrË)r0rñr.Úgetcwdr7r¦r£rHr¤r¥r¢riÚshutilrÍZ
get_testfnr:r)r<ZusageZshutil_usageZ	toleranceZfnamer$r$r*Útest_disk_usage#s*"
ÿÿzTestDiskAPIs.test_disk_usageznot an ASCII fsc	Cs$| t¡t t¡W5QRXdSrN)r:ÚUnicodeEncodeErrorr0rñr!rcr$r$r*Útest_disk_usage_unicode>sz$TestDiskAPIs.test_disk_usage_unicodecCst d¡dS)Nó.)r0rñrcr$r$r*Útest_disk_usage_bytesDsz"TestDiskAPIs.test_disk_usage_bytescs†‡fdd„}tjdd}ˆj||d|D]b}||ƒtrFd|jkrFq*tsbtj |j	¡sht
|ƒ‚n|j	tj |j¡s~t
|ƒ‚|js*t
|ƒ‚q*tjdd}ˆj||dtjddD]š}||ƒts´|jr´zt 
|j¡Wn\tk
r6}z<trtr|jtjkrWY¢q´|jtjtjfkr&‚W5d}~XYq´Xtj |j¡s´t
|ƒ‚q´dd	„}|tƒ}d
d„tjddDƒ}ˆ ||¡dS)Ncsœˆ |jt¡ˆ |jt¡ˆ |jt¡ˆ |jt¡ˆ |jttdƒf¡ˆ |j	ttdƒf¡|jdk	r€t
s€ˆ |jd¡|j	dk	r˜ˆ |j	d¡dSr„)r…ÚdevicerŽÚ
mountpointÚfstypeÚoptsZmaxfiler§rZmaxpathr r‡©rércr$r*Úcheck_ntupleHs
z7TestDiskAPIs.test_disk_partitions.<locals>.check_ntupleF)ÚallrxZcdromTcSs.tj |¡}tj |¡s&tj |¡}q| ¡SrN)r.r²ÚabspathÚismountÚdirnamerœ)r²r$r$r*Úfind_mount_pointysz;TestDiskAPIs.test_disk_partitions.<locals>.find_mount_pointcSsg|]}|jr|j ¡‘qSr$)rúrœr'r$r$r*r+€sÿz5TestDiskAPIs.test_disk_partitions.<locals>.<listcomp>)r0Zdisk_partitionsrorrür	r.r²r³rùrHrúrûÚstatÚOSErrorr rÚerrnoZEIOZEPERMZEACCESÚ__file__r-)r<rþrèZdiskrÒrZmountZmountsr$rcr*Útest_disk_partitionsGs>


ÿz!TestDiskAPIs.test_disk_partitionsz/proc/diskstatsz3/proc/diskstats not available on this linux versionr‰csz‡fdd„}tjdd}|dk	s(tdƒ‚||ƒtjdd}ˆ t|ƒtt|ƒƒ¡|D]}|sht|ƒ‚|||ƒqXdS)Ncs술|d|j¡ˆ |d|j¡ˆ |d|j¡ˆ |d|j¡tsÆtsƈ |d|j¡ˆ |d|j¡t	r°ˆ |d|j
¡ˆ |d|j¡ˆ |d	|j¡nt
rƈ |d|j¡|jD]}t||ƒdksÌt|ƒ‚qÌdS)
NrrUr[rWéérºéé)r7Z
read_countZwrite_countZ
read_bytesZwrite_bytesrrZ	read_timeZ
write_timerZread_merged_countZwrite_merged_countZ	busy_timerr¦r˜rH)rérrcr$r*rþ‰s
z8TestDiskAPIs.test_disk_io_counters.<locals>.check_ntupleF©Zperdiskzno disks on this system?T)r0Údisk_io_countersrHr7r^rn©r<rþÚretÚkeyr$rcr*Útest_disk_io_counters„sz"TestDiskAPIs.test_disk_io_countersc	CsNtjdid6}| tjdd¡| tjddi¡|js@t‚W5QRXdS)Nz#psutil._psplatform.disk_io_countersr½Fr
T)rr6rEr0rr7rGrH©r<rKr$r$r*Útest_disk_io_counters_no_disks¤sÿz+TestDiskAPIs.test_disk_io_counters_no_disksN)rr€rr"r‚rrrôrrörørrr.r²r³rr0rrrr$r$r$r*rð!s

=ÿÿrðc@sneZdZe ed¡dd„ƒZe ed¡dd„ƒZdd„Zdd	„Z	d
d„Z
e epZepZe
d¡d
d„ƒZdS)ÚTestNetAPIsrìcsh‡fdd„}tjdd}||ƒtjdd}ˆ |g¡|D]&}ˆ |¡ˆ |t¡|||ƒq<dS)Ncs(ˆ |d|j¡ˆ |d|j¡ˆ |d|j¡ˆ |d|j¡ˆ |d|j¡ˆ |d|j¡ˆ |d|j¡ˆ |d|j¡|jdks¢t	|ƒ‚|jdks´t	|ƒ‚|jdksÆt	|ƒ‚|jdksØt	|ƒ‚|jdksêt	|ƒ‚|jdksüt	|ƒ‚|jdkst	|ƒ‚|jdks$t	|ƒ‚dS)	NrrUr[rWr	r
rºr)
r7Z
bytes_sentZ
bytes_recvZpackets_sentZpackets_recvZerrinZerroutZdropinZdropoutrHrýrcr$r*rþ²s z6TestNetAPIs.test_net_io_counters.<locals>.check_ntupleF©ZpernicT)r0Únet_io_countersrŒror…rŽrr$rcr*Útest_net_io_counters°s
z TestNetAPIs.test_net_io_countersc	CsNtjdid6}| tjdd¡| tjddi¡|js@t‚W5QRXdS)Nz"psutil._psplatform.net_io_countersr½FrT)rr6rEr0rr7rGrHrr$r$r*Útest_net_io_counters_no_nicsÍsÿz(TestNetAPIs.test_net_io_counters_no_nicscCsht ¡}|st|ƒ‚t ¡}ttjtjtjgƒ}| 	¡D]Ì\}}| 
|t¡| t
t|ƒƒt
|ƒ¡|D]˜}| 
|jt¡| 
|jt¡| 
|jttdƒf¡| 
|jttdƒf¡| |j|¡tjdkrätsä| 
|jtj¡||jrœ|jtjkr2t |j¡}t |¡| |jdf¡W5QRXnj|jtjkrœt |jdtjtjdtj ¡d}|\}	}
}}}
t |	|
|¡}t |¡| |
¡W5QRX|j|j|j|j!fD]*}|dk	r°|jtjkr°t"||jƒq°|jrò| #|j!¡qj|j!rj| #|j¡qjq8t$st%st&r8t'tdƒrd| tjtj¡n,t(rP| tjtj)¡nt*rd| tjd¡dS)N)rWr	rÚAF_LINKrS)+r0Únet_if_addrsrHÚnet_if_statsrnÚsocketZAF_INETZAF_INET6rÚitemsr…rŽr7r^Zfamilyr§ÚaddressZnetmaskrZ	broadcastr-r“Úversion_inforrÚIntEnumÚisupÚ
contextlibÚclosingZbindZgetaddrinfoZSOCK_STREAMZ
AI_PASSIVEZptprrErrr
rirZ	AF_PACKETr)r<ÚnicsZ	nic_statsZfamiliesZnicZaddrsÚaddrÚsrBZafZsocktypeÚprotoZ	canonnameZsaZipr$r$r*Útest_net_if_addrs×sh
þþÿ
zTestNetAPIs.test_net_if_addrsc	Csztrdtjddddfg}ndg}tjd|dB}t ¡dd}|jsJt‚tr^| |j	d¡n| |j	d¡W5QRXdS)	NÚem1z06:3d:29)r*rSz06-3d-29NNNzpsutil._psplatform.net_if_addrsr½rz06:3d:29:00:00:00z06-3d-29-00-00-00)
r	r0rrr6rrGrHr7r)r<rrKr&r$r$r*Ú test_net_if_addrs_mac_null_bytessÿ
z,TestNetAPIs.test_net_if_addrs_mac_null_bytesc	CsŽt ¡}|st|ƒ‚tjtjtjf}| ¡D]\\}}| |t¡|\}}}}| |t	¡| 
||¡| 
||¡| |d¡| |d¡q,dSr„)r0rrHZNIC_DUPLEX_FULLZNIC_DUPLEX_HALFZNIC_DUPLEX_UNKNOWNrr…rŽr™r-rF)	r<r%Zall_duplexesrZstatsr"ZduplexZspeedZmtur$r$r*Útest_net_if_stats$sþzTestNetAPIs.test_net_if_statszLINUX or BSD or MACOS specificc	CsDtjdttjdƒd$}t ¡}| |i¡|js6t	‚W5QRXdS)Nzpsutil._psutil_posix.net_if_mtur@r,)
rr6rrZENODEVr0rr7rGrH)r<rKrr$r$r*Útest_net_if_stats_enodev3s
ÿz$TestNetAPIs.test_net_if_stats_enodevN)rr€rr"r‚rrrr)r+r,rrrr-r$r$r$r*r®s

	<ÿrc@sreZdZe ed¡dd„ƒZe ed¡dd„ƒZe ed¡e e	d¡dd„ƒƒZ
e ed¡d	d
„ƒZdS)ÚTestSensorsAPIsrìcCsŠt ¡}| ¡D]t\}}| |t¡|D]Z}| |jt¡|jdk	rR| |jd¡|jdk	rj| |jd¡|j	dk	r(| |j	d¡q(qdSr„)
r0Úsensors_temperaturesrr…rŽÚlabelrærFÚhighÚcritical)r<ÚtempsrÚentriesÚentryr$r$r*Útest_sensors_temperatures@s


z)TestSensorsAPIs.test_sensors_temperaturesc	Cspddgi}tjd|dN}tjdddd}|js8t‚| |jd¡| |jd	¡| |j	d
¡W5QRXdS)NZcoretemp)r0gI@gN@g€Q@z'psutil._psplatform.sensors_temperaturesr½T)Z
fahrenheitrg€^@g€a@gÀc@)
rr6r0r/rGrHr7rær1r2)r<ÚdrKr3r$r$r*Ú#test_sensors_temperatures_fahreneitNs 
ÿÿÿÿ
z3TestSensorsAPIs.test_sensors_temperatures_fahreneitz
no batterycCspt ¡}| |jd¡| |jd¡|jtjtjfkrF| |jd¡n|jtjkr^| |j	¡| 
|j	t¡dS)Nrr¡)r0Zsensors_batteryrFr¢rÐZsecsleftZPOWER_TIME_UNKNOWNZPOWER_TIME_UNLIMITEDroZ
power_pluggedr…r™)r<rr$r$r*Útest_sensors_batteryZsÿz$TestSensorsAPIs.test_sensors_batterycCsbt ¡}| ¡D]L\}}| |t¡|D]2}| |jt¡| |jttf¡| 	|jd¡q(qdSr„)
r0Zsensors_fansrr…rŽr0rær§r
rF)r<Zfansrr4r5r$r$r*Útest_sensors_fanshsz!TestSensorsAPIs.test_sensors_fansN)
rr€rr"r‚rr6r8rrr9rr:r$r$r$r*r.>s


r.Ú__main__)Ú
run_from_name):Ú__doc__r#rrr.rÑrórlrr“rfr0rrrrrrrr	r
rZpsutil._compatrr
Zpsutil.testsrrrrrrrrrrrrrrrrrrr r!r"r#rƒr r®rðrr.rZpsutil.tests.runnerr<rr$r$r$r*Ú<module>stJ%q5

Back to Directory File Manager