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

U

Œ=Ý_';ã@sèdZddlZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddlm
Z
ddlmZddlmZddlm
Z
dd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZe
rBddlZddlZddlmZd*dd„Z dd„Z!dd„Z"dd„Z#dd „Z$e %e
d!¡Gd"d#„d#eƒƒZ&e %e
d!¡Gd$d%„d%eƒƒZ'e %e
d!¡Gd&d'„d'eƒƒZ(e)d(krädd)l*m+Z+e+e,ƒdS)+zPOSIX specific tests.éN)ÚAIX)ÚBSD)ÚLINUX)ÚMACOS)ÚOPENBSD)ÚPOSIX)ÚSUNOS)Ú
CI_TESTING)Úspawn_testproc)ÚHAS_NET_IO_COUNTERS)Úmock)ÚPsutilTestCase)Ú
PYTHON_EXE)Úretry_on_failure)Úsh)Úskip_on_access_denied)Ú	terminate)Úunittest)Úwhich)Úgetpagesizec	Csôdg}tr| d¡|dk	r0| dt|ƒg¡nts8trD| d¡n
| d¡trftdƒ}| ||¡}| d|g¡t|ƒ}trŠ| 	¡}n| 	¡d	d…}g}|D]8}| 
¡}zt|ƒ}Wntk
rÎYnX| |¡q¢|dkrè|S|d
SdS)z|
    Wrapper for calling the ps command with a little bit of cross-platform
    support for a narrow range of features.
    Úpsz--no-headersNz-pz-AZax)ÚcommandÚcommÚstartZstimez-oér)
