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: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib/python3.10/site-packages/psutil/tests/__pycache__/test_bsd.cpython-310.pyc
o

�h�N�@s�dZddlZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
ddlmZddlm
Z
dd	lmZdd
lmZddlmZddlmZdd
lmZddlmZeryddlmZe�Ze��dkowe�d�ZndZdZdd�Zdd�Zejjedd�Gdd�de��Zejjedd�Gdd�de��Zejjedd�Gdd�de��Z ejje
dd�Gdd �d e��Z!ejje	d!d�Gd"d#�d#e��Z"dS)$z$Tests specific to all BSD platforms.�N)�BSD)�FREEBSD)�NETBSD)�OPENBSD)�HAS_BATTERY)�TOLERANCE_SYS_MEM)�PsutilTestCase)�pytest)�retry_on_failure)�sh)�spawn_testproc)�	terminate)�getpagesize�museFcCshtd|�}tr||�d�dd�}ntstr#||�d�dd�}zt|�WSty3|YSw)zmExpects a sysctl command with an argument and parse the result
    returning only the value of interest.
    zsysctl z: �N�=�)rr�findrr�int�
ValueError)�cmdline�result�r�H/usr/local/CyberCP/lib/python3.10/site-packages/psutil/tests/test_bsd.py�sysctl,s
�rcCs>td�}|�d�D]	}|�|�rnq	td��t|��d�S)z+Thin wrapper around 'muse' cmdline utility.r�
zline not foundr)r�split�
startswithrr)�field�out�linerrrr;s
�zBSD only��reasonc@s�eZdZdZedd��Zedd��Zejj	e
dd�dd	��Zd
d�Zejj	e
�d�d
d�dd��Zejj	e
�d�d
d�ejj	e
dd�dd���Zejj	e
�d�dd�dd��ZdS)�BSDTestCasez)Generic tests common to all BSD variants.cC�t�j|_dS�N�r�pid��clsrrr�
setUpClassO�zBSDTestCase.setUpClasscC�t|j�dSr%�r
r'r(rrr�
tearDownClassSr+zBSDTestCase.tearDownClassz -o lstart doesn't work on NETBSDr!cCsRtd|j���}|�dd���}t�|j���}t�dt�	|��}||ks'J�dS)Nzps -o lstart -p �STARTED�z%a %b %e %H:%M:%S %Y)
rr'�replace�strip�psutil�Process�create_time�time�strftime�	localtime)�self�output�start_ps�start_psutilrrr�test_process_create_timeWs
�z$BSDTestCase.test_process_create_timecCs�dd�}tjdd�D]I}t�|j�}||j�\}}}}|j|ks"J�|j|ks)J�t|j|�dkr>|�d|j�d|����t|j	|�dkrS|�d|j	�d|����q
dS)NcSs�td|�d����}|�d�}|�d�|�d�}|��dd�\}}}}|dkr+d}t|�d}t|�d}t|�d}||||fS)	Nzdf -k "�"rr��noner0�)rr2r�popr)�pathr�linesr �dev�total�used�freerrr�dfds


z"BSDTestCase.test_disks.<locals>.dfF)�alli�zpsutil=z, df=)
r3�disk_partitions�
disk_usage�
mountpoint�devicerF�absrH�failrG)r9rI�part�usagerErFrGrHrrr�
test_disksas
��zBSDTestCase.test_disksrzsysctl cmd not availablecCs td�}tjdd�|ksJ�dS)Nzhw.ncpuT)�logical)rr3�	cpu_count�r9�systrrr�test_cpu_count_logical|sz"BSDTestCase.test_cpu_count_logicalzskipped on NETBSDcCstd�}|t��jks
J�dS)Nz
hw.physmem)rr3�virtual_memoryrF�r9�numrrr�test_virtual_memory_total�sz%BSDTestCase.test_virtual_memory_total�ifconfigzifconfig cmd not availablec	Csxt����D]3\}}z	td|���}Wn	tyYqw|jd|vks&J�d|vr9|jtt�	d|�d�ks9J�qdS)Nz	ifconfig �RUNNING�mtuz	mtu (\d+)r)
r3�net_if_stats�itemsr�RuntimeError�isupr_r�re�findall)r9�name�statsrrrr�test_net_if_stats�s���zBSDTestCase.test_net_if_statsN)�__name__�
__module__�__qualname__�__doc__�classmethodr*r.r	�mark�skipifrr=rS�shutil�whichrXr\rhrrrrr#Ks0


	�
���r#zFREEBSD onlyc@sfeZdZedd��Zedd��Ze�dd��Zdd�Zd	d
�Z	dd�Z
e�d
d��Ze�dd��ZdS)�FreeBSDPsutilTestCasecCr$r%r&r(rrrr*�r+z FreeBSDPsutilTestCase.setUpClasscCr,r%r-r(rrrr.�r+z#FreeBSDPsutilTestCase.tearDownClasscCs�td|j���}t�|j�jdd�}|�d�dd�}|r\|��}|��}|dd�\}}}}	}
|��}|�d|��|jks@J�t|
�|j	ksIJ�|j
�d�sX|d	|j
ksXJ�|sdSdS)
Nzprocstat -v F)�groupedrr��-�[�
)rr'r3r4�memory_mapsrrB�addrr�rssrCr)r9r�mapsrDr �fields�_�start�stop�_perms�res�maprrr�test_memory_maps�s�z&FreeBSDPsutilTestCase.test_memory_mapscCs>td|j���}t�|j���|�d�d��dksJ�dS)Nzprocstat -b rr���)rr'r3r4�exer�r9rrrr�test_exe�s.zFreeBSDPsutilTestCase.test_execCsNtd|j���}d�t�|j����d�|�d�d��dd��ks%J�dS)Nzprocstat -c � rrr)rr'�joinr3r4rrr�rrr�test_cmdline�s�z"FreeBSDPsutilTestCase.test_cmdlinecCs�td|j���}|�d�d��dd�\}}}}}}t�|j�}|��}	|��}
|	jt|�ks2J�|	j	t|�ks;J�|	j
t|�ksDJ�|
jt|�ksMJ�|
j	t|�ksVJ�|
j
t|�ks_J�dS)Nzprocstat -s rrr�)rr'rr3r4�uids�gids�realr�	effective�saved)r9r�euid�ruid�suid�egid�rgid�sgid�pr�r�rrr�test_uids_gids�s&z$FreeBSDPsutilTestCase.test_uids_gidscCs�g}td|j���}t�|j�}|�d�D]A}|����}d|vr:t|��d�}|��j	}||ks4J�|�
d�qd|vrVt|��d�}|��j}||ksQJ�|�
d�qt|�dkrat
d��dS)N�procstat -r rz voluntary contextr�z involuntary contextr�)couldn't find lines match in procstat out)rr'r3r4r�lowerr2r�num_ctx_switches�	voluntary�append�involuntary�lenrb�r9�testedrr�r �pstat_value�psutil_valuerrr�test_ctx_switches�s&


��z'FreeBSDPsutilTestCase.test_ctx_switchescCs�g}td|j���}t�|j�}|�d�D]O}|����}d|vrAtd|��d�d�d�}|��j	}||ks;J�|�
d�qd|vrdtd|��d�d�d�}|��j}||ks_J�|�
d�qt|�dkrot
d	��dS)
Nr�rz	user timez0.r��.zsystem timerr�)rr'r3r4rr�r2�float�	cpu_times�userr��systemr�rbr�rrr�test_cpu_times�s&


��z$FreeBSDPsutilTestCase.test_cpu_timesN)
rirjrkrmr*r.r
r�r�r�r�r�r�rrrrrr�s



