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

=iN�@s�dZddlZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
ddlmZddlm
Z
dd	lmZdd
lmZddlmZddlmZdd
lmZddlmZervejj��Ze��dkote�d�ZndZdZdd�Zdd�Zejjedd�Gdd�de��Zejjedd�Gdd�de��Z ejjedd�Gdd�de��Z!ejje
dd�Gdd�de��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_subproc)�	terminate�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�C/opt/osm/venv/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�linerrrr8s
�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�
setUpClassL�zBSDTestCase.setUpClasscC�t|j�dSr$�r
r&r'rrr�
tearDownClassPr*zBSDTestCase.tearDownClassz -o lstart doesn't work on NETBSDr cCsRtd|j���}|�dd���}t�|j���}t�dt�	|��}||ks'J�dS)Nzps -o lstart -p ZSTARTED�z%a %b %e %H:%M:%S %Y)
rr&�replace�strip�psutil�ProcessZcreate_time�time�strftime�	localtime)�self�outputZstart_psZstart_psutilrrr�test_process_create_timeTs
�z$BSDTestCase.test_process_create_timecCs�dd�}tjdd�D]M}t�|j�}||j�\}}}}|j|ks"J�|j|ks)J�t|j|�dkr@t�	d|j�d|���St|j
|�dkrWt�	d|j
�d|���Sq
dS)NcSs�td|�d����}|�d�}|�d�|�d�}|��dd�\}}}}|dkr+d}t|�d}t|�d}t|�d}||||fS)	Nzdf -k "�"rr��noner.�)rr0r�popr)�pathr�linesr�dev�total�used�freerrr�dfas


z"BSDTestCase.test_disks.<locals>.dfF)�alli�zpsutil=z, df=)r1Zdisk_partitions�
disk_usageZ
mountpointZdevicerA�absrCr	ZfailrB)r6rD�part�usager@rArBrCrrr�
test_disks^s
��zBSDTestCase.test_disksrzsysctl cmd not availablecCs td�}tjdd�|ksJ�dS)Nzhw.ncpuT)Zlogical)rr1�	cpu_count�r6Zsystrrr�test_cpu_count_logicalysz"BSDTestCase.test_cpu_count_logicalzskipped on NETBSDcCstd�}|t��jks
J�dS)Nz
hw.physmem)rr1�virtual_memoryrA�r6�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 ZRUNNING�mtuz	mtu (\d+)r)
r1Znet_if_stats�itemsr�RuntimeErrorZisuprSr�re�findall)r6�name�statsrrrr�test_net_if_stats�s���zBSDTestCase.test_net_if_statsN)�__name__�
__module__�__qualname__�__doc__�classmethodr)r-r	�mark�skipifrr8rJ�shutil�whichrMrQrZrrrrr"Hs0


	�
���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&r1r2Zmemory_mapsrr=�addrrZrssr>r)r6r�mapsr?r�fields�_�start�stopZ_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&r1r2�exer�r6rrrr�test_exe�s.zFreeBSDPsutilTestCase.test_execCsNtd|j���}d�t�|j����d�|�d�d��dd��ks%J�dS)Nzprocstat -c � rrr)rr&�joinr1r2rrrurrr�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&rr1r2�uids�gids�realrZ	effective�saved)r6rZeuidZruidZsuidZegidZrgidZsgid�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 contextrsz involuntary contextr�)couldn't find lines match in procstat out)rr&r1r2r�lowerr0rZnum_ctx_switchesZ	voluntary�appendZinvoluntary�lenrU�r6ZtestedrrrZpstat_valueZ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.rs�.zsystem timerr�)rr&r1r2rr�r0�floatZ	cpu_times�userr��systemr�rUr�rrr�test_cpu_times�s&


��z$FreeBSDPsutilTestCase.test_cpu_timesN)
r[r\r]r_r)r-r
rrrvryr�r�r�rrrrrd�s



