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_misc.cpython-310.pyc
o

=i�r�@sxdZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlZddlmZddl
mZddl
mZddl
mZddl
mZdd	l
mZdd
l
mZddl
mZddl
mZdd
l
mZddlmZddlmZddlmZddlmZddlmZddlmZGdd�de�ZGdd�de�ZGdd�de�Z Gdd�de�Z!e�"dd�Z#Gdd�de�Z$dS) zMiscellaneous tests.�N)�mock)�WINDOWS)�bcat)�cat)�debug)�
isfile_strict)�memoize)�memoize_when_activated��parse_environ_block)�
supports_ipv6��wrap_numbers)�HAS_NET_IO_COUNTERS)�PsutilTestCase)�process_namespace)�pytest)�
reload_module)�system_namespacec@s�eZdZdd�Zefdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS) �TestSpecialMethodscCs|t�t��tjj�dd�Wd�n1swYt�tj��t�dd�Wd�dS1s7wYdS)N��)	r�raises�
OverflowError�psutilZ_psplatformZcextZcheck_pid_range�
NoSuchProcess�Process��self�r�D/opt/osm/venv/lib/python3.10/site-packages/psutil/tests/test_misc.py�test_check_pid_range+s�"�z'TestSpecialMethods.test_check_pid_rangecCst�|��j�}||�}d|vsJ�d|j��|vsJ�d|���d�|�dd�vs,J�d|vs2J�d|vs8J�|��|��||�}d|vsJJ�d|vsPJ�tj	j
tjd	t�t�
��d
��&t��}||�}d|j��|vsrJ�d|vsxJ�d|vs~J�Wd�n1s�wYtj	j
tjd	t�t�
��d
��&t��}||�}d|j��|vs�J�d
|vs�J�d|vs�J�Wd�n1s�wYtj	j
tjd	t�t�
��d
��!t��}||�}d|j��|vs�J�d|vs�J�Wd�dS1s�wYdS)Nzpsutil.Processzpid=zname='�'zname=u'zstatus=z	exitcode=zstatus='terminated'�name�Zside_effectzstatus='zombie'zname=Z
terminated)rrZ
spawn_subproc�pidr#�replace�	terminate�waitr�patch�object�
ZombieProcess�os�getpidr�AccessDenied)r�func�p�rrrr �test_process__repr__1sX ��
��
�"�z'TestSpecialMethods.test_process__repr__cCs|jtd�dS)N)r/)r2�strrrrr �test_process__str__]�z&TestSpecialMethods.test_process__str__cC�tt���dks
J�dS)Nzpsutil.Error())�reprr�Errorrrrr �test_error__repr__`�z%TestSpecialMethods.test_error__repr__cCr6)N�)r3rr8rrrr �test_error__str__cr:z$TestSpecialMethods.test_error__str__cC�6tt�d��dksJ�ttjdddd��dksJ�dS)N�Az=psutil.NoSuchProcess(pid=321, msg='process no longer exists')r#�msg�r#r?z5psutil.NoSuchProcess(pid=321, name='name', msg='msg'))r7rrrrrr �test_no_such_process__repr__f���z/TestSpecialMethods.test_no_such_process__repr__cCr=)Nr>z"process no longer exists (pid=321)r#r?r@�msg (pid=321, name='name'))r3rrrrrr �test_no_such_process__str__prBz.TestSpecialMethods.test_no_such_process__str__cC�8tt�d��dksJ�ttjddddd��dksJ�dS)Nr>zGpsutil.ZombieProcess(pid=321, msg="PID still exists but it's a zombie")r#�@�foo�r#�ppidr?z?psutil.ZombieProcess(pid=321, ppid=320, name='name', msg='foo'))r7rr+rrrr �test_zombie_process__repr__zs��z.TestSpecialMethods.test_zombie_process__repr__cCrE)Nr>z,PID still exists but it's a zombie (pid=321)r#rFrGrHz$foo (pid=321, ppid=320, name='name'))r3rr+rrrr �test_zombie_process__str__�s��z-TestSpecialMethods.test_zombie_process__str__cCr=)Nr>zpsutil.AccessDenied(pid=321)r#r?r@z4psutil.AccessDenied(pid=321, name='name', msg='msg'))r7rr.rrrr �test_access_denied__repr__���z-TestSpecialMethods.test_access_denied__repr__cCr=)Nr>z	(pid=321)r#r?r@rC)r3rr.rrrr �test_access_denied__str__�rMz,TestSpecialMethods.test_access_denied__str__cCr=)N�z?psutil.TimeoutExpired(seconds=5, msg='timeout after 5 seconds')r>r#�r%r#zUpsutil.TimeoutExpired(pid=321, name='name', seconds=5, msg='timeout after 5 seconds'))r7r�TimeoutExpiredrrrr �test_timeout_expired__repr__�s��z/TestSpecialMethods.test_timeout_expired__repr__cCr=)NrOztimeout after 5 secondsr>r#rPz.timeout after 5 seconds (pid=321, name='name'))r3rrQrrrr �test_timeout_expired__str__�rMz.TestSpecialMethods.test_timeout_expired__str__cCs>t��}t��}||ksJ�d|_||ksJ�|dksJ�dS)N)rrrG)rr�_ident)r�p1Zp2rrr �test_process__eq__�sz%TestSpecialMethods.test_process__eq__cCs$t��t��h}t|�dksJ�dS)N�)rr�len)r�srrr �test_process__hash__�sz'TestSpecialMethods.test_process__hash__N)�__name__�
__module__�__qualname__r!r7r2r4r9r<rArDrJrKrLrNrRrSrVrZrrrr r*s ,


rc@�<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestMiscc	Cs�tt�}|D]D}|dvr
q|�d�sJzt|�WqtyI|tjvrGtt|�}|dur/Yq|jdurGd|j��vrGt	�
|�d��YSYqwqtjD]}||vsVJ�qNdS)N>rZtests�ProcessLookupError�PermissionError�test�_�
deprecatedz not in psutil.__all__)�dirr�
startswith�
__import__�ImportError�__all__�getattr�__doc__�lowerrZfail)rZ
dir_psutilr#�funrrr �test__all__�s.



����
�zTestMisc.test__all__cCs$d�dd�tjD��tjksJ�dS)N�.cSsg|]}t|��qSr)r3)�.0�xrrr �
<listcomp>�sz)TestMisc.test_version.<locals>.<listcomp>)�joinr�version_info�__version__rrrr �test_version�s�zTestMisc.test_versioncCs"t��}d|_d|��vsJ�dS)N�1rG)rrrG�as_dict)rr0rrr �!test_process_as_dict_no_new_names�sz*TestMisc.test_process_as_dict_no_new_namesc
Cs�dd�}t��}|t�����t|�}|j|jdd�D]1\}}|jt|�|d��z|�}Wn
tjy9Ynw||�Wd�n1sHwYqt	�}|�|j�D]3\}}|dvr`qW|j|d��z|�}Wn
tj
yvYnw||�Wd�n1s�wYqWt�t�
tjdd	d
d���}t|tj�s�J�|jdks�J�|jd	ks�J�|jd
ks�J�t�t�
tjdd	dd
d
���}t|tj�s�J�|jdks�J�|jdks�J�|jd	ks�J�|jd
ks�J�t�t�
tj
dd	d
d���}t|tj
�s�J�|jdk�sJ�|jd	k�sJ�|jd
k�sJ�t�t�
tjddd	d���}t|tj��s.J�|jdk�s6J�|jdk�s>J�|jd	k�sFJ�dS)NcSs4t�t�|��t�|�}t�|�}||ksJ�dS�N)�json�loads�dumps�pickle)�ret�a�brrr �check�s