rrc@s�eZdZedd��Zdd�Ze�dd��Ze�dd��Ze�d	d
��Z	e�dd��Z
e�d
d��Ze�dd��Ze
jjedd�dd��Ze
jjedd�e�dd���Ze
jjedd�e�dd���Ze
jjedd�e�dd���Ze
jjedd�e�dd���Ze
jjedd�e�dd���Ze
jjedd�e�dd ���Zd!d"�Zd#d$�Zd%d&�Ze�d'd(��Zd)d*�Zd+d,�Zd-d.�Zd/d0�Ze
jje d1d�d2d3��Z!e
jje d1d�d4d5��Z"e
jje d6d�d7d8��Z#d9d:�Z$d;S)<�FreeBSDSystemTestCasecCsTtd���d}t�d|�}|std|����dd�|dd�D�\}}}|||fS)	Nzswapinfo -kr�z\s+zCan't parse swapinfo: css�|]	}t|�dVqdS)rAN)r)�.0r�rrr�	<genexpr>s�z7FreeBSDSystemTestCase.parse_swapinfo.<locals>.<genexpr>rr?)r�
splitlinesrdrr)r:�partsrFrGrHrrr�parse_swapinfo�s
z$FreeBSDSystemTestCase.parse_swapinfocCs�d}ztt|��}Wntyt�d��wt��j|ks J�d}t|�}t|��d�d�d�}t|��d�d�d�}t��j	|ksIJ�t��j
|ksRJ�dS)Nzdev.cpu.0.freqz#frequencies not supported by kernelzdev.cpu.0.freq_levelsr�/r�)rrrbr	�skipr3�cpu_freq�currentr�max�min)r9�sensor�
sysctl_result�max_freq�min_freqrrr�!test_cpu_frequency_against_sysctl	s
�z7FreeBSDSystemTestCase.test_cpu_frequency_against_sysctlcC�*td�t}tt��j|�tksJ�dS)Nzvm.stats.vm.v_active_count)r�PAGESIZErOr3rY�activerrVrrr�test_vmem_active�z&FreeBSDSystemTestCase.test_vmem_activecCr�)Nzvm.stats.vm.v_inactive_count)rr�rOr3rY�inactiverrVrrr�test_vmem_inactive$r�z(FreeBSDSystemTestCase.test_vmem_inactivecCr�)Nzvm.stats.vm.v_wire_count)rr�rOr3rY�wiredrrVrrr�test_vmem_wired)r�z%FreeBSDSystemTestCase.test_vmem_wiredcCr�)Nzvm.stats.vm.v_cache_count)rr�rOr3rY�cachedrrVrrr�test_vmem_cached.r�z&FreeBSDSystemTestCase.test_vmem_cachedcCr�)Nzvm.stats.vm.v_free_count)rr�rOr3rYrHrrVrrr�test_vmem_free3r�z$FreeBSDSystemTestCase.test_vmem_freecC�&td�}tt��j|�tksJ�dS)Nzvfs.bufspace)rrOr3rY�buffersrrVrrr�test_vmem_buffers8sz'FreeBSDSystemTestCase.test_vmem_bufferszmuse not installedr!cCstd�}t��j|ks
J�dS)N�Total)rr3rYrFrZrrr�test_muse_vmem_total?sz*FreeBSDSystemTestCase.test_muse_vmem_totalcCr�)N�Active)rrOr3rYr�rrZrrr�test_muse_vmem_activeD�z+FreeBSDSystemTestCase.test_muse_vmem_activecCr�)N�Inactive)rrOr3rYr�rrZrrr�test_muse_vmem_inactiveJr�z-FreeBSDSystemTestCase.test_muse_vmem_inactivecCr�)N�Wired)rrOr3rYr�rrZrrr�test_muse_vmem_wiredPr�z*FreeBSDSystemTestCase.test_muse_vmem_wiredcCr�)N�Cache)rrOr3rYr�rrZrrr�test_muse_vmem_cachedVr�z+FreeBSDSystemTestCase.test_muse_vmem_cachedcCr�)N�Free)rrOr3rYrHrrZrrr�test_muse_vmem_free\r�z)FreeBSDSystemTestCase.test_muse_vmem_freecCr�)N�Buffer)rrOr3rYr�rrZrrr�test_muse_vmem_buffersbr�z,FreeBSDSystemTestCase.test_muse_vmem_bufferscC�"tt��jtd��dksJ�dS)Nzvm.stats.sys.v_swtch��)rOr3�	cpu_stats�ctx_switchesr�r9rrr�test_cpu_stats_ctx_switchesh����z1FreeBSDSystemTestCase.test_cpu_stats_ctx_switchescCr�)Nzvm.stats.sys.v_intrr�)rOr3r��
interruptsrr�rrr�test_cpu_stats_interruptsqs�z/FreeBSDSystemTestCase.test_cpu_stats_interruptscCr�)Nzvm.stats.sys.v_softr�)rOr3r��soft_interruptsrr�rrr�test_cpu_stats_soft_interruptswr�z4FreeBSDSystemTestCase.test_cpu_stats_soft_interruptscCr�)Nzvm.stats.sys.v_syscalli@
)rOr3r��syscallsrr�rrr�test_cpu_stats_syscalls�s�z-FreeBSDSystemTestCase.test_cpu_stats_syscallscCs,|��\}}}tt��j|�tksJ�dSr%)r�rOr3�swap_memoryrHr)r9�_total�_usedrHrrr�test_swapmem_free��z'FreeBSDSystemTestCase.test_swapmem_freecCs,|��\}}}tt��j|�tksJ�dSr%)r�rOr3r�rGr)r9r�rG�_freerrr�test_swapmem_used�r�z'FreeBSDSystemTestCase.test_swapmem_usedcCs,|��\}}}tt��j|�tksJ�dSr%)r�rOr3r�rFr)r9rFr�r�rrr�test_swapmem_total�r�z(FreeBSDSystemTestCase.test_swapmem_totalcCsLtd�}||�d�dd�}|d|�d��}t|�}|t��ks$J�dS)Nzsysctl kern.boottimez sec = ��,)rrrr3�	boot_time)r9�s�btimerrr�test_boot_time�s
z$FreeBSDSystemTestCase.test_boot_timez
no batterycCs�dd�}td�}dd�|�d�D�}t��}t|d�dd	��}|d
}|j|ks+J�|dkr9|jtjks7J�dS||j�|ksBJ�dS)NcSs4t|d�\}}t|d�\}}t|��dt|�d��S)N�<�:�02)�divmodr)�secs�m�_s�hrrr�
secs2hours�sz>FreeBSDSystemTestCase.test_sensors_battery.<locals>.secs2hoursz
acpiconf -i 0cSs&i|]}|�d�d|�d�d�qS)�	rr�)r)r��xrrr�
<dictcomp>�s&z>FreeBSDSystemTestCase.test_sensors_battery.<locals>.<dictcomp>rzRemaining capacity:�%r0zRemaining time:�unknown)	rrr3�sensors_batteryrr1�percent�secsleft�POWER_TIME_UNLIMITED)r9r�rr|�metricsr�remaining_timerrr�test_sensors_battery�sz*FreeBSDSystemTestCase.test_sensors_batterycCsnt��jtd�ksJ�t��jtd�dkksJ�t��j}|dkr+td�dks)J�dS|td�dks5J�dS)N�hw.acpi.battery.life�hw.acpi.aclinerr�hw.acpi.battery.timer�r�)r3rrr�
power_pluggedr)r9rrrr�#test_sensors_battery_against_sysctl�s

