HEX
Server: LiteSpeed
System: Linux atali.colombiahosting.com.co 5.14.0-570.12.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 13 06:11:55 EDT 2025 x86_64
User: coopserp (1713)
PHP: 8.2.29
Disabled: dl,exec,passthru,proc_open,proc_close,shell_exec,memory_limit,system,popen,curl_multi_exec,show_source,symlink,link,leak,listen,diskfreespace,tmpfile,ignore_user_abord,highlight_file,source,show_source,fpaththru,virtual,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setid,posix_times,posix_ttyname,posix_uname,proc_get_status,proc_nice,proc_terminate
Upload Files
File: //usr/local/lib64/python3.9/site-packages/psutil/tests/__pycache__/test_process_all.cpython-39.pyc
a

��?h�H�@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddlm
Z
ddlmZddlmZddlm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#e�o�e�o�eZ$dd�Z%Gdd�de�Z&Gd d!�d!e�Z'dS)"zeIterate over all process PIDs and for each one of them invoke and
test all psutil.Process() methods.
�N)�AIX)�BSD)�FREEBSD)�LINUX)�MACOS)�NETBSD)�OPENBSD)�OSX)�POSIX)�WINDOWS)�PY3)�FileNotFoundError)�long)�unicode)�
CI_TESTING)�PYTEST_PARALLEL)�	QEMU_USER)�VALID_PROC_STATUSES)�PsutilTestCase)�check_connection_ntuple)�create_sockets)�
is_namedtuple)�is_win_secure_system_proc)�process_namespace)�pytestcs*t����fdd�������fdd�}zt����Wn"tjyX����iYS0z��ddg�}Wntjy�����Yn�0|d|d��d�ji}t��}|j	|j
dd	�D]Z\}}z|�||<Wq�tj�y}z&�|����WYd}~q�WYd}~q�d}~00q�|�|SdS)
Ncs���|j��|jdur&��|j|�t|tj�rd��|�|jdurz��|jd���|j|�nt|tj	�rz��
|�t|�t|�dS�Nr)
�assertEqual�pid�name�
isinstance�psutilZ
ZombieProcessZassertProcessZombie�ppidZassertGreaterEqual�
NoSuchProcess�assertProcessGone�str�repr)�exc�procrr!)r�tcase��I/usr/local/lib64/python3.9/site-packages/psutil/tests/test_process_all.py�check_exception7s



z"proc_info.<locals>.check_exceptionc
sP�dkrLz��d�Wn4tjyJ}z�|����WYd}~n
d}~00dSr)�waitr �Error)r&)r+rrr!r'r)r*�do_waitEs
zproc_info.<locals>.do_waitr!rrF)�clear_cache)rr �Processr"Z
assertPidGoneZas_dictr#rr�iterZgettersr-)rr.�d�info�nsZfunZfun_namer&r))r+rrr!r'r(r*�	proc_info4s.


$r5c@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Z d<d=�Z!d>d?�Z"d@dA�Z#dBdC�Z$dDdE�Z%dFdG�Z&dHdI�Z'dJdK�Z(dLS)M�TestFetchAllProcessesz�Test which iterates over all running processes and performs
    some sanity checks against Process API's returned values.
    Uses a process pool to get info about all processes.
    cCst�d�trt��|_dS�NF)r �
_set_debug�
USE_PROC_POOL�multiprocessingZPool�pool��selfr)r)r*�setUpks
zTestFetchAllProcesses.setUpcCs&t�d�tr"|j��|j��dS�NT)r r8r9r;�	terminate�joinr<r)r)r*�tearDownrs