z*TestMisc.test_serialization.<locals>.checkT)�clear_cache)�procr#>Zwin_service_iterZwin_service_get)r#i�r#r?)r%r#r?�*)r%r#rIr?�{�!)�secondsr%r#)rrrxr�iterZgettersZsubTestr3r8rr.r~r|r}r�
isinstancer%r#r?r+rIrQr�)rr�r��nsrmr#rr�rrr �test_serialization�s�	
����

����
�������zTestMisc.test_serializationc	Cs�tjjtjdtjd��}t��|jsJ�Wd�n1swYtjjtjdt�d�d��}t��|js;J�Wd�n1sEwYtjjtjdtd��&}t	�
t��t��Wd�n1siwY|jssJ�Wd�n1s}wYtjjtjdt�d�d��(}t	�
tj��t��Wd�n1s�wY|js�J�Wd�dS1s�wYdS)NZ
_get_identr$rW)rr)r*rrr.�calledr+�
ValueErrorrrr)r�methrrr �test_ad_on_process_creation@s@
�����
���
�"�z$TestMisc.test_ad_on_process_creationc	Cs|tjddd��-t�t��}tt�Wd�n1swYdt|j��	�vs,J�Wd�dS1s7wYdS)Nzpsutil._psplatform.cext.versionz0.0.0��return_valuezversion conflict)
rr)rrrhrrr3�valuerl)r�cmrrr �test_sanity_version_check]s�
�"�z"TestMisc.test_sanity_version_checkN)	r[r\r]rnrvryr�r�r�rrrr r_�s"Nr_c@sReZdZdd�ZeZddd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)�TestMemoizeDecoratorcCs
g|_dSrz��callsrrrr �setUpms
zTestMemoizeDecorator.setUpNcCs*td�D]}|�}|jdifgksJ�|dur||ksJ�qtd�D]}|d�}|jdifdifgks5J�|dur?||ks?J�q"td�D]$}|ddd�}|jdifdifdddifgks^J�|durh||kshJ�qDt|j�dksrJ�|��|�}|dur�||ks�J�t|j�dks�J�|jd	ks�J�dS)
NrrrW�rW��barr����
My docstring.)�ranger�rX�cache_clearrk)r�obj�expected_retvalrcrrrr �run_againstrs2��$�z TestMemoizeDecorator.run_againstcs&t�fdd��}|�|j|dd�dS)Nc��j�||f�dS�r���r��append��args�kwargs�Z	baseclassrr rG�sz/TestMemoizeDecorator.test_function.<locals>.foor��r�)rr�)rrGrr�r �
test_function�sz"TestMemoizeDecorator.test_functioncs>tG�fdd�d��}|�|j|dd�|���dksJ�dS)Ncs$eZdZdZ�fdd�Zdd�ZdS)z,TestMemoizeDecorator.test_class.<locals>.Foor�cs�j�||f�dSrzr��rr�r�r�rr �__init__�sz5TestMemoizeDecorator.test_class.<locals>.Foo.__init__cSsdS)Nr�rrrrr r���z0TestMemoizeDecorator.test_class.<locals>.Foo.barN)r[r\r]rkr�r�rr�rr �Foo�sr�r�r�)rr�r��rr�rr�r �
test_class�s
	zTestMemoizeDecorator.test_classcCs�tGdd�d��}|�|�usJ�t|��t|��ksJ�t|d��t|d��ks+J�t|ddd��t|ddd��ks=J�t|d��t|d��ksKJ�dS)Nc@seZdZdd�ZdS)z6TestMemoizeDecorator.test_class_singleton.<locals>.Barc_sdSrzrr�rrr r��r�z?TestMemoizeDecorator.test_class_singleton.<locals>.Bar.__init__N)r[r\r]r�rrrr �Bar�sr�rWr�)rGr)r�id)rr�rrr �test_class_singleton�s$ z)TestMemoizeDecorator.test_class_singletonc�,G�fdd�d�}|�|j|�jdd�dS)Nc� eZdZee�fdd���ZdS)z3TestMemoizeDecorator.test_staticmethod.<locals>.Foocr�r�r�r�r�rr r���z7TestMemoizeDecorator.test_staticmethod.<locals>.Foo.barN)r[r\r]�staticmethodrr�rr�rr r���r�r�r��r�r�r�rr�r �test_staticmethod��z&TestMemoizeDecorator.test_staticmethodcr�)Ncr�)z2TestMemoizeDecorator.test_classmethod.<locals>.Foocs�j�||f�dSr�r�)�clsr�r�r�rr r��r�z6TestMemoizeDecorator.test_classmethod.<locals>.Foo.barN)r[r\r]�classmethodrr�rr�rr r��r�r�r�r�r�r�rr�r �test_classmethod�r�z%TestMemoizeDecorator.test_classmethodcst�fdd��}g�td�D]}|�}dif}||ksJ�t��dks%J�qtd�D]}|d�}dif}||ks:J�t��dksBJ�q*td�D]}|ddd�}dddif}||ks[J�t��d	kscJ�qG|��|�}dif}||ksuJ�t��d
