HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-160-generic #170-Ubuntu SMP Wed Oct 1 10:06:56 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib/python3.10/site-packages/psutil/tests/__pycache__/test_misc.cpython-310.pyc
o

�h�s�@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlZddlZddlm
Z
ddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZGdd�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�psutil�_psplatform�cext�check_pid_range�
NoSuchProcess�Process��self�r"�I/usr/local/CyberCP/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��side_effectzstatus='zombie'zname=�
terminated)rr�spawn_testproc�pidr&�replace�	terminate�waitr�patch�object�
ZombieProcess�os�getpidr�AccessDenied)r!�func�p�rr"r"r#�test_process__repr__3sX ��
��
�"�z'TestSpecialMethods.test_process__repr__cCs|jtd�dS)N)r5)r8�strr r"r"r#�test_process__str___�z&TestSpecialMethods.test_process__str__cC�tt���dks
J�dS)Nzpsutil.Error())�reprr�Errorr r"r"r#�test_error__repr__b�z%TestSpecialMethods.test_error__repr__cCr<)N�)r9rr>r r"r"r#�test_error__str__er@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&rEz5psutil.NoSuchProcess(pid=321, name='name', msg='msg'))r=rrr r"r"r#�test_no_such_process__repr__h���z/TestSpecialMethods.test_no_such_process__repr__cCrC)NrDz"process no longer exists (pid=321)r&rErF�msg (pid=321, name='name'))r9rrr r"r"r#�test_no_such_process__str__rrHz.TestSpecialMethods.test_no_such_process__str__cC�8tt�d��dksJ�ttjddddd��dksJ�dS)NrDzGpsutil.ZombieProcess(pid=321, msg="PID still exists but it's a zombie")r&�@�foo�r&�ppidrEz?psutil.ZombieProcess(pid=321, ppid=320, name='name', msg='foo'))r=rr1r r"r"r#�test_zombie_process__repr__|s��z.TestSpecialMethods.test_zombie_process__repr__cCrK)NrDz,PID still exists but it's a zombie (pid=321)r&rLrMrNz$foo (pid=321, ppid=320, name='name'))r9rr1r r"r"r#�test_zombie_process__str__�s��z-TestSpecialMethods.test_zombie_process__str__cCrC)NrDzpsutil.AccessDenied(pid=321)r&rErFz4psutil.AccessDenied(pid=321, name='name', msg='msg'))r=rr4r r"r"r#�test_access_denied__repr__���z-TestSpecialMethods.test_access_denied__repr__cCrC)NrDz	(pid=321)r&rErFrI)r9rr4r r"r"r#�test_access_denied__str__�rSz,TestSpecialMethods.test_access_denied__str__cCrC)N�z?psutil.TimeoutExpired(seconds=5, msg='timeout after 5 seconds')rDr&�r+r&zUpsutil.TimeoutExpired(pid=321, name='name', seconds=5, msg='timeout after 5 seconds'))r=r�TimeoutExpiredr r"r"r#�test_timeout_expired__repr__�s��z/TestSpecialMethods.test_timeout_expired__repr__cCrC)NrUztimeout after 5 secondsrDr&rVz.timeout after 5 seconds (pid=321, name='name'))r9rrWr r"r"r#�test_timeout_expired__str__�rSz.TestSpecialMethods.test_timeout_expired__str__cCs>t��}t��}||ksJ�d|_||ksJ�|dksJ�dS)N)rrrM)rr�_ident)r!�p1�p2r"r"r#�test_process__eq__�sz%TestSpecialMethods.test_process__eq__cCs$t��t��h}t|�dksJ�dS)N�)rr�len)r!�sr"r"r#�test_process__hash__�sz'TestSpecialMethods.test_process__hash__N)�__name__�
__module__�__qualname__r$r=r8r:r?rBrGrJrPrQrRrTrXrYr]rar"r"r"r#r,s ,


rc@�<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestMiscc	Cs�tt�}|D]@}|dvr
q|�d�sFzt|�WqtyE|tjvrCtt|�}|dur/Yq|jdurCd|j��vrC|�	|�d���YqwqtjD]}||vsRJ�qJdS)N>�testr�tests�PermissionError�ProcessLookupError�_�
deprecatedz not in psutil.__all__)
�dirr�
startswith�
__import__�ImportError�__all__�getattr�__doc__�lower�fail)r!�
dir_psutilr&�funr"r"r#�test__all__�s*