zTestFetchAllProcesses.tearDowncCsJddlm}tr"|j�|t���Sg}t��D]}|�||��q.|SdS)Nr)r5)Zpsutil.tests.test_process_allr5r9r;Zimap_unorderedr �pids�append)r=r5Zlsrr)r)r*�iter_proc_infoxsz$TestFetchAllProcesses.iter_proc_infocCs�g}|��D]�}|��D]�\}}t||�}z|||�Wnpty�d}|d||dt|�|f7}|d7}|dt��7}d�dd�|��D��d}|�	|�Yq0|d	d
gddifvr|sJ|��qq|r�|�
d�|���dS)NzH
======================================================================
z+FAIL: name=test_%s, pid=%s, ret=%s
info=%s
rzF----------------------------------------------------------------------z
%s�
css|]}d|VqdS)z    Nr))�.0�ir)r)r*�	<genexpr>��z1TestFetchAllProcesses.test_all.<locals>.<genexpr>r��)rE�items�getattr�	Exceptionr%�	traceback�
format_excrA�
splitlinesrDZfail)r=Zfailuresr3r�value�meth�sr)r)r*�test_all�s,
�zTestFetchAllProcesses.test_allcCs*t|t�sJ�|D]}t|t�sJ�qdS�N)r�listr$)r=�retr3�partr)r)r*�cmdline�szTestFetchAllProcesses.cmdlinecCs�t|ttf�sJ�|��|ks"J�|r�tr8|�d�s8dStj�|�sLJ|��t	r�tj�
|�r�ttd�r�ttd�r�zt�|tj
�s�J�Wn$ty�tj�|�r�ts��Yn0dS)Nz.exe�access�X_OK)rr$r�stripr�endswith�os�path�isabsr
�isfile�hasattrr\r]�AssertionError�existsr�r=rYr3r)r)r*�exe�szTestFetchAllProcesses.execCst|t�sJ�|dksJ�dSr�r�intrgr)r)r*r�szTestFetchAllProcesses.pidcCs*t|ttf�sJ�|dksJ�t|�dSr)rrjrr5rgr)r)r*r!�szTestFetchAllProcesses.ppidcCsBt|ttf�sJ�tr*|s*t|d�r*dSts>|s>Jt|���dS)Nr)rr$rrrrr%rgr)r)r*r�s
zTestFetchAllProcesses.namecCs^t|t�sJ�z|dksJ�Wn(tyFtr@|dtjkr@n�Yn0t�dt�|��dS)Nr�statusz%Y %m %d %H:%M:%S)	r�floatrerr Z
STATUS_ZOMBIE�time�strftime�	localtimergr)r)r*�create_time�sz!TestFetchAllProcesses.create_timecCs4t|�sJ�|D]}t|t�s"J�|dksJ�qdSr)rrrj)r=rYr3�uidr)r)r*�uids�szTestFetchAllProcesses.uidscCs<t|�sJ�|D]&}t|t�s"J�tsts|dksJ�qdSr)rrrjrr)r=rYr3�gidr)r)r*�gids�s
zTestFetchAllProcesses.gidscCs.t|t�sJ�|��|ksJ�|��s*J�dSrW)rr$r^rgr)r)r*�username�szTestFetchAllProcesses.usernamecCs>t|t�sJ�|sJ|��tr"dS|dks.J�|tvs:J�dS)N�?)rr$rrrgr)r)r*rk�szTestFetchAllProcesses.statuscCs@t|�sJ�|D]*}t|ttf�s&J�|dkr|dksJ�qdS)N���r�rrrjr)r=rYr3�fieldr)r)r*�io_counters�s
z!TestFetchAllProcesses.io_counterscCs�trBt|jt�sJ�t|jt�s$J�|jdks2J�|jdks|J�n:tjtjtjtj	g}t|t�sdJ�|dkspJ�||vs|J�dSr)
rrZioclassrjrSr ZIOPRIO_VERYLOWZ
IOPRIO_LOWZ
IOPRIO_NORMALZIOPRIO_HIGH)r=rYr3�choicesr)r)r*�ionice�s�zTestFetchAllProcesses.ionicecCs:t|t�sJ�tr*|dkr*t|d�r*dS|dks6J�dS)Nrr�)rrjrrrgr)r)r*�num_threads
sz!TestFetchAllProcesses.num_threadscCsnt|t�sJ�|D]V}t|�s"J�|jdks0J�|jdks>J�|jdksLJ�|D]}t|ttf�sPJ�qPqdSr)rrXr�idZ	user_timeZsystem_timerjrl)r=rYr3�tryr)r)r*�threadsszTestFetchAllProcesses.threadscCs4t|�sJ�|D]}t|t�s"J�|dksJ�qdSr)rrrl)r=rYr3�nr)r)r*�	cpu_timesszTestFetchAllProcesses.cpu_timescCs0t|t�sJ�d|kr"dks,nJ|��dS)NrKgY@�rrlrgr)r)r*�cpu_percent%sz!TestFetchAllProcesses.cpu_percentcCs^t|t�sJ�tr|dkrdS|dks*J�t��dkrB|dksBJ�|ttt����vsZJ�dS)Nrwrr})rrjrr �	cpu_countrX�rangergr)r)r*�cpu_num)szTestFetchAllProcesses.cpu_numcCs|t|�sJ�|D]"}t|ttf�s&J�|dksJ�qtrx|j|jksHJ�|j|jksXJ�|j	|j
kshJ�|j|jksxJ�dSr)
rrrjrrZ	peak_wsetZwsetZpeak_paged_poolZ
paged_poolZpeak_nonpaged_poolZ
nonpaged_poolZ
peak_pagefileZpagefile�r=rYr3rSr)r)r*�memory_info2sz!TestFetchAllProcesses.memory_infocCs�t|�sJ�t��j}|jD]N}t||�}t|ttf�s<J�|dksHJ�t	st
rZ|dvrZq||ksJ|��qt	r�|j|jks�J�dS)Nr)Zvms�data)
rr Zvirtual_memory�total�_fieldsrNrrjrrr	ZpssZuss)r=rYr3r�rrSr)r)r*�memory_full_info=s