ks}J�|jdks�J�dS)Ncs��d�||fS)�Foo docstring.N�r�r�r�rr rG�s
z/TestMemoizeDecorator.test_original.<locals>.foorrrWr�r�r�r�r�r�)rr�rXr�rk)rrGrcr�expectedrr�r �
test_original�s0z"TestMemoizeDecorator.test_originalrz)r[r\r]r��tearDownr�r�r�r�r�r�r�rrrr r�ls


r�c@r^)�TestCommonModulecs�G�fdd�d�}|�}g�|��|��t��dksJ�g�|j�|�|��|��t��dks6J�g�|j�|�|��|��t��dksNJ�dS)NcseZdZe�fdd��ZdS)z9TestCommonModule.test_memoize_when_activated.<locals>.Foocs��d�dSrzr�rr�rr rG�sz=TestCommonModule.test_memoize_when_activated.<locals>.Foo.fooN)r[r\r]r	rGrr�rr r��sr�rrW)rGrXZcache_activateZcache_deactivate)rr��frr�r �test_memoize_when_activated�s z,TestCommonModule.test_memoize_when_activatedcCs�dd�}td�|d�diksJ�td�|d�d|d�diks J�td	�|d�d|d�d
iks0J�td�|d�d|d�diks@J�td�|d�diksLJ�td
�|d�diksXJ�td�|d�diksdJ�dS)NcSstr|��S|Srz)r�upper)rYrrr �kr5z4TestCommonModule.test_parse_environ_block.<locals>.kza=1r�rwz	a=1b=2r��2za=1b=r;z
a=1b=2c=3zxxxa=1z	a=1=b=2za=1b=2r
)rr�rrr �test_parse_environ_blocks
� 
�z)TestCommonModule.test_parse_environ_blockc	Csrt�r�t�d��}d|_t�rJ�Wd�n1swYtjdtd��}t�r-J�|js2J�Wd�n1s<wYtjdtjd��}t�rOJ�|jsTJ�Wd�n1s^wYtjdtjd��}t�rqJ�|jsvJ�Wd�dS1s�wYdSt�	t��"t�tj
tj�}z|�d�W|�
�n|�
�wWd�dS1s�wYdS)Nzpsutil._common.socketFzpsutil._common.socket.socketr$z!psutil._common.socket.socket.bind)z::1r)rrr)�has_ipv6�OSErrorr��socket�gaierrorrr�AF_INET6�SOCK_STREAM�bind�close)rrY�sockrrr �test_supports_ipv6#sB��
��
��
"�"�z#TestCommonModule.test_supports_ipv6c	Cstj�t�}t|�sJ�ttj�|��rJ�tjdtd��!t	�
t��t|�Wd�n1s2wYWd�n1sAwYtjdtd��t|�rTJ�Wd�n1s^wYtjddd��t|�rqJ�Wd�dS1s|wYdS)Nzpsutil._common.os.statr$zpsutil._common.stat.S_ISREGFr�)
r,�path�abspath�__file__r�dirnamerr)rarrr��FileNotFoundError)rZ	this_filerrr �test_isfile_strictCs"
�����"�z#TestCommonModule.test_isfile_strictc	Cs�tj�tjdd��(t�t����}t	d�t
j��Wd�n1s%wYWd�n1s4wY|�
�}|�d�sFJ|��d|vsLJ�t�dd�|vsVJ�tj�tjdd��%t�t����}t	td��Wd�n1sxwYWd�n1s�wY|�
�}d|vs�J�d	|vs�J�tj�tjdd��+t�t����}td
d�}d|_t	|�Wd�n1s�wYWd�n1s�wY|�
�}d|vs�J�d|vs�J�dS)
NZPSUTIL_DEBUGTZhellozpsutil-debugz.pycz.pyzthis is an errorzignoring ValueErrorz'this is an error'rzno such filez/foo)rr)r*r�_common�
contextlib�redirect_stderr�io�StringIOr�sys�stderr�flush�getvaluerfr�r&r�r��filename)rr�r?�excrrr �
test_debugQs>������

���zTestCommonModule.test_debugcCs�|��}t|d��
}|�d�Wd�n1swYt|�dks&J�t|�dks.J�t�t��t|d�Wd�n1sDwYt�t��t|d�Wd�n1s_wYt|ddd�dkspJ�t|ddd�dks|J�dS)N�wrGsfooz-invalidr�)�fallback)Z
get_testfn�open�writerrrrr�)rZtestfnr�rrr �
test_cat_bcatms���zTestCommonModule.test_cat_bcatN)	r[r\r]r�r�r�r�r�r�rrrr r��s r�rGza b cc@s�eZdZdd�ZeZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zejjedd�dd��ZdS) �TestWrapNumberscCst��dSrz)rr�rrrr r��szTestWrapNumbers.setUpcCs&dtddd�i}t|d�|ksJ�dS�N�disk1rO�disk_io��ntr�r�inputrrr �test_first_call�szTestWrapNumbers.test_first_callcCs8dtddd�i}t|d�|ksJ�t|d�|ksJ�dSr�r�r�rrr �test_input_hasnt_changed�sz(TestWrapNumbers.test_input_hasnt_changedcCs�dtddd�i}t|d�|ksJ�dtddd�i}t|d�|ks"J�dtddd�i}t|d�|ks3J�dtddd�i}t|d�|ksDJ�dS)	Nr�rOr��
����r�r�rrr �test_increase_but_no_wrap�sz)TestWrapNumbers.test_increase_but_no_wrapcCs�dtddd�i}t|d�|ksJ�dtddd�i}t|d�dtddd�iks(J�dtddd�i}t|d�dtddd�iks?J�dtddd�i}t|d�dtddd�iksVJ�dtddd�i}t|d�dtddd	�iksmJ�dtddd�i}t|d�dtddd	�iks�J�dtd
dd�i}t|d�dtddd	�iks�J�dtddd�i}t|d�dtddd	�iks�J�dtddd�i}t|d�dtddd	�iks�J�dS)
Nr��dr�r��n�Z�r����2��(r�r�rrr �	test_wrap�s$"zTestWrapNumbers.test_wrapcCstdtddd�i}t|d�|ksJ�tddd�tddd�d�}t|d�|ks'J�dtddd�i}t|d�|ks8J�dS)Nr�rOr���r�Zdisk2�r�r�rrr �test_changing_keys�sz"TestWrapNumbers.test_changing_keyscCs.tddd�tddd�d�}t|d�|ksJ�tddd�tddd�d�}t|d�tddd�tddd�d�ks7J�dtddd�i}t|d�|ksHJ�tddd�tddd�d�}t|d�|ks^J�tddd�tddd�d�}t|d�|kstJ�tddd�tddd�d�}t|d�tddd�tddd�d�ks�J�dS)Nrrrr�r�rr�r�r�rrr �test_changing_keys_w_wrap�s$