���
�zTestMisc.test__all__cCs$d�dd�tjD��tjksJ�dS)N�.cSsg|]}t|��qSr")r9)�.0�xr"r"r#�
<listcomp>�sz)TestMisc.test_version.<locals>.<listcomp>)�joinr�version_info�__version__r r"r"r#�test_version�s�zTestMisc.test_versioncCs"t��}d|_d|��vsJ�dS)N�1rM)rrrM�as_dict)r!r6r"r"r#�!test_process_as_dict_no_new_names�sz*TestMisc.test_process_as_dict_no_new_namesc
Cs�dd�}t��}|t�����t|�}|j|jdd�D]/\}}|j||d��z|�}Wn
tjy7Ynw||�Wd�n1sFwYqt�}|�|j�D]3\}}|dvr^qU|j|d��z|�}Wn
tj	ytYnw||�Wd�n1s�wYqUt
�t
�tj
dd	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�s
J�|jd
k�sJ�t
�t
�tjddd	d���}t|tj��s,J�|jdk�s4J�|jdk�s<J�|jd	k�sDJ�dS)NcSs4t�t�|��t�|�}t�|�}||ksJ�dS�N)�json�loads�dumps�pickle)�ret�a�br"r"r#�check�s

z*TestMisc.test_serialization.<locals>.checkT)�clear_cache)�procr&>�win_service_get�win_service_iter)r&i�r&rE)r+r&rE�*)r+r&rOrE�{�!)�secondsr+r&)rrr�r�iter�getters�subTestr>rr4r�r�r�r�
isinstancer+r&rEr1rOrWr�)r!r�r��nsrwr&r�r�r"r"r#�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��(}|�tj��t��Wd�n1s�wY|js�J�Wd�dS1s�wYdS)N�
_get_identr'r^)
rr/r0rrr4�calledr1�
ValueErrorrrr�assertRaises)r!�methr"r"r#�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/rrrprrr9�valuert)r!�cmr"r"r#�test_sanity_version_check]s�
�"�z"TestMisc.test_sanity_version_checkN)	rbrcrdrxr�r�r�r�r�r"r"r"r#rf�s Nrfc@sReZdZdd�ZeZddd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)�TestMemoizeDecoratorcCs
g|_dSr���callsr r"r"r#�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)
Nrr"r^�r^��barr����
My docstring.)�ranger�r_�cache_clearrs)r!�obj�expected_retvalrkr�r"r"r#�run_againstrs2��$�z TestMemoizeDecorator.run_againstcs&t�fdd��}|�|j|dd�dS)Nc��j�||f�dS�r���r��append��args�kwargs��	baseclassr"r#rM�sz/TestMemoizeDecorator.test_function.<locals>.foor��r�)rr�)r!rMr"r�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�dSr�r��r!r�r�r�r"r#�__init__�sz5TestMemoizeDecorator.test_class.<locals>.Foo.__init__cSsdS)Nr�r"r r"r"r#r���z0TestMemoizeDecorator.test_class.<locals>.Foo.barN)rbrcrdrsr�r�r"r�r"r#�Foo�sr�r�r�)rr�r��r!r�r"r�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_sdSr�r"r�r"r"r#r��r�z?TestMemoizeDecorator.test_class_singleton.<locals>.Bar.__init__N)rbrcrdr�r"r"r"r#�Bar�sr�r^r�)rMr)r�id)r!r�r"r"r#�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�r"r#r���z7TestMemoizeDecorator.test_staticmethod.<locals>.Foo.barN)rbrcrd�staticmethodrr�r"r�r"r#r���r�r�r��r�r�r�r"r�r#�test_staticmethod��z&TestMemoizeDecorator.test_staticmethodcr�)Ncr�)z2TestMemoizeDecorator.test_classmethod.<locals>.Foocs�j�||f�dSr�r�)�clsr�r�r�r"r#r��r�z6TestMemoizeDecorator.test_classmethod.<locals>.Foo.barN)rbrcrd�classmethodrr�r"r�r"r#r��r�r�r�r�r�r�r"r�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�r"r#rM�s
z/TestMemoizeDecorator.test_original.<locals>.foorr"r^r�r�r�r�r�r�)rr�r_r�rs)r!rMrkr��expectedr"r�r#�
test_original�s0z"TestMemoizeDecorator.test_originalr�)rbrcrdr��tearDownr�r�r�r�r�r�r�r"r"r"r#r�ls