z&TestFetchAllProcesses.memory_full_infoc	Cs"t|t�sJ�|D�]}t|jt�s(J�t|jt�s8J�|j��|jksLJ�tr`|jdks�J�nltr�t|j	t�stJ�t|j
t�s�J�t|jt�s�J�|j	dks�J�|j
dvs�J�|jdks�J�ntr�|js�qt
j�|j�s�J|��zt
�|j�}Wnt�yYq0t�|j�sJ|��qdS)Nrwr)�r�w�azr+za+)rrX�fdrjrar$r^rr�position�mode�flagsrr`rb�statr
�S_ISREG�st_mode)r=rYr3�f�str)r)r*�
open_filesMs,

z TestFetchAllProcesses.open_filescCst|t�sJ�|dksJ�dSrrirgr)r)r*�num_fdsgszTestFetchAllProcesses.num_fdscCs`t��Ft|�tt|��ks J�|D]}t|�s4J�t|�q$Wd�n1sR0YdSrW)r�len�setrr)r=rYr3�connr)r)r*�net_connectionsks
z%TestFetchAllProcesses.net_connectionsc
Cs�t|ttf�sJ�|��|ks"J�|r�tj�|�s:J|��zt�|�}WnDty�}z,t	rjt
j�|�rjn|j
t
jkrx�WYd}~nd}~00t�|j�s�J�dSrW)rr$rr^r`rarbr��OSErrorrr Z_psplatformZis_permission_err�errno�ENOENT�S_ISDIRr�)r=rYr3r��errr)r)r*�cwdrszTestFetchAllProcesses.cwdcCs0t|t�sJ�d|kr"dks,nJ|��dS)Nr�dr�rgr)r)r*�memory_percent�sz$TestFetchAllProcesses.memory_percentcCst|t�sJ�dSrW)r�boolrgr)r)r*�
is_running�sz TestFetchAllProcesses.is_runningcCsRt|t�sJ�|gksJ�ttt����}|D]}t|t�s@J�||vs.J�q.dSrW)rrXr�r r�rj)r=rYr3Zcpusr�r)r)r*�cpu_affinity�sz"TestFetchAllProcesses.cpu_affinitycCsJt|ttd�f�sJ�|durFtj�|�s2J|��tj�|�sFJ|��dSrW)rr$�typer`rarbrfrgr)r)r*�terminal�szTestFetchAllProcesses.terminalcCs�|D]�}t|jt�sJ�t|jt�s(J�t|jt�s8J�|jD]�}t||�}|dkrx|�d�s�tj�	|j�s�J|j��q>|dkr�|s�Jt
|���q>|dkr�ts�|s�Jt
|���q>t|tt
f�s�J�|dks>J�q>qdS)Nra)�[zanon_inode:�addr�permsr)rr�r$r�rar�rN�
startswithr`rbr%rrjr)r=rYr3�nt�fnamerSr)r)r*�memory_maps�s 


z!TestFetchAllProcesses.memory_mapscCst|t�sJ�|dksJ�dSrrirgr)r)r*�num_handles�sz!TestFetchAllProcesses.num_handlescCsxt|t�sJ�tr2d|kr&dkstnJ|��nBdd�tt�D�}||vsPJ�trft|tj�stJ�nt|t�stJ�dS)Ni���cSs g|]}|�d�rtt|��qS)Z_PRIORITY_CLASS)r_rNr )rG�xr)r)r*�
<listcomp>�s
�z.TestFetchAllProcesses.nice.<locals>.<listcomp>)rrjr
�dirr r�enum�IntEnum)r=rYr3Z
prioritiesr)r)r*�nice�s �zTestFetchAllProcesses.nicecCs8t|�sJ�|D]"}t|ttf�s&J�|dksJ�qdSrrxr�r)r)r*�num_ctx_switches�sz&TestFetchAllProcesses.num_ctx_switchescCsBt|t�sJ�t|�dksJ�|ddks.J�|ddks>J�dS)N�rrwr})r�tupler�rgr)r)r*�rlimit�szTestFetchAllProcesses.rlimitcCs@t|t�sJ�|��D]$\}}t|t�s,J�t|t�sJ�qdSrW)r�dictrMr$)r=rYr3�k�vr)r)r*�environ�szTestFetchAllProcesses.environN))�__name__�
__module__�__qualname__�__doc__r>rBrErVr[rhrr!rrprrrtrurkrzr|r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r)r)r)r*r6esL
			
	r6c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�
TestPidsRangea@Given pid_exists() return value for a range of PIDs which may or
    may not exist, make sure that psutil.Process() and psutil.pids()
    agree with pid_exists(). This guarantees that the 3 APIs are all
    consistent with each other. See:
    https://github.com/giampaolo/psutil/issues/2359

    XXX - Note about Windows: it turns out there are some "hidden" PIDs
    which are not returned by psutil.pids() and are also not revealed
    by taskmgr.exe and ProcessHacker, still they can be instantiated by
    psutil.Process() and queried. One of such PIDs is "conhost.exe".
    Running as_dict() for it reveals that some Process() APIs
    erroneously raise NoSuchProcess, so we know we have problem there.
    Let's ignore this for now, since it's quite a corner case (who even
    imagined hidden PIDs existed on Windows?).
    cCst�d�dSr7�r r8r<r)r)r*r>�szTestPidsRange.setUpcCst�d�dSr?r�r<r)r)r*rB�szTestPidsRange.tearDownc	Csfdd�}dd�}tdd�D]F}tr,||�r,q|j|d��||�Wd�q1sV0YqdS)NcSs�ztd|d�}Wnty&YdS0|�V|D]8}|�d�r2t|��d�}||kWd�Sq2td��Wd�n1s�0YdS)Nz/proc/%s/status�rbFsTgid:r}z'Tgid' line not found)�openr
r�rj�split�
ValueError)rr��lineZtgidr)r)r*�is_linux_tid�s
z+TestPidsRange.test_it.<locals>.is_linux_tidc	Ss�d}t�|�}zv|r4t�|�ts�|t��vs�J�nNtsnt�tj��t�|�Wd�n1sd0Yts�|t��vs�J�Wn*tj	t
fy�|d8}|dkr��Yq0dSqdS)N�r}r)r Z
pid_existsr0rrCrrZraisesr"r-re)rr�rfr)r)r*�check�s"

(z$TestPidsRange.test_it.<locals>.checkr}i�)r)r�rZsubTest)r=r�r�rr)r)r*�test_it�szTestPidsRange.test_itN)r�r�r�r�r>rBr�r)r)r)r*r��sr�)(r�r�r�r:r`r�rmrPr rrrrrrrr	r
rZpsutil._compatrr
rrZpsutil.testsrrrrrrrrrrrr9r5r6r�r)r)r)r*�<module>sN1q