rdc@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 -krsz\s+zCan't parse swapinfo: css�|]	}t|�dVqdS)r<N)r)�.0rrrr�	<genexpr>s�z7FreeBSDSystemTestCase.parse_swapinfo.<locals>.<genexpr>rr:)r�
splitlinesrVrr)r7�partsrArBrCrrr�parse_swapinfo�s
z$FreeBSDSystemTestCase.parse_swapinfocCs�d}ztt|��}Wntyt�d�YSwt��j|ks"J�d}t|�}t|��d�d�d�}t|��d�d�d�}t��j	|ksKJ�t��j
|ksTJ�dS)Nzdev.cpu.0.freqz#frequencies not supported by kernelzdev.cpu.0.freq_levelsr�/rs)rrrUr	�skipr1Zcpu_freq�currentr�max�min)r6�sensor�
sysctl_resultZmax_freqZmin_freqrrr�!test_cpu_frequency_against_sysctls�z7FreeBSDSystemTestCase.test_cpu_frequency_against_sysctlcC�*td�t}tt��j|�tksJ�dS)Nzvm.stats.vm.v_active_count)r�PAGESIZErGr1rN�activerrLrrr�test_vmem_active�z&FreeBSDSystemTestCase.test_vmem_activecCr�)Nzvm.stats.vm.v_inactive_count)rr�rGr1rN�inactiverrLrrr�test_vmem_inactive!r�z(FreeBSDSystemTestCase.test_vmem_inactivecCr�)Nzvm.stats.vm.v_wire_count)rr�rGr1rN�wiredrrLrrr�test_vmem_wired&r�z%FreeBSDSystemTestCase.test_vmem_wiredcCr�)Nzvm.stats.vm.v_cache_count)rr�rGr1rN�cachedrrLrrr�test_vmem_cached+r�z&FreeBSDSystemTestCase.test_vmem_cachedcCr�)Nzvm.stats.vm.v_free_count)rr�rGr1rNrCrrLrrr�test_vmem_free0r�z$FreeBSDSystemTestCase.test_vmem_freecC�&td�}tt��j|�tksJ�dS)Nzvfs.bufspace)rrGr1rN�buffersrrLrrr�test_vmem_buffers5sz'FreeBSDSystemTestCase.test_vmem_bufferszmuse not installedr cCstd�}t��j|ks
J�dS)NZTotal)rr1rNrArOrrr�test_muse_vmem_total<sz*FreeBSDSystemTestCase.test_muse_vmem_totalcCr�)NZActive)rrGr1rNr�rrOrrr�test_muse_vmem_activeA�z+FreeBSDSystemTestCase.test_muse_vmem_activecCr�)NZInactive)rrGr1rNr�rrOrrr�test_muse_vmem_inactiveGr�z-FreeBSDSystemTestCase.test_muse_vmem_inactivecCr�)NZWired)rrGr1rNr�rrOrrr�test_muse_vmem_wiredMr�z*FreeBSDSystemTestCase.test_muse_vmem_wiredcCr�)N�Cache)rrGr1rNr�rrOrrr�test_muse_vmem_cachedSr�z+FreeBSDSystemTestCase.test_muse_vmem_cachedcCr�)NZFree)rrGr1rNrCrrOrrr�test_muse_vmem_freeYr�z)FreeBSDSystemTestCase.test_muse_vmem_freecCr�)N�Buffer)rrGr1rNr�rrOrrr�test_muse_vmem_buffers_r�z,FreeBSDSystemTestCase.test_muse_vmem_bufferscC�"tt��jtd��dksJ�dS)Nzvm.stats.sys.v_swtch��)rGr1�	cpu_stats�ctx_switchesr�r6rrr�test_cpu_stats_ctx_switchese����z1FreeBSDSystemTestCase.test_cpu_stats_ctx_switchescCr�)Nzvm.stats.sys.v_intrr�)rGr1r��
interruptsrr�rrr�test_cpu_stats_interruptsns�z/FreeBSDSystemTestCase.test_cpu_stats_interruptscCr�)Nzvm.stats.sys.v_softr�)rGr1r�Zsoft_interruptsrr�rrr�test_cpu_stats_soft_interruptstr�z4FreeBSDSystemTestCase.test_cpu_stats_soft_interruptscCr�)Nzvm.stats.sys.v_syscalli@
)rGr1r�Zsyscallsrr�rrr�test_cpu_stats_syscalls}s�z-FreeBSDSystemTestCase.test_cpu_stats_syscallscCs,|��\}}}tt��j|�tksJ�dSr$)r�rGr1�swap_memoryrCr)r6�_total�_usedrCrrr�test_swapmem_free��z'FreeBSDSystemTestCase.test_swapmem_freecCs,|��\}}}tt��j|�tksJ�dSr$)r�rGr1r�rBr)r6r�rB�_freerrr�test_swapmem_used�r�z'FreeBSDSystemTestCase.test_swapmem_usedcCs,|��\}}}tt��j|�tksJ�dSr$)r�rGr1r�rAr)r6rAr�r�rrr�test_swapmem_total�r�z(FreeBSDSystemTestCase.test_swapmem_totalcCsLtd�}||�d�dd�}|d|�d��}t|�}|t��ks$J�dS)Nzsysctl kern.boottimez sec = ��,)rrrr1�	boot_time)r6�sZbtimerrr�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�<�:Z02)�divmodr)Zsecs�mZ_s�hrrr�
secs2hours�sz>FreeBSDSystemTestCase.test_sensors_battery.<locals>.secs2hoursz
acpiconf -i 0cSs&i|]}|�d�d|�d�d�qS)�	rrs)r)r��xrrr�
<dictcomp>�s&z>FreeBSDSystemTestCase.test_sensors_battery.<locals>.<dictcomp>rzRemaining capacity:�%r.zRemaining time:�unknown)	rrr1�sensors_batteryrr/�percent�secsleftZPOWER_TIME_UNLIMITED)r6r�rrlZmetricsr�Zremaining_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.timersr�)r1r�r�rZ
power_pluggedr�)r6r�rrr�#test_sensors_battery_against_sysctl�s

