Viewing File: /opt/hc_python/lib/python3.12/site-packages/psutil/tests/__pycache__/test_bsd.cpython-312.pyc

�

h0iN��2�dZddlZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddlm
Z
ddlmZddlm
Z
dd	lmZdd
lmZddlmZddlmZdd
lmZddlmZerMej(j*j-�Zej0�dk(xrej2d�ZndZdZd�Zd�Zej:j=ed��Gd�de��Zej:j=ed��Gd�de��Z ej:j=ed��Gd�de��Z!ej:j=e
d��Gd�de��Z"ej:j=e	d��Gd �d!e��Z#y)"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�museFc���td|z�}tr||jd�dzd}n#tstr||jd�dzd}	t|�S#t$r|cYSwxYw)zmExpects a sysctl command with an argument and parse the result
    returning only the value of interest.
    zsysctl z: �N�=�)rr�findrr�int�
ValueError)�cmdline�results  �F/opt/hc_python/lib64/python3.12/site-packages/psutil/tests/test_bsd.py�sysctlr)st���	�G�#�
$�F������D�)�A�-�/�0��	�F�����C�(�1�,�.�/����6�{������
��s�
A�A*�)A*c��td�}|jd�D]}|j|�s�ntd��t	|j�d�S)z+Thin wrapper around 'muse' cmdline utility.r�
zline not foundr)r�split�
startswithrr)�field�out�lines   rrr8sO��
�V�*�C��	�	�$����?�?�5�!�� ��)�*�*��t�z�z�|�A����zBSD only��reasonc���eZdZdZed��Zed��Zejje
d��d��Zd�Zejje
jd�d	��d
��Zejje
jd�d	��ejje
d��d���Zejje
jd
�d��d��Zy)�BSDTestCasez)Generic tests common to all BSD variants.c�6�t�j|_y�N�r
�pid��clss r�
setUpClasszBSDTestCase.setUpClassL����/�%�%��r"c�.�t|j�yr(�rr*r+s r�
tearDownClasszBSDTestCase.tearDownClassP����#�'�'�r"z -o lstart doesn't work on NETBSDr#c�.�td|j���}|jdd�j�}t	j
|j�j
�}tjdtj|��}||k(sJ�y)Nzps -o lstart -p �STARTED�z%a %b %e %H:%M:%S %Y)
rr*�replace�strip�psutil�Process�create_time�time�strftime�	localtime)�self�output�start_ps�start_psutils    r�test_process_create_timez$BSDTestCase.test_process_create_timeTsx���&�t�x�x�j�1�2���>�>�)�R�0�6�6�8���~�~�d�h�h�/�;�;�=���}�}�"�D�N�N�<�$@�
���<�'�'�'r"c��d�}tjd��D]�}tj|j�}||j�\}}}}|j|k(sJ�|j
|k(sJ�t
|j|z
�dkDr'tjd|j�d|���cSt
|j|z
�dkDs��tjd|j�d|���cSy)Nc�@�td|�d��j�}|jd�}|jd�|jd�}|j�dd\}}}}|dk(rd}t	|�dz}t	|�dz}t	|�dz}||||fS)	Nzdf -k "�"rr��noner5�)rr7r�popr)�pathr �linesr!�dev�total�used�frees        r�dfz"BSDTestCase.test_disks.<locals>.dfas����w�t�f�A�&�'�-�-�/�C��I�I�d�O�E��I�I�a�L��9�9�Q�<�D�%)�Z�Z�\�"�1�%5�"�C���d��f�}�����J��%�E��t�9�t�#�D��t�9�t�#�D���t�T�)�)r"F)�alli�zpsutil=z, df=)r8�disk_partitions�
disk_usage�
mountpoint�devicerM�absrOr
�failrN)r>rP�part�usagerLrMrNrOs        r�
test_diskszBSDTestCase.test_disks^s���	*��*�*�u�5�D��%�%�d�o�o�6�E�%'����%8�"�C���d��;�;�#�%�%�%��;�;�%�'�'�'��5�:�:��$�%�(8�8��{�{�W�U�Z�Z�L��d�V�#D�E�E��5�:�:��$�%�(8�8��{�{�W�U�Z�Z�L��d�V�#D�E�E�6r"rzsysctl cmd not availablec�P�td�}tjd��|k(sJ�y)Nzhw.ncpuT)�logical)rr8�	cpu_count�r>�systs  r�test_cpu_count_logicalz"BSDTestCase.test_cpu_count_logicalys'���i� ������-��5�5�5r"zskipped on NETBSDc�`�td�}|tj�jk(sJ�y)Nz
hw.physmem)rr8�virtual_memoryrM�r>�nums  r�test_virtual_memory_totalz%BSDTestCase.test_virtual_memory_total�s+���\�"���f�+�+�-�3�3�3�3�3r"�ifconfigzifconfig cmd not availablec�&�tj�j�D]]\}}	td|���}|jd|vk(sJ�d|vs�-|j
t
tjd|�d�k(r�]J�y#t$rY�lwxYw)Nz	ifconfig �RUNNING�mtuz	mtu (\d+)r)
r8�net_if_stats�itemsr�isuprir�re�findall�RuntimeError)r>�name�statsr s    r�test_net_if_statszBSDTestCase.test_net_if_stats�s���"�.�.�0�6�6�8�K�D�%�
N��9�T�F�+�,���z�z�i�3�&6�7�7�7��C�<� �9�9��B�J�J�|�S�,I�!�,L�(M�M�M�M�9�� �
��
�s�B�	B�BN)�__name__�
__module__�__qualname__�__doc__�classmethodr-r1r
�mark�skipifrrBrZ�shutil�whichr`rerr�r"rr&r&Hs5��3��&��&������[�[����'I��J�(�K�(�F�6�[�[����F�L�L��"�"�+E���6��6��[�[����F�L�L��"�"�+E����[�[����*���4���4��[�[����F�L�L��$�$�-I���	N��	Nr"r&zFREEBSD onlyc��eZdZed��Zed��Ze�d��Zd�Zd�Z	d�Z
e�d��Ze�d��Zy	)
�FreeBSDPsutilTestCasec�6�t�j|_yr(r)r+s rr-z FreeBSDPsutilTestCase.setUpClass�r.r"c�.�t|j�yr(r0r+s rr1z#FreeBSDPsutilTestCase.tearDownClass�r2r"c��td|j���}tj|j�j	d��}|jd�dd}|r�|j
�}|j�}|dd\}}}}	}
|j
�}|�d|��|jk(sJ�t|
�|jk(sJ�|jjd�s|d	|jk(sJ�|r��yy)
Nzprocstat -v F)�groupedrr��-�[�
)rr*r8r9�memory_mapsrrI�addrr�rssrJr)r>r �mapsrKr!�fields�_�start�stop�_perms�res�maps            r�test_memory_mapsz&FreeBSDPsutilTestCase.test_memory_maps�s����<����z�*�+���~�~�d�h�h�'�3�3�E�3�B���	�	�$����#����9�9�;�D��Z�Z�\�F�*0��!�*�'�A�u�d�F�C��(�(�*�C��W�A�d�V�$����0�0�0��s�8�s�w�w�&�&�&��8�8�&�&�s�+��b�z�S�X�X�-�-�-�r"c���td|j���}tj|j�j	�|jd�dj�dk(sJ�y)Nzprocstat -b rr���)rr*r8r9�exer�r>r s  r�test_exezFreeBSDPsutilTestCase.test_exe�sV���<����z�*�+���~�~�d�h�h�'�+�+�-����4���1C�1I�1I�1K�B�1O�O�O�Or"c��td|j���}djtj|j�j��dj|j
d�dj
�dd�k(sJ�y)Nzprocstat -c � rrr)rr*�joinr8r9rrr�s  r�test_cmdlinez"FreeBSDPsutilTestCase.test_cmdline�st���<����z�*�+���x�x����t�x�x�0�8�8�:�;�s�x�x��I�I�d�O�A��$�$�&�q�r�*�@
�
�	
�
r"c�B�td|j���}|jd�dj�dd\}}}}}}tj|j�}|j�}	|j
�}
|	jt|�k(sJ�|	jt|�k(sJ�|	jt|�k(sJ�|
jt|�k(sJ�|
jt|�k(sJ�|
jt|�k(sJ�y)Nzprocstat -s rrr�)rr*rr8r9�uids�gids�realr�	effective�saved)r>r �euid�ruid�suid�egid�rgid�sgid�pr�r�s           r�test_uids_gidsz$FreeBSDPsutilTestCase.test_uids_gids�s����<����z�*�+��-0�Y�Y�t�_�Q�-?�-E�-E�-G��!�-L�*��d�D�$��d��N�N�4�8�8�$���v�v�x���v�v�x���y�y�C��I�%�%�%��~�~��T��*�*�*��z�z�S��Y�&�&�&��y�y�C��I�%�%�%��~�~��T��*�*�*��z�z�S��Y�&�&�&r"c�\�g}td|j���}tj|j�}|j	d�D]�}|j�j
�}d|vrOt|j	�d�}|j�j}||k(sJ�|jd��td|vs�yt|j	�d�}|j�j}||k(sJ�|jd���t|�dk7rtd��y)N�procstat -r rz voluntary contextr�z involuntary contextr�)couldn't find lines match in procstat out)rr*r8r9r�lowerr7r�num_ctx_switches�	voluntary�append�involuntary�lenro�r>�testedr r�r!�pstat_value�psutil_values       r�test_ctx_switchesz'FreeBSDPsutilTestCase.test_ctx_switches�s	�����<����z�*�+���N�N�4�8�8�$���I�I�d�O�D��:�:�<�%�%�'�D�#�t�+�!�$�*�*�,�r�"2�3�� �1�1�3�=�=��"�l�2�2�2��
�
�d�#�'�4�/�!�$�*�*�,�r�"2�3�� �1�1�3�?�?��"�l�2�2�2��
�
�d�#�$��v�;�!���J�K�K�r"c��g}td|j���}tj|j�}|j	d�D]�}|j�j
�}d|vrdtd|j	�dj	d�dz�}|j�j}||k(sJ�|jd���d|vs��td|j	�dj	d�dz�}|j�j}||k(sJ�|jd���t|�dk7rtd	��y)
Nr�rz	user timez0.r��.zsystem timerr�)rr*r8r9rr�r7�float�	cpu_times�userr��systemr�ror�s       r�test_cpu_timesz$FreeBSDPsutilTestCase.test_cpu_times�s-�����<����z�*�+���N�N�4�8�8�$���I�I�d�O�D��:�:�<�%�%�'�D��d�"�#�D�4�:�:�<��+;�+A�+A�#�+F�r�+J�$J�K�� �{�{�}�1�1��"�l�2�2�2��
�
�d�#��$�&�#�D�4�:�:�<��+;�+A�+A�#�+F�r�+J�$J�K�� �{�{�}�3�3��"�l�2�2�2��
�
�d�#�$��v�;�!���J�K�K�r"N)
rsrtrurwr-r1rr�r�r�r�r�r�r|r"rr~r~�s����&��&�������.��.�P�
�'���L��L�&��L��Lr"r~c�N�eZdZed��Zd�Ze�d��Ze�d��Ze�d��Z	e�d��Z
e�d��Ze�d��Ze
jjed	�
�d��Ze
jjed	�
�e�d���Ze
jjed	�
�e�d
���Ze
jjed	�
�e�d���Ze
jjed	�
�e�d���Ze
jjed	�
�e�d���Ze
jjed	�
�e�d���Zd�Zd�Zd�Ze�d��Zd�Zd�Zd�Zd�Ze
jje d�
�d��Z!e
jje d�
�d��Z"e
jje d�
�d��Z#d�Z$y )!�FreeBSDSystemTestCasec��td�j�d}tjd|�}|st	d|����d�|ddD�\}}}|||fS)Nzswapinfo -kr�z\s+zCan't parse swapinfo: c3�8K�|]}t|�dz���y�w)rHN)r)�.0r�s  r�	<genexpr>z7FreeBSDSystemTestCase.parse_swapinfo.<locals>.<genexpr>s����?�J�q�S��V�d�]�J�s�rrF)r�
splitlinesrmrr)r?�partsrMrNrOs     r�parse_swapinfoz$FreeBSDSystemTestCase.parse_swapinfo�si���M�"�-�-�/��3�������(����5�f�X�>�?�?�@�E�!�A�J�?���t�T��d�D� � r"c��d}	tt|��}tj�j|k(sJ�d}t|�}t|j�djd�d�}t|j�djd�d�}tj�j|k(sJ�tj�j|k(sJ�y#t$rtjd�cYSwxYw)Nzdev.cpu.0.freqz#frequencies not supported by kernelzdev.cpu.0.freq_levelsr�/r�)rrror
�skipr8�cpu_freq�currentr�max�min)r>�sensor�
sysctl_result�max_freq�min_freqs     r�!test_cpu_frequency_against_sysctlz7FreeBSDSystemTestCase.test_cpu_frequency_against_sysctls���"��	F���v��/�M���� �(�(�M�9�9�9�(���v��
��}�*�*�,�Q�/�5�5�c�:�1�=�>���}�*�*�,�R�0�6�6�s�;�A�>�?����� �$�$��0�0�0���� �$�$��0�0�0���	F��;�;�D�E�E�	F�s�C+�+D�Dc��td�tz}ttj�j
|z
�tksJ�y)Nzvm.stats.vm.v_active_count)r�PAGESIZErVr8rb�activerr^s  r�test_vmem_activez&FreeBSDSystemTestCase.test_vmem_actives:���2�3�h�>���6�(�(�*�1�1�D�8�9�<M�M�M�Mr"c��td�tz}ttj�j
|z
�tksJ�y)Nzvm.stats.vm.v_inactive_count)rr�rVr8rb�inactiverr^s  r�test_vmem_inactivez(FreeBSDSystemTestCase.test_vmem_inactive!s:���4�5��@���6�(�(�*�3�3�d�:�;�>O�O�O�Or"c��td�tz}ttj�j
|z
�tksJ�y)Nzvm.stats.vm.v_wire_count)rr�rVr8rb�wiredrr^s  r�test_vmem_wiredz%FreeBSDSystemTestCase.test_vmem_wired&s:���0�1�H�<���6�(�(�*�0�0�4�7�8�;L�L�L�Lr"c��td�tz}ttj�j
|z
�tksJ�y)Nzvm.stats.vm.v_cache_count)rr�rVr8rb�cachedrr^s  r�test_vmem_cachedz&FreeBSDSystemTestCase.test_vmem_cached+s:���1�2�X�=���6�(�(�*�1�1�D�8�9�<M�M�M�Mr"c��td�tz}ttj�j
|z
�tksJ�y)Nzvm.stats.vm.v_free_count)rr�rVr8rbrOrr^s  r�test_vmem_freez$FreeBSDSystemTestCase.test_vmem_free0s:���0�1�H�<���6�(�(�*�/�/�$�6�7�:K�K�K�Kr"c��td�}ttj�j|z
�t
ksJ�y)Nzvfs.bufspace)rrVr8rb�buffersrr^s  r�test_vmem_buffersz'FreeBSDSystemTestCase.test_vmem_buffers5s4���n�%���6�(�(�*�2�2�T�9�:�=N�N�N�Nr"zmuse not installedr#c�`�td�}tj�j|k(sJ�y)N�Total)rr8rbrMrcs  r�test_muse_vmem_totalz*FreeBSDSystemTestCase.test_muse_vmem_total<s(���7�m���$�$�&�,�,��3�3�3r"c��td�}ttj�j|z
�t
ksJ�y)N�Active)rrVr8rbr�rrcs  r�test_muse_vmem_activez+FreeBSDSystemTestCase.test_muse_vmem_activeAs5���8�n���6�(�(�*�1�1�C�7�8�;L�L�L�Lr"c��td�}ttj�j|z
�t
ksJ�y)N�Inactive)rrVr8rbr�rrcs  r�test_muse_vmem_inactivez-FreeBSDSystemTestCase.test_muse_vmem_inactiveGs6���:����6�(�(�*�3�3�c�9�:�=N�N�N�Nr"c��td�}ttj�j|z
�t
ksJ�y)N�Wired)rrVr8rbr�rrcs  r�test_muse_vmem_wiredz*FreeBSDSystemTestCase.test_muse_vmem_wiredMs5���7�m���6�(�(�*�0�0�3�6�7�:K�K�K�Kr"c��td�}ttj�j|z
�t
ksJ�y)N�Cache)rrVr8rbr�rrcs  r�test_muse_vmem_cachedz+FreeBSDSystemTestCase.test_muse_vmem_cachedSs5���7�m���6�(�(�*�1�1�C�7�8�;L�L�L�Lr"c��td�}ttj�j|z
�t
ksJ�y)N�Free)rrVr8rbrOrrcs  r�test_muse_vmem_freez)FreeBSDSystemTestCase.test_muse_vmem_freeYs5���6�l���6�(�(�*�/�/�#�5�6�9J�J�J�Jr"c��td�}ttj�j|z
�t
ksJ�y)N�Buffer)rrVr8rbr�rrcs  r�test_muse_vmem_buffersz,FreeBSDSystemTestCase.test_muse_vmem_buffers_s5���8�n���6�(�(�*�2�2�S�8�9�<M�M�M�Mr"c�t�ttj�jt	d�z
�dksJ�y)Nzvm.stats.sys.v_swtch��)rVr8�	cpu_stats�ctx_switchesr�r>s r�test_cpu_stats_ctx_switchesz1FreeBSDSystemTestCase.test_cpu_stats_ctx_switcheses>���� � �"�/�/��/�0�1�
��	
�	
�
r"c�t�ttj�jt	d�z
�dksJ�y)Nzvm.stats.sys.v_intrr�)rVr8r��
interruptsrrs r�test_cpu_stats_interruptsz/FreeBSDSystemTestCase.test_cpu_stats_interruptsns6���� � �"�-�-��7L�0M�M�N��
�	
�
r"c�t�ttj�jt	d�z
�dksJ�y)Nzvm.stats.sys.v_softr�)rVr8r��soft_interruptsrrs r�test_cpu_stats_soft_interruptsz4FreeBSDSystemTestCase.test_cpu_stats_soft_interruptsts>���� � �"�2�2��.�/�0�
��	
�	
�
r"c�t�ttj�jt	d�z
�dksJ�y)Nzvm.stats.sys.v_syscalli@
)rVr8r��syscallsrrs r�test_cpu_stats_syscallsz-FreeBSDSystemTestCase.test_cpu_stats_syscalls}s8��
�� � �"�+�+�f�5M�.N�N�O��
�	
�
r"c��|j�\}}}ttj�j|z
�t
ksJ�yr()r�rVr8�swap_memoryrOr)r>�_total�_usedrOs    r�test_swapmem_freez'FreeBSDSystemTestCase.test_swapmem_free�s?��"�1�1�3����t��6�%�%�'�,�,�t�3�4�7H�H�H�Hr"c��|j�\}}}ttj�j|z
�t
ksJ�yr()r�rVr8rrNr)r>r
rN�_frees    r�test_swapmem_usedz'FreeBSDSystemTestCase.test_swapmem_used�s?��"�1�1�3����e��6�%�%�'�,�,�t�3�4�7H�H�H�Hr"c��|j�\}}}ttj�j|z
�t
ksJ�yr()r�rVr8rrMr)r>rMrrs    r�test_swapmem_totalz(FreeBSDSystemTestCase.test_swapmem_total�s?��"�1�1�3���u�e��6�%�%�'�-�-��5�6�9J�J�J�Jr"c��td�}||jd�dzd}|d|jd�}t|�}|tj�k(sJ�y)Nzsysctl kern.boottimez sec = ��,)rrrr8�	boot_time)r>�s�btimes   r�test_boot_timez$FreeBSDSystemTestCase.test_boot_time�s\���)�*��
�a�f�f�Y��!�#�%�&��
�m����s�����A�����(�(�*�*�*�*r"z
no batteryc��d�}td�}|jd�D�cic])}|jd�d|jd�d��+}}tj�}t	|djdd	��}|d
}|j|k(sJ�|dk(r |jtjk(sJ�y||j�|k(sJ�ycc}w)Nc�r�t|d�\}}t|d�\}}t|��dt|�d��S)N�<�:�02)�divmodr)�secs�m�_s�hs    r�
secs2hoursz>FreeBSDSystemTestCase.test_sensors_battery.<locals>.secs2hours�s<���4��$�E�A�r��!�R�=�D�A�q��!�f�X�Q�s�1�v�b�k�*�*r"z
acpiconf -i 0r�	rr�zRemaining capacity:�%r5zRemaining time:�unknown)	rrr8�sensors_batteryrr6�percent�secsleft�POWER_TIME_UNLIMITED)r>r&r �xr��metricsr+�remaining_times        r�test_sensors_batteryz*FreeBSDSystemTestCase.test_sensors_battery�s���	+�
��!��?B�y�y���O��!�!�'�'�$�-��"�A�G�G�D�M�"�$5�5���O��(�(�*���f�2�3�;�;�C��D�E��� 1�2�����'�)�)�)��Y�&��#�#�v�'B�'B�B�B�B��g�.�.�/�>�A�A�A��Ps�.Cc�H�tj�jtd�k(sJ�tj�jtd�dk(k(sJ�tj�j
}|dkrtd�dk(sJ�y|td�dzk(sJ�y)N�hw.acpi.battery.life�hw.acpi.aclinerr�hw.acpi.battery.timer�r)r8r*r+r�
power_pluggedr,)r>r,s  r�#test_sensors_battery_against_sysctlz9FreeBSDSystemTestCase.test_sensors_battery_against_sysctl�s����%�%�'�/�/�6�"�4
�
�	
�
��%�%�'�5�5��#�$��)�
�	
�
��)�)�+�4�4���a�<��0�1�R�7�7�7��v�&<�=��B�B�B�Br"zhas batteryc���tjt�5td�td�td�ddd�t	j
��J�y#1swY� xYw)Nr3r5r4)r
�raisesrorr8r*rs r�test_sensors_battery_no_batteryz5FreeBSDSystemTestCase.test_sensors_battery_no_battery�sP��
�]�]�<�
(��)�*��)�*��#�$�)��%�%�'�/�/�/�	)�
(�s�"A�A$c���tjd�}t|�D]�}d|�d�}	tt	t|�dd��}ttj�d|j|z
�dksJ�d|�d�}tt	t|�dd��}tj�d|j|k(r��J�y#t$rtjd�cYcSwxYw)	NTzdev.cpu.z.temperaturer�z$temperatures not supported by kernel�coretempr�z.coretemp.tjmax)
r8r]�rangerr�rror
r�rV�sensors_temperaturesr��high)r>�num_cpus�cpur�r�s     r�(test_sensors_temperatures_against_sysctlz>FreeBSDSystemTestCase.test_sensors_temperatures_against_sysctl�s���#�#�D�)����?�C���u�L�1�F�
K� #�E�&��.��"�*=�$>� ?�
���/�/�1�*�=�c�B�J�J�#�$���	�
�� ��u�O�4�F���f�V�n�S�b�&9� :�;�M��+�+�-�j�9�#�>�C�C� �!�
�!�%#��
 �
K��{�{�#I�J�J�
K�s� C�C5�4C5N)%rsrtru�staticmethodr�r�rr�r�r�r�r�r�r
rxry�MUSE_AVAILABLEr�r�r�r�r�r�r�rrrr
rrrrrr1r7r:rBr|r"rr�r��s����
!��
!�1�,��N��N���P��P���M��M���N��N���L��L���O��O��[�[���N�*�3G��H�4�I�4��[�[���N�*�3G��H���M��I�M��[�[���N�*�3G��H���O��I�O��[�[���N�*�3G��H���L��I�L��[�[���N�*�3G��H���M��I�M��[�[���N�*�3G��H���K��I�K��[�[���N�*�3G��H���N��I�N�
�
�
���
��
�I�I�K�+��[�[���K����=�B�>�B�"�[�[���K����=�C�>�C��[�[����M��:�0�;�0�r"r�zOPENBSD onlyc��eZdZd�Zy)�OpenBSDTestCasec���td�}tjj|d�}tjjt	j
��}||k(sJ�y)Nz
kern.boottimez%a %b %d %H:%M:%S %Y)r�datetime�strptime�
fromtimestampr8r)r>r�sys_bt�	psutil_bts    rrzOpenBSDTestCase.test_boot_time�sR���?�#���"�"�+�+�A�/E�F���%�%�3�3�F�4D�4D�4F�G�	���"�"�"r"N)rsrtrurr|r"rrFrF�s��#r"rFzNETBSD onlyc�X�eZdZed��Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zy)
�NetBSDTestCasec���td�5}|D]=}|j|�s�t|j�d�dzccddd�S	ddd�t	d|����#1swY�xYw)Nz
/proc/meminforrHzcan't find )�openrrrr)�look_for�fr!s   r�
parse_meminfozNetBSDTestCase.parse_meminfo�sd��
�/�
"�a����?�?�8�,��t�z�z�|�A��/�$�6�6�#�
"��#��;�x�j�1�2�2�	#�
"�s�A&� A&�A&�&A/c�h�tj�j|jd�k(sJ�y)Nz	MemTotal:)r8rbrMrSrs r�test_vmem_totalzNetBSDTestCase.test_vmem_totals*���$�$�&�,�,��0B�0B�;�0O�O�O�Or"c��ttj�j|j	d�z
�t
ksJ�y)NzMemFree:)rVr8rbrOrSrrs rr�zNetBSDTestCase.test_vmem_frees;����%�%�'�,�,�t�/A�/A�*�/M�M�N��
 �	
�
 r"c��ttj�j|j	d�z
�t
ksJ�y)NzBuffers:)rVr8rbr�rSrrs rr�z NetBSDTestCase.test_vmem_bufferssC����%�%�'�/�/��$�$�Z�0�1�
� �	
 �	
�
 r"c��ttj�j|j	d�z
�t
ksJ�y)Nz
MemShared:)rVr8rb�sharedrSrrs r�test_vmem_sharedzNetBSDTestCase.test_vmem_sharedsC����%�%�'�.�.��$�$�\�2�3�
� �	
 �	
�
 r"c��ttj�j|j	d�z
�t
ksJ�y)NzCached:)rVr8rbr�rSrrs rr�zNetBSDTestCase.test_vmem_cacheds;����%�%�'�.�.��1C�1C�I�1N�N�O��
 �	
�
 r"c��ttj�j|j	d�z
�t
ksJ�y)Nz
SwapTotal:)rVr8rrMrSrrs rrz!NetBSDTestCase.test_swapmem_total&s;����"�"�$�*�*�T�-?�-?��-M�M�N��
 �	