rÚappendÚextendÚstrrrÚsetÚgetrÚ
splitlinesÚstripÚintÚ
ValueError)ZfmtÚpidÚcmdZfmt_mapÚoutputZ
all_outputÚline©r(úJ/opt/alt/python38/lib64/python3.8/site-packages/psutil/tests/test_posix.pyr-s6


rcCsd}trd}t||ƒ ¡dS)Nrrr)rrÚsplit©r$Zfieldr(r(r)Úps_nameisr,cCsd}tstrd}t||ƒS)NrÚargs)rrrr+r(r(r)Úps_argspsr.cCsd}trd}t||ƒS)NZrssZrssize©rrr+r(r(r)Úps_rsswsr0cCsd}trd}t||ƒS)NZvszZvsizer/r+r(r(r)Úps_vsz~sr1z
POSIX onlyc@sàeZdZdZedd„ƒZedd„ƒZdd„Zdd	„Zd
d„Z	dd
„Z
dd„Zeƒe
ƒdd„ƒƒZeƒe
ƒdd„ƒƒZdd„Zdd„Zdd„Zdd„Ze epžed¡dd„ƒZdd „Zd!d"„Ze ed#¡e ed$¡d%d&„ƒƒZd'S)(ÚTestProcesszBCompare psutil results against 'ps' command line utility (mainly).cCsttddgtjdj|_dS)Nz-Ez-O)Ústdin)r
rÚ
subprocessÚPIPEr$©Úclsr(r(r)Ú
setUpClass‰s
ÿzTestProcess.setUpClasscCst|jƒdS©N)rr$r6r(r(r)Ú
tearDownClassŽszTestProcess.tearDownClasscCs,td|jƒ}t |j¡ ¡}| ||¡dS)NÚppid)rr$ÚpsutilÚProcessr;ÚassertEqual)ÚselfZppid_psZppid_psutilr(r(r)Ú	test_ppid’szTestProcess.test_ppidcCs.td|jƒ}t |j¡ ¡j}| ||¡dS)NZuid)rr$r<r=ÚuidsÚrealr>)r?Zuid_psZ
uid_psutilr(r(r)Útest_uid—szTestProcess.test_uidcCs.td|jƒ}t |j¡ ¡j}| ||¡dS)NZrgid)rr$r<r=ZgidsrBr>)r?Zgid_psZ
gid_psutilr(r(r)Útest_gidœszTestProcess.test_gidcCs,td|jƒ}t |j¡ ¡}| ||¡dS)NÚuser)rr$r<r=Úusernamer>)r?Zusername_psZusername_psutilr(r(r)Ú
test_username¡szTestProcess.test_usernamec	CsJt ¡}tjdtd*}| | ¡t| ¡j	ƒ¡|j
s<t‚W5QRXdS)Nzpsutil.pwd.getpwuid©Zside_effect)r<r=rÚpatchÚKeyErrorr>rFrrArBÚcalledÚAssertionError)r?ÚpZfunr(r(r)Útest_username_no_resolution¦sz'TestProcess.test_username_no_resolutioncCs<t d¡t|jƒ}t |j¡ ¡dd}| ||¡dS)Nçš™™™™™¹?ré)ÚtimeÚsleepr0r$r<r=Úmemory_infor>)r?Zrss_psZ
rss_psutilr(r(r)Útest_rss_memory¯s

zTestProcess.test_rss_memorycCs<t d¡t|jƒ}t |j¡ ¡dd}| ||¡dS)NrOrrP)rQrRr1r$r<r=rSr>)r?Zvsz_psZ
vsz_psutilr(r(r)Útest_vsz_memory¹s

zTestProcess.test_vsz_memorycCsvt|jƒ}tj |¡ ¡}t |j¡ ¡ ¡}t	 
dd|¡}t	 
dd|¡}t	 
dd|¡}t	 
dd|¡}| ||¡dS)Nz\d.\dÚz\d)r,r$ÚosÚpathÚbasenameÚlowerr<r=ÚnameÚreÚsubr>)r?Zname_psZname_psutilr(r(r)Ú	test_nameÃs
zTestProcess.test_namec
Cs^d}dddg}tjd|d8tjd|dt ¡}| | ¡d¡W5QRXW5QRXdS)Núlong-program-namezlong-program-name-extendedZfooZbarúpsutil._psplatform.Process.name©Zreturn_valueú"psutil._psplatform.Process.cmdline)rrIr<r=r>r[)r?r[ÚcmdlinerMr(r(r)Útest_name_longÑs
ÿÿzTestProcess.test_name_longc
Cs\d}tjd|d@tjdt dd¡dt ¡}| | ¡d¡W5QRXW5QRXdS©Nr_r`rarbrrVrH)rrIr<ZAccessDeniedr=r>r[©r?r[rMr(r(r)Útest_name_long_cmdline_ad_excÞsÿ
ÿz)TestProcess.test_name_long_cmdline_ad_excc
Cs\d}tjd|d@tjdt dd¡dt ¡}| tj|j¡W5QRXW5QRXdSre)rrIr<Z
NoSuchProcessr=ÚassertRaisesr[rfr(r(r)Útest_name_long_cmdline_nsp_excêsÿ
ÿz*TestProcess.test_name_long_cmdline_nsp_exczps -o start not availablecCs\td|jƒ}t |j¡ ¡}tj |¡ d¡}t|ƒ}tj |¡ d¡}| 	|||g¡dS)Nrz%H:%M:%S)
rr$r<r=Zcreate_timeÚdatetimeZ
fromtimestampÚstrftimeÚroundÚassertIn)r?Ztime_psZtime_psutilZtime_psutil_tstampZround_time_psutilZround_time_psutil_tstampr(r(r)Útest_create_timeõsÿÿÿÿzTestProcess.test_create_timecCs`t|jƒ}t |j¡ ¡}z| ||¡Wn0tk
rZ|dt|ƒ…}| ||¡YnXdSr9)r,r$r<r=Zexer>rLÚlen)r?Zps_pathnameZpsutil_pathnameZadjusted_ps_pathnamer(r(r)Útest_exes
zTestProcess.test_execCs0t|jƒ}d t |j¡ ¡¡}| ||¡dS)Nú )r.r$Újoinr<r=rcr>)r?Z
ps_cmdlineZpsutil_cmdliner(r(r)Útest_cmdlines
zTestProcess.test_cmdlineznot reliable on SUNOSznot reliable on AIXcCs(td|jƒ}t ¡ ¡}| ||¡dS)NÚnice)rr$r<r=rtr>)r?Zps_niceZpsutil_nicer(r(r)Ú	test_niceszTestProcess.test_niceN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr8r:r@rCrDrGrNrrrTrUr^rdrgrirÚskipIfrrrnrprsrrrur(r(r(r)r2…s6

	




r2c@s°eZdZdZeƒdd„ƒZe ed¡e e	dƒd¡e e
d¡dd	„ƒƒƒZe eo^e
 ¡d
¡eƒdd„ƒƒZd
d„Zdd„Zdd„Zdd„Ze ed¡eƒdd„ƒƒZdS)ÚTestSystemAPIszTest some system APIs.cs~ttdƒƒ‰t ¡‰ts$tr0dˆkr0ˆ dd¡tˆƒtˆƒdkrz‡fdd„ˆDƒ‡fdd„ˆDƒ}| dt	|ƒ¡dS)Nr$rrcsg|]}|ˆkr|‘qSr(r(©Ú.0Úx)Úpids_psr(r)Ú
<listcomp>4sz,TestSystemAPIs.test_pids.<locals>.<listcomp>csg|]}|ˆkr|‘qSr(r(r})Úpids_psutilr(r)r5szdifference: )
Úsortedrr<ZpidsrrÚinsertroÚfailr)r?Ú
differencer()r€r‚r)Ú	test_pids'sÿzTestSystemAPIs.test_pidszunreliable on SUNOSZifconfigzno ifconfig cmdz
not supportedcCsPtdƒ}tjdd ¡D]2}| ¡D]}| |¡r$qq$| d||f¡qdS)Nzifconfig -aT)Zpernicz/couldn't find %s nic in 'ifconfig -a' output
%s)rr<Znet_io_countersÚkeysr*Ú
startswithr…)r?r&Znicr'r(r(r)Útest_nic_names:s
ÿÿzTestSystemAPIs.test_nic_nameszunreliable on CIcCs†tdƒ}| ¡s| d¡‚| d¡}dd„|Dƒ}dd„|Dƒ}| t|ƒtt ¡ƒ¡t ¡D] }| |j	|¡| |j
|¡q`dS)NZwhozno users on this systemÚ
cSsg|]}| ¡d‘qS)r©r*r}r(r(r)rOsz-TestSystemAPIs.test_users.<locals>.<listcomp>cSsg|]}| ¡d‘qS)rrŒr}r(r(r)rPs)rr!ZskipTestr*r>ror<Úusersrmr[Zterminal)r?ÚoutÚlinesrZ	terminalsÚur(r(r)Ú
test_usersHs

zTestSystemAPIs.test_usersc	CsFtjdttjdƒd&}| ttjjt	 
¡¡|js8t‚W5QRXdS)Nzpsutil._psposix.os.killrVrH)
rrIÚOSErrorÚerrnoÚEBADFrhr<Ú_psposixZ
pid_existsrWÚgetpidrKrL©r?Úmr(r(r)Útest_pid_exists_let_raiseVs
ÿz(TestSystemAPIs.test_pid_exists_let_raisec	CsFtjdttjdƒd&}| ttjjt	 
¡¡|js8t‚W5QRXdS)Núpsutil._psposix.os.waitpidrVrH)
rrIr’r“r”rhr<r•Úwait_pidrWr–rKrLr—r(r(r)Útest_os_waitpid_let_raise_s
ÿz(TestSystemAPIs.test_os_waitpid_let_raisec	CsNtjdttjdƒd.}|jtjjtjj	t
 ¡dd|js@t
‚W5QRXdS)NršrVrHg{®Gáz„?)Ztimeout)rrIr’r“ZEINTRrhr<r•ZTimeoutExpiredr›rWr–rKrLr—r(r(r)Útest_os_waitpid_eintrgs
ÿþz$TestSystemAPIs.test_os_waitpid_eintrc	Cs>tjddd&}| ttjjt ¡¡|j	s0t
‚W5QRXdS)Nrš)réÿÿÿÿra)rrIrhr#r<r•r›rWr–rKrLr—r(r(r)Útest_os_waitpid_bad_ret_statuspsÿÿz-TestSystemAPIs.test_os_waitpid_bad_ret_statuszunreliable on AIXc
Csàdd„}d}tjddD]Â}t |j¡}z||jƒ\}}}}WnRtk
r}	z4t|	ƒ ¡}	d|	kstd|	kstd|	kr~WY¢
qn‚W5d}	~	XYqX|j|j	||d	|j|j
||d	|j|j||d	|j|j|d
d	qdS)NcSsvtd|ƒ ¡}| d¡d}| ¡}t|dƒd}t|dƒd}t|dƒd}t|d dd	¡ƒ}||||fS)
Nzdf -k %sr‹rrPéééú%rV)rr!r*r"ÚfloatÚreplace)ÚdevicerŽr'ZfieldsÚtotalÚusedÚfreeÚpercentr(r(r)Údf|sz*TestSystemAPIs.test_disk_usage.<locals>.dfi@F)Úallzno such file or directoryzraw devices not supportedzpermission denied)Zdeltar)
r<Zdisk_partitionsZ
disk_usageZ
mountpointr¦ÚRuntimeErrorrrZZassertAlmostEqualr§r¨r©rª)
r?r«Z	toleranceÚpartZusager§r¨r©rªÚerrr(r(r)Útest_disk_usageys&
ÿþ
zTestSystemAPIs.test_disk_usageN)rvrwrxryrr‡rr{rrrrŠr	r<rr‘r™rœrrŸrr°r(r(r(r)r|#s"

			
r|c@seZdZdd„ZdS)ÚTestMisccCs4tƒ}| |d¡| |t ¡¡| |tj¡dS)Nr)rZ
assertGreaterr>ÚresourceÚmmapZPAGESIZE)r?Zpagesizer(r(r)Útest_getpagesize szTestMisc.test_getpagesizeN)rvrwrxr´r(r(r(r)r±sr±Ú__main__)Ú
run_from_name)N)-ryrjr“rWr\r4rQr<rrrrrrrZpsutil.testsr	r
rrr
rrrrrrrr³r²Zpsutil._psutil_posixrrr,r.r0r1r{r2r|r±rvZpsutil.tests.runnerr¶Ú__file__r(r(r(r)Ú<module>sZ
<y	

Back to Directory File Manager