HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //opt/osm/venv/lib64/python3.10/site-packages/psutil/tests/__pycache__/test_posix.cpython-310.pyc
o

=i�C�@s�dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
Z
ddl
mZddl
mZddl
m
Z
ddl
mZddl
mZdd	l
mZdd
l
mZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZer�ddlZddlZd)dd�Zdd�Z dd�Z!dd�Z"dd�Z#dd �Z$ej%j&ed!d"�Gd#d$�d$e��Z'ej%j&ed!d"�Gd%d&�d&e��Z(ej%j&ed!d"�Gd'd(�d(e��Z)dS)*zPOSIX specific tests.�N)�mock)�AIX)�BSD)�LINUX)�MACOS)�OPENBSD)�POSIX)�SUNOS)�AARCH64)�HAS_NET_IO_COUNTERS)�
PYTHON_EXE)�PsutilTestCase)�pytest)�retry_on_failure)�sh)�skip_on_access_denied)�
spawn_subproc)�	terminatec	Cs�dg}tr
|�d�|dur|�dt|�g�ntstr"|�d�n|�d�tr/|�dd�}|�d	|g�t|�}tr@|��n|��d
d�}g}|D]}|�	�}zt
|�}Wn	tyaYnw|�|�qL|durn|S|dS)zwWrapper for calling the ps command with a little bit of cross-platform
    support for a narrow range of features.
    �psz--no-headersNz-pz-A�ax�startZstimez-o�r)r�append�extend�strr	r�replacer�
splitlines�strip�int�
ValueError)�fmt�pid�cmd�output�
all_output�line�r&�E/opt/osm/venv/lib/python3.10/site-packages/psutil/tests/test_posix.pyr*s2