�
�
z9FreeBSDSystemTestCase.test_sensors_battery_against_sysctlzhas batterycCsVt�t��td�td�td�Wd�n1swYt��dus)J�dS)Nrr
r)r	�raisesrbrr3rr�rrr�test_sensors_battery_no_battery�s
�z5FreeBSDSystemTestCase.test_sensors_battery_no_batteryc	Cs�t�d�}t|�D]S}d|�d�}zttt|�dd���}Wnty+t�d��wt	t�
�d|j|�dks=J�d|�d�}ttt|�dd���}t�
�d|j|ks\J�q	dS)	NTzdev.cpu.z.temperaturer�z$temperatures not supported by kernel�coretemprwz.coretemp.tjmax)
r3rU�rangerr�rrbr	r�rO�sensors_temperaturesr��high)r9�num_cpus�cpur�r�rrr�(test_sensors_temperatures_against_sysctl�s*

����
��z>FreeBSDSystemTestCase.test_sensors_temperatures_against_sysctlN)%rirjrk�staticmethodr�r�r
r�r�r�r�r�r�r	rnro�MUSE_AVAILABLEr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrrrrrr��sh







		

	


r�zOPENBSD onlyc@seZdZdd�ZdS)�OpenBSDTestCasecCs6td�}tj�|d�}tj�t���}||ksJ�dS)Nz
kern.boottimez%a %b %d %H:%M:%S %Y)r�datetime�strptime�
fromtimestampr3r�)r9r��sys_bt�	psutil_btrrrr��szOpenBSDTestCase.test_boot_timeN)rirjrkr�rrrrr�srzNETBSD onlyc@sheZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�ZdS)�NetBSDTestCasecCsptd��%}|D]}|�|�r!t|��d�dWd�SqWd�n1s,wYtd|����)Nz
/proc/meminforrAzcan't find )�openrrrr)�look_for�fr rrr�
parse_meminfos

