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

�

h0i�/���dZddlZddlZddlmZddlmZddlmZddlmZddlmZddlmZdd	lm	Z	dd
lm
Z
ddlmZddlm
Z
dd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZGd�de�ZGd�de�ZGd�de�ZGd�d e�ZGd!�d"e�Zy)#z�Contracts tests. These tests mainly check API sanity in terms of
returned types and APIs availability.
Some of these are duplicates of tests test_system.py and test_process.py.
�N)�AIX)�FREEBSD)�LINUX)�MACOS)�NETBSD)�OPENBSD)�POSIX)�SUNOS)�WINDOWS)�AARCH64)�GITHUB_ACTIONS)�HAS_CPU_FREQ)�HAS_NET_IO_COUNTERS)�HAS_SENSORS_FANS)�HAS_SENSORS_TEMPERATURES)�SKIP_SYSCONS)�PsutilTestCase)�create_sockets)�enum)�
is_namedtuple)�kernel_version)�pytestc�r�eZdZd�Zd�Zd�Zd�Zejje
xred��d��Zy)	�TestAvailConstantsAPIsc�V�ttd�txstxstk(sJ�y)N�PROCFS_PATH)�hasattr�psutilrr
r��selfs �L/opt/hc_python/lib64/python3.12/site-packages/psutil/tests/test_contracts.py�test_PROCFS_PATHz'TestAvailConstantsAPIs.test_PROCFS_PATH/s!���v�}�-�%�2G�5�2G�C�H�H�H�c�0�ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�y)N�ABOVE_NORMAL_PRIORITY_CLASS�BELOW_NORMAL_PRIORITY_CLASS�HIGH_PRIORITY_CLASS�IDLE_PRIORITY_CLASS�NORMAL_PRIORITY_CLASS�REALTIME_PRIORITY_CLASS�rrrrs r!�test_win_priorityz(TestAvailConstantsAPIs.test_win_priority2s����v�<�=��H�H�H��v�<�=��H�H�H��v�4�5��@�@�@��v�4�5��@�@�@��v�6�7�7�B�B�B��v�8�9�W�D�D�Dr#c���ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�y)N�IOPRIO_CLASS_NONE�IOPRIO_CLASS_RT�IOPRIO_CLASS_BE�IOPRIO_CLASS_IDLE�rrrrs r!�test_linux_ioprio_linuxz.TestAvailConstantsAPIs.test_linux_ioprio_linux:sZ���v�2�3�u�<�<�<��v�0�1�U�:�:�:��v�0�1�U�:�:�:��v�2�3�u�<�<�<r#c���ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�y)N�IOPRIO_HIGH�
IOPRIO_NORMAL�
IOPRIO_LOW�IOPRIO_VERYLOWr+rs r!�test_linux_ioprio_windowsz0TestAvailConstantsAPIs.test_linux_ioprio_windows@sW���v�}�-��8�8�8��v��/�7�:�:�:��v�|�,��7�7�7��v�/�0�G�;�;�;r#�%unsupported on GITHUB_ACTIONS + LINUX��reasonc��ttd�tk(stsJ�ttd�tk(stsJ�ttd�tk(stsJ�ttd�tk(stsJ�ttd�tk(stsJ�ttd�tk(stsJ�ttd�tk(stsJ�ttd�tk(stsJ�ttd	�tk(stsJ�ttd
�tk(stsJ�ttd�tk(stsJ�ttd�tk(sJ�tr�t�d
k\rttd�tk(sJ�t�dk\rttd�tk(sJ�t�dk\rttd�tk(sJ�t�dk\rttd�tk(sJ�t�d
k\rttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�ttd�tk(sJ�y)N�
RLIM_INFINITY�	RLIMIT_AS�RLIMIT_CORE�
RLIMIT_CPU�RLIMIT_DATA�RLIMIT_FSIZE�RLIMIT_MEMLOCK�
RLIMIT_NOFILE�RLIMIT_NPROC�
RLIMIT_RSS�RLIMIT_STACK�RLIMIT_LOCKS)����RLIMIT_MSGQUEUE)rJrK��RLIMIT_NICE�
RLIMIT_RTPRIO)rJrK��
RLIMIT_RTTIME�RLIMIT_SIGPENDING�RLIMIT_SWAP�
RLIMIT_SBSIZE�RLIMIT_NPTS)rrrrr	rrs r!�test_rlimitz"TestAvailConstantsAPIs.test_rlimitFs���
�v��/�5�8�G�C�C��v�{�+�u�4��?�?��v�}�-��6�'�A�A��v�|�,��5��@�@��v�}�-��6�'�A�A��v�~�.�%�7�7�B�B��v�/�0�E�9�W�D�D��v��/�5�8�G�C�C��v�~�.�%�7�7�B�B��v�|�,��5��@�@��v�~�.�%�7�7�B�B��v�~�.�%�7�7�7����9�,��v�'8�9�U�B�B�B���:�-��v�}�5��>�>�>���:�-��v��7�5�@�@�@���:�-��v��7�5�@�@�@���9�,��v�':�;�u�D�D�D��v�}�-��8�8�8��v��/�7�:�:�:��v�}�-��8�8�8r#N)
�__name__�
__module__�__qualname__r"r,r3r9r�mark�skipifr
rrW�r#r!rr.sK��I�E�=�<��[�[���� �5�6���9�	�9r#rc�x�eZdZd�Zd�Zejjexre	d��d��Z
d�Zd�Zd�Z
y	)
�TestAvailSystemAPIsc�6�ttd�tk(sJ�y)N�win_service_iterr+rs r!�test_win_service_iterz)TestAvailSystemAPIs.test_win_service_iterjs���v�1�2�g�=�=�=r#c�6�ttd�tk(sJ�y)N�win_service_getr+rs r!�test_win_service_getz(TestAvailSystemAPIs.test_win_service_getms���v�0�1�W�<�<�<r#�skipped due to #1892r;c�v�ttd�txstxstxst
xstk(sJ�y)N�cpu_freq)rrrrrrrrs r!�
test_cpu_freqz!TestAvailSystemAPIs.test_cpu_freqps2���v�z�*��;�U�;�g�;��;�G�
�	
�
r#c�F�ttd�txstk(sJ�y)N�sensors_temperatures)rrrrrs r!�test_sensors_temperaturesz-TestAvailSystemAPIs.test_sensors_temperaturesvs���v�5�6�5�;K�G�L�L�Lr#c�6�ttd�tk(sJ�y)N�sensors_fansr2rs r!�test_sensors_fansz%TestAvailSystemAPIs.test_sensors_fansys���v�~�.�%�7�7�7r#c�f�ttd�txstxstxst
k(sJ�y)N�sensors_battery)rrrrrrrs r!�test_batteryz TestAvailSystemAPIs.test_battery|s.���v�0�1��0�W�0��0�5�
�	
�
r#N)rXrYrZrbrerr[r\rrrirlrorrr]r#r!r_r_isK��>�=��[�[����)�'�2H��I�
�J�
�
M�8�
r#r_c��eZdZd�Zd�Zd�Zd�Zd�Zejjexred��d��Z
d	�Zd
�Zd�Zd�Zd
�Zd�Zy)�TestAvailProcessAPIsc��ttjd�txs6txs.t
xs&txstxstxstxstk(sJ�y)N�environ)rr�Processrrrrr
rrrrs r!�test_environz!TestAvailProcessAPIs.test_environ�sd���v�~�~�y�1��
��
��
��
��	
�
�
��

��	
�		
�	
r#c�J�ttjd�tk(sJ�y�N�uids�rrrwr	rs r!�	test_uidszTestAvailProcessAPIs.test_uids�����v�~�~�v�.�%�7�7�7r#c�J�ttjd�tk(sJ�yrzr|rs r!�	test_gidszTestAvailProcessAPIs.test_gids�r~r#c�J�ttjd�tk(sJ�y)N�terminalr|rs r!�
test_terminalz"TestAvailProcessAPIs.test_terminal�s���v�~�~�z�2�e�;�;�;r#c�Z�ttjd�txstk(sJ�y)N�ionice)rrrwrrrs r!�test_ionicez TestAvailProcessAPIs.test_ionice�s ���v�~�~�x�0�U�5E�g�F�F�Fr#r:r;c�Z�ttjd�txstk(sJ�y)N�rlimit)rrrwrrrs r!rWz TestAvailProcessAPIs.test_rlimit�s"��
�v�~�~�x�0�U�5E�g�F�F�Fr#c�`�ttjd�}|txstk(sJ�y)N�io_counters)rrrwrr
�r �hasits  r!�test_io_countersz%TestAvailProcessAPIs.test_io_counters�s'������
�6���e�n�u�-�.�.�.r#c�J�ttjd�tk(sJ�y)N�num_fdsr|rs r!�test_num_fdsz!TestAvailProcessAPIs.test_num_fds�s���v�~�~�y�1�U�:�:�:r#c�J�ttjd�tk(sJ�y)N�num_handles)rrrwrrs r!�test_num_handlesz%TestAvailProcessAPIs.test_num_handles�s���v�~�~�}�5��@�@�@r#c�j�ttjd�txstxst
k(sJ�y)N�cpu_affinity)rrrwrrrrs r!�test_cpu_affinityz&TestAvailProcessAPIs.test_cpu_affinity�s,���v�~�~�~�6��'�W�'��
�	
�
r#c�j�ttjd�txstxst
k(sJ�y)N�cpu_num)rrrwrrr
rs r!�test_cpu_numz!TestAvailProcessAPIs.test_cpu_num�s,���v�~�~�y�1��%�W�%��
�	
�
r#c��ttjd�}|txstxst
xstk(sJ�y)N�memory_maps)rrrwrrrrr�s  r!�test_memory_mapsz%TestAvailProcessAPIs.test_memory_maps�s2������
�6���g�?��?�3�?�%�@�A�A�Ar#N)rXrYrZrxr}r�r�r�rr[r\r
rrWr�r�r�r�r�r�r]r#r!rtrt�sq��

�8�8�<�G��[�[���� �5�6���G�	�G�/�;�A�
�

�
Br#rtc��eZdZdZed��Zedfd�Zd�Zd�Z	d�Z
d�Zejjexred	�
�ejjed�
�d���Zd
�Zd�Zejjed�
�d��Zd�Zd�Zejjed�
�d��Zejjed�
�d��Zejjed�
�d��Zd�Zd�Z y)�TestSystemAPITypeszhCheck the return types of system related APIs.
    https://github.com/giampaolo/psutil/issues/1039.
    c�6�tj�|_y�N)rrw�proc)�clss r!�
setUpClasszTestSystemAPITypes.setUpClass�s���>�>�#��r#Tc�\�t|�sJ�|D]}t||�sJ�|s�|dk\r�J�y�Nr)r�
isinstance)r �nt�type_�gezero�ns     r!�assert_ntuple_of_numsz(TestSystemAPITypes.assert_ntuple_of_nums�s8���R� � � ��A��a��'�'�'���A�v�
�v�r#c��|jtj��tjd��D]}|j|��y)NT)�percpu)r�r�	cpu_times)r r�s  r!�test_cpu_timesz!TestSystemAPITypes.test_cpu_times�s<���"�"�6�#3�#3�#5�6��"�"�$�/�B��&�&�r�*�0r#c��ttjd��t�sJ�ttjd��t�sJ�y)N��intervalg�h㈵��>)r�r�cpu_percent�floatrs r!�test_cpu_percentz#TestSystemAPITypes.test_cpu_percent�s8���&�,�,�d�;�U�C�C�C��&�,�,�g�>��F�F�Fr#c��|jtjd���|jtjd���y)Nr�g-C��6?)r�r�cpu_times_percentrs r!�test_cpu_times_percentz)TestSystemAPITypes.test_cpu_times_percent�s4���"�"�6�#;�#;�T�#J�K��"�"�6�#;�#;�V�#L�Mr#c�L�ttj�t�sJ�yr�)r�r�	cpu_count�intrs r!�test_cpu_countz!TestSystemAPITypes.test_cpu_count�s���&�*�*�,�c�2�2�2r#rfr;z
not supportedc��tj��tjd�S|j	tj�t
tf��y)Nzcpu_freq() returns None�r�)rrhr�skipr�r�r�rs r!riz TestSystemAPITypes.test_cpu_freq�s?���?�?��$��;�;�8�9�9��"�"�6�?�?�#4�U�C�L�"�Ir#c��tjd��j�D].\}}t|t�sJ�|j|t���0y)NT)�perdiskr�)r�disk_io_counters�itemsr��strr�r�)r �k�vs   r!�test_disk_io_countersz(TestSystemAPITypes.test_disk_io_counters�sH���+�+�D�9�?�?�A�D�A�q��a��%�%�%��&�&�q��&�4�Br#c��tj�D]r}t|jt�sJ�t|j
t�sJ�t|jt�sJ�t|jt�r�rJ�yr�)r�disk_partitionsr��devicer��
mountpoint�fstype�opts)r �disks  r!�test_disk_partitionsz'TestSystemAPITypes.test_disk_partitions�se���*�*�,�D��d�k�k�3�/�/�/��d�o�o�s�3�3�3��d�k�k�3�/�/�/��d�i�i��-�-�-�	-r#z
requires rootc���t�5tjd�}t|�tt	|��k(sJ�|D]}t|�r�J�	ddd�y#1swYyxYw)N�all)rr�net_connections�len�setr)r �ret�conns   r!�test_net_connectionsz'TestSystemAPITypes.test_net_connections�sV��
�
��(�(��/�C��s�8�s�3�s�8�}�,�,�,���$�T�*�*�*���
�
�s�AA!�A!�!A*c	��tj�j�D]�\}}t|t�sJ�|D]�}t|j
tj�sJ�t|jt�sJ�t|jttd�f�sJ�t|jttd�f�r��J���yr�)r�net_if_addrsr�r�r��familyr�IntEnum�address�netmask�type�	broadcast)r �ifname�addrs�addrs    r!�test_net_if_addrsz$TestSystemAPITypes.test_net_if_addrs�s���#�0�0�2�8�8�:�M�F�E��f�c�*�*�*���!�$�+�+�t�|�|�<�<�<�!�$�,�,��4�4�4�!�$�,�,��d�4�j�0A�B�B�B�!�$�.�.�3��T�
�2C�D�D�D�	�;r#c�p�tj�j�D]�\}}t|t�sJ�t|j
t�sJ�t|jtj�sJ�t|jt�sJ�t|jt�r��J�yr�)
r�net_if_statsr�r�r��isup�bool�duplexrr��speedr��mtu)r r��infos   r!�test_net_if_statsz$TestSystemAPITypes.test_net_if_statss���"�/�/�1�7�7�9�L�F�D��f�c�*�*�*��d�i�i��.�.�.��d�k�k�4�<�<�8�8�8��d�j�j�#�.�.�.��d�h�h��,�,�,�:r#c�^�tjd��D]}t|t�r�J�y)NT)�pernic)r�net_io_countersr�r�)r r�s  r!�test_net_io_countersz'TestSystemAPITypes.test_net_io_counterss)���,�,�D�9�F��f�c�*�*�*�:r#c
��tj�j�D]f\}}t|t�sJ�|D]J}t|j
t�sJ�t|jtttd�f�r�JJ��hyr�)
rrnr�r�r��label�currentr�r�r��r �name�units�units    r!roz$TestSystemAPITypes.test_sensors_fanssq��"�.�.�0�6�6�8�K�D�%��d�C�(�(�(���!�$�*�*�c�2�2�2�!�$�,�,���T�$�Z�0H�I�I�I��9r#c
���tj�j�D]�\}}t|t�sJ�|D]�}t|j
t�sJ�t|jtttd�f�sJ�t|jtttd�f�sJ�t|jtttd�f�r��J���yr�)rrkr�r�r�r�r�r�r�r��high�criticalr�s    r!rlz,TestSystemAPITypes.test_sensors_temperatures s���"�6�6�8�>�>�@�K�D�%��d�C�(�(�(���!�$�*�*�c�2�2�2�!�$�,�,���T�$�Z�0H�I�I�I�!�$�)�)�e�S�$�t�*�-E�F�F�F�!�$�-�-�%��d�4�j�1I�J�J�J�	�Ar#c�L�ttj�t�sJ�yr�)r�r�	boot_timer�rs r!�test_boot_timez!TestSystemAPITypes.test_boot_time+s���&�*�*�,�e�4�4�4r#c��tj�D]�}t|jt�sJ�t|j
tt
d�f�sJ�t|jtt
d�f�sJ�t|jtt
d�f�sJ�t|jt�s��|jdkDr��J�yr�)
r�usersr�r�r�r�r��host�pidr�)r �users  r!�
test_userszTestSystemAPITypes.test_users/s����L�L�N�D��d�i�i��-�-�-��d�m�m�c�4��:�->�?�?�?��d�i�i�#�t�D�z�):�;�;�;��d�h�h��d�4�j�(9�:�:�:��$�(�(�C�(��x�x�!�|�#�|�
#r#N)!rXrYrZ�__doc__�classmethodr�r�r�r�r�r�r�rr[r\rrrrir�r�rr�r�r�rr�rrorrlr�rr]r#r!r�r��s`����$��$�/4�D��+�
G�N�3��[�[����)�'�2H��I��[�[���L�(���A�J�B�J�J�
5�.��[�[����_��=�+�>�+�E�-��[�[���/�/���H�+�I�+�
�[�[���,�,�_��E�J�F�J��[�[���4�4�_��M�K�N�K�5�$r#r�c�T�eZdZejjed��d��Zy)�TestProcessWaitTypez	not POSIXr;c��tj|j�j�}|j	�|j�}|tjk(sJ�t|tj�sJ�yr�)rrw�
spawn_subprocr�	terminate�wait�signal�SIGTERMr�rr�)r �p�codes   r!�test_negative_signalz(TestProcessWaitType.test_negative_signal;s[���N�N�4�-�-�/�3�3�4��	���
��v�v�x�������&�&�&��$����-�-�-r#N)rXrYrZrr[r\r	rr]r#r!rr:s*���[�[���E�	�+��6�.�7�.r#r)rrrrrrrrrr	r
r�psutil.testsrr
rrrrrrrrrrrrr_rtr�rr]r#r!�<module>rs����
�
���������� �'�%�,�)�1�%�'�'��&�'��89�^�89�v
�.�
�26B�>�6B�|w$��w$�t.�.�.r#
Back to Directory File Manager