�

�z)TestWrapNumbers.test_changing_keys_w_wrapcCsbddddd�}t|d�|ksJ�t|d�|ksJ�ddddd�}t|d�}|dd	d
ks/J�dS)N)	i,���#�R������ȷ)	i�ritUiirrrr)	�6ri�$i�Nr��r�i��)	iU	i�i"ri�i4i�i�i\)�nvme0n1Z	nvme0n1p1Z	nvme0n1p2Z	nvme0n1p3r�)	rrrrrrrrrrri�r
)r�d�outrrr �test_real_data�s��
zTestWrapNumbers.test_real_datacCsbdtddd�i}t|d�t��}|dd|iksJ�|ddiiks%J�|ddiiks/J�dS)Nr�rOr�rrWr�r�r�
cache_info�rr��cacherrr �test_cache_first_call�s
z%TestWrapNumbers.test_cache_first_callcCs�dtddd�i}t|d�dtddd�i}t|d�t��}|dd|iks(J�|dddddd�iks6J�|ddiiks@J�dS)	Nr�rOr�r�rrW�)r�r)r�rW�r�rrrr rrr �test_cache_call_twice�s


�z%TestWrapNumbers.test_cache_call_twicecCsvdtddd�i}t|d�dtddd�i}t|d�t��}|dd|iks(J�|dddddd�iks6J�|dddd	hiiksCJ�d
d�}dtddd�i}t|d�t��}|dd|iksbJ�|�dtddd�i}t|d�t��}|dd|iks�J�|�dtddd
�i}t|d�t��}|dd|iks�J�|dddddd�iks�J�|dddd	hiiks�J�dS)Nr�rr�r�rrWr#rr$cSsBt��}|dddddd�iksJ�|ddddhiiksJ�dS)	NrWr�rrr#rr�r$)rr)r!rrr �check_cache_infos�
�z9TestWrapNumbers.test_cache_wrap.<locals>.check_cache_inforr�rr)rr�r!r&rrr �test_cache_wraps:


�



�zTestWrapNumbers.test_cache_wrapcCs�dtddd�i}t|d�tddd�tddd�d�}t|d�t��}|dd|iks-J�|dddddd�iks;J�|d	diiksEJ�dS)
Nr�rOr�r
rrrWr#rrr rrr �test_cache_changing_keys:s


�z(TestWrapNumbers.test_cache_changing_keyscCs\dtddd�i}t|d�t|d�t�d�t��iiifks"J�t�d�t�d�dS)Nr�rOr�z?!?)r�rr�rr�rrr �test_cache_clearFs



z TestWrapNumbers.test_cache_clearz
not supported)�reasoncCs�t��rt��s
t�d�St��t��t��}|D]}d|vs#J�d|vs)J�qtj��t��}|D]}d|vs=J�d|vsCJ�q5tj��t��}|iiifksVJ�dS)Nzno disks or NICs availablezpsutil.disk_io_counterszpsutil.net_io_counters)rZdisk_io_countersZnet_io_countersr�skiprrr�)r�cachesr!rrr �test_cache_clear_public_apisOs 


z,TestWrapNumbers.test_cache_clear_public_apisN)r[r\r]r�r�r�r�rr	r
rrr"r%r'r(r)r�markZskipifrr-rrrr r��s"
2	r�)%rk�collectionsr�r�r{r,r~r�r�ZunittestrrrZpsutil._commonrrrrrr	rrrZpsutil.testsrrrrrrrr_r�r��
namedtupler�r�rrrr �<module>sJ*