�
 r"c��ttj�j|j	d�z
�t
ksJ�y)Nz	SwapFree:)rVr8rrOrSrrs rrz NetBSDTestCase.test_swapmem_free,s;����"�"�$�)�)�D�,>�,>�{�,K�K�L��
 �	
�
 r"c�|�tj�}|j|j|jz
k(sJ�yr()r8rrNrMrO)r>�smems  rrz NetBSDTestCase.test_swapmem_used2s/���!�!�#���y�y�D�J�J����2�2�2�2r"c�(�tdd�5}|D]1}|jd�s�t|j�d�}nt	d��	ddd�tt
j�jz
�dksJ�y#1swY�9xYw)N�
/proc/stat�rbsintrr�couldn't find liner�)	rPrrrrrVr8r�r)r>rRr!rs    rrz(NetBSDTestCase.test_cpu_stats_interrupts8s���
�,��
%�����?�?�7�+�!$�T�Z�Z�\�!�_�!5�J���
!�!5�6�6��	&��6�#�#�%�0�0�:�=�>��E�E�E�&�
%���B�*B�Bc�(�tdd�5}|D]1}|jd�s�t|j�d�}nt	d��	ddd�tt
j�jz
�dksJ�y#1swY�9xYw)Nrarbsctxtrrcr�)	rPrrrrrVr8r�r�)r>rRr!r�s    rrz*NetBSDTestCase.test_cpu_stats_ctx_switchesBs���
�,��
%�����?�?�7�+�#&�t�z�z�|�A��#7�L���
!�!5�6�6��	&��6�#�#�%�2�2�\�A�B�T�I�I�I�&�
%�rdN)rsrtrurCrSrUr�r�rZr�rrrrrr|r"rrNrN�sI���3��3�P�
�
�
�
�
�
�3�F�Jr"rN)$rvrH�osrmrzr;r8rrrr�psutil.testsrrr	r
rrr
r�_psplatform�cext�getpagesizer��getuidr{rDrrrxryr&r~r�rFrNr|r"r�<module>rls���+��	�	�
��
�����$�*�'��)��&�"���!�!�&�&�2�2�4�H��R�Y�Y�[�A�%�>�,�&�,�,�v�*>�N��H��N�� � ������G�J��/�MN�.�MN�0�MN�j������K���7�UL�N�UL�8�UL�p������K���7�i�N�i�8�i�b������K���7�#�n�#�8�#�������J�}��5�RJ�^�RJ�6�RJr"
Back to Directory File Manager