�rcCs"d}trd}t||���}|dS)N�commandZcommr)r	r�split)r!�fieldr(r&r&r'�ps_nameas
r+cCs0d}tstrd}t||�}t�dd|�}|��S)Nr(�argsz\(python.*?\)$�)rr	r�re�subr)r!r*�outr&r&r'�ps_argsis
r1cC�d}trd}t||�S)NZrssZrssize�rr�r!r*r&r&r'�ps_rsss�
r5cCr2)NZvszZvsizer3r4r&r&r'�ps_vszzr6r7c	
Cs�ztd|�����}Wn ty+}zdt|���vr&t�d�WYd}~S�d}~ww|�d�d}|��}t|d�d}t|d�d}t|d�d}t	|d	�
d
d��}||||fS)Nzdf -k zdevice busyzdf returned EBUSY�
r�����%r-)rr�RuntimeErrorr�lowerr�skipr)r�floatr)	�devicer0�errr%�fields�	sys_total�sys_used�sys_free�sys_percentr&r&r'�df�s��rIz
POSIX only��reasonc@s�eZdZdZedd��Zedd��Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Ze�e
�dd���Ze�e
�dd���Zdd�Zdd�Zdd�Zdd�ZejjepPedd�dd��Zd d!�Ze
�d"d#��Zejjed$d�ejjed%d�d&d'���Zd(S))�TestProcesszBCompare psutil results against 'ps' command line utility (mainly).cCsttddgtjd�j|_dS)Nz-Ez-O)�stdin)rr�
subprocess�PIPEr!��clsr&r&r'�
setUpClass�s
��zTestProcess.setUpClasscCst|j�dS�N)rr!rPr&r&r'�
tearDownClass�szTestProcess.tearDownClasscC�,td|j�}t�|j���}||ksJ�dS)N�ppid)rr!�psutil�ProcessrV)�selfZppid_psZppid_psutilr&r&r'�	test_ppid��zTestProcess.test_ppidcC�.td|j�}t�|j���j}||ksJ�dS)N�uid)rr!rWrX�uids�real)rYZuid_psZ
uid_psutilr&r&r'�test_uid��zTestProcess.test_uidcCr\)NZrgid)rr!rWrX�gidsr_)rYZgid_psZ
gid_psutilr&r&r'�test_gid�razTestProcess.test_gidcCrU)N�user)rr!rWrX�username)rYZusername_psZusername_psutilr&r&r'�
test_username�r[zTestProcess.test_usernamecCs`t��}tjdtd��}|��t|��j�ksJ�|j	sJ�Wd�dS1s)wYdS)Nzpsutil.pwd.getpwuid�Zside_effect)
rWrXr�patch�KeyErrorrerr^r_�called)rY�pZfunr&r&r'�test_username_no_resolution�s
"�z'TestProcess.test_username_no_resolutioncC�<t�d�t|j�}t�|j���dd}||ksJ�dS)N皙�����?rr9)�time�sleepr5r!rWrX�memory_info)rYZrss_psZ
rss_psutilr&r&r'�test_rss_memory��

zTestProcess.test_rss_memorycCrm)Nrnrr9)rorpr7r!rWrXrq)rYZvsz_psZ
vsz_psutilr&r&r'�test_vsz_memory�rszTestProcess.test_vsz_memorycCsvt|j�}tj�|���}t�|j�����}t	�
dd|�}t	�
dd|�}t	�
dd|�}t	�
dd|�}||ks9J�dS)Nz\d.\dr-z\d)r+r!�os�path�basenamer?rWrX�namer.r/)rYZname_psZname_psutilr&r&r'�	test_name�s
zTestProcess.test_namec	Cs�d}gd�}tjd|d��4tjd|d��t��}|��dks"J�Wd�n1s,wYWd�dSWd�dS1sDwYdS)N�long-program-name)�long-program-name-extendedZfoo�bar�psutil._psplatform.Process.name��return_value�"psutil._psplatform.Process.cmdliner{)rrhrWrXrx)rYrx�cmdlinerkr&r&r'�test_name_long�s���"�zTestProcess.test_name_longc	Cs�d}tjd|d��8tjdt�dd�d��t��}|��dks"J�Wd�n1s,wYWd�dSWd�dS1sDwYdS�Nrzr}r~r�rr-rg)rrhrWZAccessDeniedrXrx�rYrxrkr&r&r'�test_name_long_cmdline_ad_exc�s
���"�z)TestProcess.test_name_long_cmdline_ad_excc
Cs�d}tjd|d��Jtjdt�dd�d��&t��}t�tj��|��Wd�n1s/wYWd�n1s>wYWd�dSWd�dS1sVwYdSr�)rrhrWZ
NoSuchProcessrXr�raisesrxr�r&r&r'�test_name_long_cmdline_nsp_exc�s
�
����"�z*TestProcess.test_name_long_cmdline_nsp_exczps -o start not availablerJcCs\td|j�}t�|j���}tj�|��d�}t|�}tj�|��d�}|||hvs,J�dS)Nrz%H:%M:%S)	rr!rWrXZcreate_time�datetime�
fromtimestamp�strftime�round)rYZtime_psZtime_psutilZtime_psutil_tstampZround_time_psutilZround_time_psutil_tstampr&r&r'�test_create_times����zTestProcess.test_create_timecCs^t|j�}t�|j���}z	||ksJ�WdSty.|dt|��}||ks+J�YdSwrS)r+r!rWrX�exe�AssertionError�len)rYZps_pathnameZpsutil_pathnameZadjusted_ps_pathnamer&r&r'�test_exes
�zTestProcess.test_execCsVt|j�}d�t�|j����}tr#t|�t|�kr#|�|�s!J�dS||ks)J�dS)N� )	r1r!�joinrWrXr�r
r��
startswith)rYZ
ps_cmdlineZpsutil_cmdliner&r&r'�test_cmdline(s

zTestProcess.test_cmdlineznot reliable on SUNOSznot reliable on AIXcCs(td|j�}t����}||ksJ�dS)N�nice)rr!rWrXr�)rYZps_niceZpsutil_nicer&r&r'�	test_nice6szTestProcess.test_niceN)�__name__�
__module__�__qualname__�__doc__�classmethodrRrTrZr`rcrfrlrrrrrtryr�r�r�r�mark�skipifrrr�r�r�r	rr�r&r&r&r'rL�s:

	




rLc@s�eZdZdZe�dd��Zejje	dd�ejje
�d�dd�ejjedd�d	d
����Z
e�dd��Ze�d
d��Zdd�Zdd�Zdd�Zdd�Zejjedd�e�dd���ZdS)�TestSystemAPIszTest some system APIs.cs~ttd���t���tstrd�vr��dd�t��t��dkr=�fdd��D��fdd��D�}t�	dt
|��SdS)Nr!rrc�g|]}|�vr|�qSr&r&��.0�x)�pids_psr&r'�
<listcomp>O�z,TestSystemAPIs.test_pids.<locals>.<listcomp>cr�r&r&r�)�pids_psutilr&r'r�Oszdifference: )�sortedrrWZpidsrr�insertr�r�failr)rY�
differencer&)r�r�r'�	test_pidsBs��zTestSystemAPIs.test_pidszunreliable on SUNOSrJ�ifconfigzno ifconfig cmdz
not supportedcCsTtd�}tjdd�D]}|��D]	}|�|�rnqt�d|�d|���Sq
dS)Nzifconfig -aT)Zperniczcouldn't find z nic in 'ifconfig -a' output
)rrWZnet_io_countersr)r�rr�)rYr#Znicr%r&r&r'�test_nic_namesVs
�����zTestSystemAPIs.test_nic_namesc	Cs$td�}|��s
t�d�Sg}|��D]>}|��d}|��d}ts%trJz
t|��d�}Wnt	y@t|��d�}Ynw|�
|||f�q|�
||f�qtsVtr`dd�t��D�}n	d	d�t��D�}t
|�t
|�kssJ�t|�t|�ks}J�t��D]}|jdur�|jdks�J�q�dS)
N�who -u�no users on this systemrr������cSsg|]
}|j|j|jf�qSr&)rx�terminalr!�r��ur&r&r'r�ysz-TestSystemAPIs.test_users.<locals>.<listcomp>cSsg|]}|j|jf�qSr&)rxr�r�r&r&r'r�{r�)rrrr@rr)rrrrrrW�usersr�r�r!)rYr0Zsusersr%rdr�r!Zpusersr&r&r'�
test_userses2
�
��zTestSystemAPIs.test_userscCstd�}|��s
t�d�Sd}t�d|�}|rd}n't�d|�}|r%d}nt�d|�}|r0d}nt�d	|�}|rAd}d
d�|D�}|sKt�d|���S|jt��|d
��&t	t���D]\}}t
j
�|j��
|�}|||ksqJ�q[Wd�dS1s}wYdS)Nr�r�z\d\d\d\d-\d\d-\d\d \d\d:\d\dz%Y-%m-%d %H:%Mz[A-Z][a-z][a-z] \d\d \d\d:\d\dz%b %d %H:%Mz[A-Z][a-z][a-z] \d\dz%b %dz[a-z][a-z][a-z] \d\dcSsg|]}|���qSr&)�
capitalizer�r&r&r'r��sz5TestSystemAPIs.test_users_started.<locals>.<listcomp>z&cannot interpret tstamp in who output
)rWZwho)rrrr@r.�findallZsubTestrWr��	enumerater�r��startedr�)rYr0Ztstampr��idxr�Zpsutil_valuer&r&r'�test_users_started�s:
���"�z!TestSystemAPIs.test_users_startedc	C�tjdttjd�d��+}t�t��tj�	t
���Wd�n1s$wY|js.J�Wd�dS1s9wYdS)Nzpsutil._psposix.os.killr-rg)
rrh�OSError�errno�EBADFrr�rW�_psposixZ
pid_existsru�getpidrj�rY�mr&r&r'�test_pid_exists_let_raise�s��"�z(TestSystemAPIs.test_pid_exists_let_raisec	Cr�)N�psutil._psposix.os.waitpidr-rg)
rrhr�r�r�rr�rWr��wait_pidrur�rjr�r&r&r'�test_os_waitpid_let_raise�s��"�z(TestSystemAPIs.test_os_waitpid_let_raisec	Cs�tjdttjd�d��/}t�tjj	��tjj
t��dd�Wd�n1s(wY|j
s2J�Wd�dS1s=wYdS)Nr�r-rgg{�G�z�?)�timeout)rrhr�r�ZEINTRrr�rWr��TimeoutExpiredr�rur�rjr�r&r&r'�test_os_waitpid_eintr�s��"�z$TestSystemAPIs.test_os_waitpid_eintrc	Csxtjddd��+}t�t��tj�t�	��Wd�n1s wY|j
s*J�Wd�dS1s5wYdS)Nr�)rr�r~)rrhrr�rrWr�r�rur�rjr�r&r&r'�test_os_waitpid_bad_ret_status�s��"�z-TestSystemAPIs.test_os_waitpid_bad_ret_statuszunreliable on AIXc	Cs�d}tjdd�D]e}t�|j�}zt|j�\}}}}Wn%ty@}zt|���}d|vs5d|vs5d|vr;WYd}~q�d}~wwt	|j
|�|ksLJ�t	|j|�|ksWJ�t	|j|�|ksbJ�t	|j
|�dksmJ�qdS)Ni@F)�allzno such file or directoryzraw devices not supportedzpermission deniedr)rWZdisk_partitions�
disk_usageZ
mountpointrIrBr>rr?�abs�total�used�free�percent)	rYZ	tolerance�part�usagerErFrGrHrCr&r&r'�test_disk_usage�s&��
�zTestSystemAPIs.test_disk_usageN)r�r�r�r�rr�rr�r�r	�shutil�whichrr�r�r�r�r�r�r�rr�r&r&r&r'r�>s&


$
	
r�c@seZdZdd�ZdS)�TestMisccCs:tjj��}|dksJ�|t��ksJ�|tjksJ�dS)Nr)rWZ_psplatformZcextZgetpagesize�resource�mmap�PAGESIZE)rYZpagesizer&r&r'�test_getpagesize�szTestMisc.test_getpagesizeN)r�r�r�r�r&r&r&r'r��sr�rS)*r�r�r�rur.r�rNroZunittestrrWrrrrrrr	Zpsutil.testsr
rrr
rrrrrrr�r�rr+r1r5r7rIr�r�rLr�r�r&r&r&r'�<module>sX
7
-.