r�c@re)�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�dSr�r�r r�r"r#rM�sz=TestCommonModule.test_memoize_when_activated.<locals>.Foo.fooN)rbrcrdr	rMr"r�r"r#r��sr�rr^)rMr_�cache_activate�cache_deactivate)r!r��fr"r�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|Sr�)r�upper)r`r"r"r#�kr;z4TestCommonModule.test_parse_environ_block.<locals>.kza=1r�r�z	a=1b=2r��2za=1b=rAz
a=1b=2c=3zxxxa=1z	a=1=b=2za=1b=2r
)r!r�r"r"r#�test_parse_environ_blocks
� 
�z)TestCommonModule.test_parse_environ_blockc	Cs�|�tj�t�r�t�d��}d|_t��t�rJ�Wd�n1s%wYt��tjdtd��}t�r;J�|js@J�Wd�n1sJwYt��tjdtj	d��}t�raJ�t��|jsjJ�Wd�n1stwYt��tjdtj	d��}t�r�J�t��|js�J�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)�
addCleanuprr�rr/�has_ipv6�OSErrorr��socket�gaierrorrr�AF_INET6�SOCK_STREAM�bind�close)r!r`�sockr"r"r#�test_supports_ipv6#sP��
��
��
"�"�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�)
r2�path�abspath�__file__r�dirnamerr/rirrr��FileNotFoundError)r!�	this_filer"r"r#�test_isfile_strictJs"
�����"�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)
N�PSUTIL_DEBUGT�hellozpsutil-debugz.pycz.pyzthis is an errorzignoring ValueErrorz'this is an error'rzno such filez/foo)rr/r0r�_common�
contextlib�redirect_stderr�io�StringIOr�sys�stderr�flush�getvaluernr�r,r�r��filename)r!r�rE�excr"r"r#�
test_debugXs>������

���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�wrMsfooz-invalidr�)�fallback)�
get_testfn�open�writerrrrr�)r!�testfnr�r"r"r#�
test_cat_bcatts���zTestCommonModule.test_cat_bcatN)	rbrcrdr�r�r�r�rr	r"r"r"r#r��s'r�rMza 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��dSr�)rr�r r"r"r#r��szTestWrapNumbers.setUpcCs&dtddd�i}t|d�|ksJ�dS�N�disk1rU�disk_io��ntr�r!�inputr"r"r#�test_first_call�szTestWrapNumbers.test_first_callcCs8dtddd�i}t|d�|ksJ�t|d�|ksJ�dSrrrr"r"r#�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rUr
�
����rrr"r"r#�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��(rrr"r"r#�	test_wrap�s$"zTestWrapNumbers.test_wrapcCstdtddd�i}t|d�|ksJ�tddd�tddd�d�}t|d�|ks'J�dtddd�i}t|d�|ks8J�dS)NrrUr
��r�disk2�rrr"r"r#�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)Nrrr$r
rrrrrr"r"r#�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&)	�6r1i�$i�Nr��ri��)	iU	i�i"r i�i4i�i�i\)�nvme0n1�	nvme0n1p1�	nvme0n1p2�	nvme0n1p3r
)	rr)r*r+r,r-r.r/r0r4ri�r
)r!�d�outr"r"r#�test_real_data�s��
zTestWrapNumbers.test_real_datacCsbdtddd�i}t|d�t��}|dd|iksJ�|ddiiks%J�|ddiiks/J�dS)NrrUr
rr^r�rr�
cache_info�r!r�cacher"r"r#�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rUr
rrr^�)rr)rr^�rrrr;r=r"r"r#�test_cache_call_twices


�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
rrr^r@rrAcSsBt��}|dddddd�iksJ�|ddddhiiksJ�dS)	Nr^r
rrr@rrrA)rr<)r>r"r"r#�check_cache_infos�
�z9TestWrapNumbers.test_cache_wrap.<locals>.check_cache_inforrrr;)r!rr>rCr"r"r#�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rUr
r#r$rr^r@rr;r=r"r"r#�test_cache_changing_keysAs

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



z TestWrapNumbers.test_cache_clearz
not supported)�reasoncCs�t��rt��s
t�d��t��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)r�disk_io_counters�net_io_countersr�skiprr<r�)r!�cachesr>r"r"r#�test_cache_clear_public_apisVs 


z,TestWrapNumbers.test_cache_clear_public_apisN)rbrcrdr�r�rrrr"r'r(r:r?rBrDrErFr�mark�skipifrrLr"r"r"r#r
�s"
2	r
)%rs�collectionsr�r�r�r2r�r�r��unittestrr�psutil.testsr�psutil._commonrrrrrr	rrrrrrrrrrrfr�r��
namedtuplerr
r"r"r"r#�<module>sL(