���zNetBSDTestCase.parse_meminfocCst��j|�d�ksJ�dS)Nz	MemTotal:)r3rYrFr%r�rrr�test_vmem_total
szNetBSDTestCase.test_vmem_totalcC�$tt��j|�d��tksJ�dS)NzMemFree:)rOr3rYrHr%rr�rrrr�
��zNetBSDTestCase.test_vmem_freecCr')NzBuffers:)rOr3rYr�r%rr�rrrr�����z NetBSDTestCase.test_vmem_bufferscCr')Nz
MemShared:)rOr3rY�sharedr%rr�rrr�test_vmem_sharedr)zNetBSDTestCase.test_vmem_sharedcCr')NzCached:)rOr3rYr�r%rr�rrrr�%r(zNetBSDTestCase.test_vmem_cachedcCr')Nz
SwapTotal:)rOr3r�rFr%rr�rrrr�-r(z!NetBSDTestCase.test_swapmem_totalcCr')Nz	SwapFree:)rOr3r�rHr%rr�rrrr�3r(z NetBSDTestCase.test_swapmem_freecCs"t��}|j|j|jksJ�dSr%)r3r�rGrFrH)r9�smemrrrr�9sz NetBSDTestCase.test_swapmem_usedcC�xtdd�� }|D]}|�d�rt|��d�}nqtd��Wd�n1s(wYtt��j|�dks:J�dS)N�
/proc/stat�rbsintrr�couldn't find liner�)	r"rrrrrOr3r�r�)r9r$r r�rrrr�?�
���z(NetBSDTestCase.test_cpu_stats_interruptscCr-)Nr.r/sctxtrr0r�)	r"rrrrrOr3r�r�)r9r$r r�rrrr�Ir1z*NetBSDTestCase.test_cpu_stats_ctx_switchesN)rirjrkrr%r&r�r�r+r�r�r�r�r�r�rrrrr!�s
			
r!)#rlr�osrdrpr6r3rrrr�psutil.testsrrrr	r
rrr
�psutil._psutil_posixrr��getuidrqrrrrnror#rrr�rr!rrrr�<module>sL	UXv