�
�
z9FreeBSDSystemTestCase.test_sensors_battery_against_sysctlzhas batterycCsVt�t��td�td�td�Wd�n1swYt��dus)J�dS)Nr�r�r�)r	ZraisesrUrr1r�r�rrr�test_sensors_battery_no_battery�s
�z5FreeBSDSystemTestCase.test_sensors_battery_no_batteryc	Cs�t�d�}t|�D]W}d|�d�}zttt|�dd���}Wnty/t�d�YSwt	t�
�d|j|�dksAJ�d|�d�}ttt|�dd���}t�
�d|j|ks`J�q	dS)	NTzdev.cpu.z.temperaturersz$temperatures not supported by kernelZcoretempriz.coretemp.tjmax)
r1rK�rangerr�rrUr	r�rGZsensors_temperaturesr��high)r6Znum_cpus�cpur�r�rrr�(test_sensors_temperatures_against_sysctl�s*
����
��z>FreeBSDSystemTestCase.test_sensors_temperatures_against_sysctlN)%r[r\r]�staticmethodr�r�r
r�r�r�r�r�r�r	r`ra�MUSE_AVAILABLEr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�rrrrr��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�
fromtimestampr1r�)r6r�Zsys_btZ	psutil_btrrrr��szOpenBSDTestCase.test_boot_timeN)r[r\r]r�rrrrr��sr�zNETBSD 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/meminforr<zcan't find )�openrrrr)Zlook_for�frrrr�
parse_meminfo�s

���zNetBSDTestCase.parse_meminfocCst��j|�d�ksJ�dS)Nz	MemTotal:)r1rNrAr�r�rrr�test_vmem_totalszNetBSDTestCase.test_vmem_totalcC�$tt��j|�d��tksJ�dS)NzMemFree:)rGr1rNrCr�rr�rrrr���zNetBSDTestCase.test_vmem_freecCr�)NzBuffers:)rGr1rNr�r�rr�rrrr�����z NetBSDTestCase.test_vmem_bufferscCr�)Nz
MemShared:)rGr1rNZsharedr�rr�rrr�test_vmem_sharedr�zNetBSDTestCase.test_vmem_sharedcCr�)NzCached:)rGr1rNr�r�rr�rrrr�r�zNetBSDTestCase.test_vmem_cachedcCr�)Nz
SwapTotal:)rGr1r�rAr�rr�rrrr�&r�z!NetBSDTestCase.test_swapmem_totalcCr�)Nz	SwapFree:)rGr1r�rCr�rr�rrrr�,r�z NetBSDTestCase.test_swapmem_freecCs"t��}|j|j|jksJ�dSr$)r1r�rBrArC)r6Zsmemrrrr�2sz 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�rrrrrGr1r�r�)r6r�rr�rrrr�8�
���z(NetBSDTestCase.test_cpu_stats_interruptscCr�)Nr�r�sctxtrr�r�)	r�rrrrrGr1r�r�)r6r�rr�rrrr�Br�z*NetBSDTestCase.test_cpu_stats_ctx_switchesN)r[r\r]r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s
			
r�)$r^r��osrVrbr3r1rrrrZpsutil.testsrrrr	r
rrr
Z_psplatformZcextZgetpagesizer��getuidrcr�rrr`rar"rdr�r�r�rrrr�<module>sJ	UXr