HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
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(k�r�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)�fmt�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%�fieldr)r)r*�ps_nameisr.cCsd}tstrd}t||�S)Nr�args)rrrr,r)r)r*�ps_argspsr0cCsd}trd}t||�S)NZrssZrssize�rrr,r)r)r*�ps_rsswsr2cCsd}trd}t||�S)NZvszZvsizer1r,r)r)r*�ps_vsz~sr3z
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).cCsttddgtjd�j|_dS)Nz-Ez-O)�stdin)r
r�
subprocess�PIPEr%��clsr)r)r*�
setUpClass�s
�zTestProcess.setUpClasscCst|j�dS�N)rr%r8r)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)N�uid)rr%r>r?�uids�realr@)rAZuid_psZ
uid_psutilr)r)r*�test_uid�szTestProcess.test_uidcCs.td|j�}t�|j���j}|�||�dS)NZrgid)rr%r>r?ZgidsrEr@)rAZgid_psZ
gid_psutilr)r)r*�test_gid�szTestProcess.test_gidcCs,td|j�}t�|j���}|�||�dS)N�user)rr%r>r?�usernamer@)rAZusername_psZusername_psutilr)r)r*�
test_username�szTestProcess.test_usernamec	CsJt��}tjdtd��*}|�|��t|��j	��|j
s<t�W5QRXdS)Nzpsutil.pwd.getpwuid��side_effect)r>r?r�patch�KeyErrorr@rIrrDrE�called�AssertionError)rA�p�funr)r)r*�test_username_no_resolution�sz'TestProcess.test_username_no_resolutioncCs<t�d�t|j�}t�|j���dd}|�||�dS)N皙�����?r�)�time�sleepr2r%r>r?�memory_infor@)rAZrss_psZ
rss_psutilr)r)r*�test_rss_memory�s

zTestProcess.test_rss_memorycCs<t�d�t|j�}t�|j���dd}|�||�dS)NrTrrU)rVrWr3r%r>r?rXr@)rAZvsz_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@)rAZname_psZname_psutilr)r)r*�	test_name�s
zTestProcess.test_namec
Cs^d}dddg}tjd|d��8tjd|d��t��}|�|��d�W5QRXW5QRXdS)N�long-program-namezlong-program-name-extendedZfooZbar�psutil._psplatform.Process.name�Zreturn_value�"psutil._psplatform.Process.cmdline)rrMr>r?r@r`)rAr`�cmdlinerQr)r)r*�test_name_long�s
��zTestProcess.test_name_longc
Cs\d}tjd|d��@tjdt�dd�d��t��}|�|��d�W5QRXW5QRXdS�Nrdrerfrgrr[rK)rrMr>�AccessDeniedr?r@r`�rAr`rQr)r)r*�test_name_long_cmdline_ad_exc�s�
�z)TestProcess.test_name_long_cmdline_ad_excc
Cs\d}tjd|d��@tjdt�dd�d��t��}|�tj|j�W5QRXW5QRXdSrj)rrMr>�
NoSuchProcessr?�assertRaisesr`rlr)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�datetime�
fromtimestamp�strftime�round�assertIn)rAZtime_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|��}|�||�YnXdSr;)r.r%r>r?Zexer@rP�len)rAZps_pathnameZpsutil_pathnameZadjusted_ps_pathnamer)r)r*�test_exes
zTestProcess.test_execCs0t|j�}d�t�|j����}|�||�dS)N� )r0r%�joinr>r?rhr@)rAZ
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?r|r@)rAZps_niceZpsutil_nicer)r)r*�	test_niceszTestProcess.test_niceN)�__name__�
__module__�__qualname__�__doc__�classmethodr:r<rBrFrGrJrSrrrYrZrcrirmrpr�skipIfrrrvrxr{rrr}r)r)r)r*r4�s6

	




r4c@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*r�5szdifference: )
�sortedrr>Zpidsrr�insertrw�failr)rA�
differencer))r�r�r*�	test_pids's�zTestSystemAPIs.test_pidszunreliable on SUNOS�ifconfigzno 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�)rAr'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)N�whozno users on this system�
cSsg|]}|��d�qS)r�r+r�r)r)r*r�Osz-TestSystemAPIs.test_users.<locals>.<listcomp>cSsg|]}|��d�qS)rr�r�r)r)r*r�Ps)rr!ZskipTestr+r@rwr>�usersrur`�terminal)rA�out�linesr�Z	terminals�ur)r)r*�
test_usersHs

zTestSystemAPIs.test_usersc	CsFtjdttjd�d��&}|�ttjjt	�
��|js8t�W5QRXdS)Nzpsutil._psposix.os.killr[rK)
rrM�OSError�errno�EBADFror>�_psposixZ
pid_existsr\�getpidrOrP�rA�mr)r)r*�test_pid_exists_let_raiseVs
�z(TestSystemAPIs.test_pid_exists_let_raisec	CsFtjdttjd�d��&}|�ttjjt	�
��|js8t�W5QRXdS)N�psutil._psposix.os.waitpidr[rK)
rrMr�r�r�ror>r��wait_pidr\r�rOrPr�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�r[rKg{�G�z�?)�timeout)rrMr�r�ZEINTRror>r��TimeoutExpiredr�r\r�rOrPr�r)r)r*�test_os_waitpid_eintrgs
��z$TestSystemAPIs.test_os_waitpid_eintrc	Cs>tjddd��&}|�ttjjt���|j	s0t
�W5QRXdS)Nr�)r���rf)rrMror#r>r�r�r\r�rOrPr�r)r)r*�test_os_waitpid_bad_ret_statusps��z-TestSystemAPIs.test_os_waitpid_bad_ret_statuszunreliable on AIXc
Cs�dd�}d}tjdd�D]�}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�rrU����%r[)rr!r+r"�float�replace)�devicer�r(�fields�total�used�free�percentr)r)r*�df|sz*TestSystemAPIs.test_disk_usage.<locals>.dfi@F)�allzno such file or directoryzraw devices not supportedzpermission denied)�deltar)
r>Zdisk_partitions�
disk_usage�
mountpointr��RuntimeErrorrr_ZassertAlmostEqualr�r�r�r�)
rAr�Z	tolerance�part�usager�r�r�r��errr)r)r*�test_disk_usageys&
��
zTestSystemAPIs.test_disk_usageN)r~rr�r�rr�rr�rrrr�r	r>r�r�r�r�r�r�rr�r)r)r)r*r�#s"

			
r�c@seZdZdd�ZdS)�TestMisccCs4t�}|�|d�|�|t���|�|tj�dS)Nr)rZ
assertGreaterr@�resource�mmapZPAGESIZE)rAZpagesizer)r)r*�test_getpagesize�szTestMisc.test_getpagesizeN)r~rr�r�r)r)r)r*r��sr��__main__)�
run_from_name)N)-r�rqr�r\rar6rVr>rrrrrrrZpsutil.testsr	r
rrr
rrrrrrrr�r�Zpsutil._psutil_posixrrr.r0r2r3r�r4r�r�r~Zpsutil.tests.runnerr��__file__r)r)r)r*�<module>sZ
<y