403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/psutil/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/psutil/tests/__pycache__/test_system.cpython-311.pyc
�

�bicT�����dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddl
mZddl
mZddl
mZddl
mZddl
mZddl
mZdd	l
mZdd
l
mZddl
mZddl
mZdd
lmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(ddlm)Z)ddlm*Z*ddlm+Z+ddlm,Z,dd lm-Z-dd!lm.Z.dd"lm/Z/dd#lm0Z0Gd$�d%e,��Z1Gd&�d'e,��Z2Gd(�d)e,��Z3Gd*�d+e,��Z4Gd,�d-e,��Z5Gd.�d/e,��Z6Gd0�d1e,��Z7e8d2krdd3l9m:Z:e:e;��dSdS)4zTests for system APIS.�N)�AIX)�BSD)�FREEBSD)�LINUX)�MACOS)�NETBSD)�OPENBSD)�POSIX)�SUNOS)�WINDOWS)�FileNotFoundError)�long)�ASCII_FS)�
CI_TESTING)�DEVNULL)�GITHUB_ACTIONS)�GLOBAL_TIMEOUT)�HAS_BATTERY)�HAS_CPU_FREQ)�HAS_GETLOADAVG)�HAS_NET_IO_COUNTERS)�HAS_SENSORS_BATTERY)�HAS_SENSORS_FANS)�HAS_SENSORS_TEMPERATURES)�IS_64BIT)�MACOS_12PLUS)�PYPY)�UNICODE_SUFFIX)�PsutilTestCase)�check_net_address)�enum)�mock)�retry_on_failurec��eZdZd�Zd�Zejeoed��d���Z	ejeoed��d���Z
d�Zd�ZdS)	�TestProcessAPIsc�h�|�tj��d�tj��D����|���}|�|jd�tj��D����tj|j��}|���|�	��|�
|jd�tj��D����tjdtj
tj�������5|�ttj����g��ddd��n#1swxYwYtjdtjtj�������5|�tj��5ttj����ddd��n#1swxYwYddd��dS#1swxYwYdS)Nc��g|]	}|j��
S���pid��.0�xs  �:/usr/lib/python3/dist-packages/psutil/tests/test_system.py�
<listcomp>z5TestProcessAPIs.test_process_iter.<locals>.<listcomp>Bs��#I�#I�#I�a�A�E�#I�#I�#I�c��g|]	}|j��
Sr(r)r+s  r.r/z5TestProcessAPIs.test_process_iter.<locals>.<listcomp>Ds��!G�!G�!G�A�!�%�!G�!G�!Gr0c��g|]	}|j��
Sr(r)r+s  r.r/z5TestProcessAPIs.test_process_iter.<locals>.<listcomp>Hs��$J�$J�$J�q�Q�U�$J�$J�$Jr0zpsutil.Process��side_effect)�assertIn�os�getpid�psutil�process_iter�spawn_testprocr*�Process�kill�wait�assertNotInr"�patch�
NoSuchProcess�assertEqual�list�AccessDenied�assertRaises��self�sproc�ps   r.�test_process_iterz!TestProcessAPIs.test_process_iterAs����
�
�b�i�k�k�#I�#I�6�3F�3H�3H�#I�#I�#I�J�J�J��#�#�%�%���
�
�e�i�!G�!G��1D�1F�1F�!G�!G�!G�H�H�H��N�5�9�%�%��	������	�����������$J�$J�F�4G�4I�4I�$J�$J�$J�K�K�K�
�Z�(�$*�$8�����$E�$E�G�G�G�	>�	>����T�&�"5�"7�"7�8�8�"�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>��Z�(�$*�$7��	���$D�$D�F�F�F�	,�	,��"�"�6�#6�7�7�
,�
,��V�(�*�*�+�+�+�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,����
,�
,�
,�
,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,sH�=5E>�>F�F� H'�"!H�H'�H	�H'�H	�H'�'H+�.H+c��tjdg���D]=}|�t|j�����dg���>|�t��5ttjdg�����ddd��n#1swxYwYtj	dtj
dd�����5}tjddg���D]C}|�|jd��|�|jdd���D|j
sJ�	ddd��n#1swxYwYtj	dtj
dd�����5}t��}tjddg|�	��D]D}|�|jd|��|�|jdd���E|j
sJ�	ddd��dS#1swxYwYdS)
Nr*)�attrs�fooz$psutil._psplatform.Process.cpu_timesr�r3�	cpu_times)rK�ad_value)r8r9rArB�info�keysrD�
ValueErrorr"r?rC�assertIsNone�assertGreaterEqual�called�object�assertIs)rFrH�m�flags    r.�test_prcess_iter_w_attrsz(TestProcessAPIs.test_prcess_iter_w_attrsRs����$�E�7�3�3�3�	;�	;�A����T�!�&�+�+�-�-�0�0�5�'�:�:�:�:�
�
�
�z�
*�
*�	5�	5���$�E�7�3�3�3�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�Z�>�$*�$7��2�$>�$>�@�@�@�	�CD��(��{�/C�D�D�D�
:�
:���!�!�!�&��"5�6�6�6��'�'���u�
�q�9�9�9�9��8�O�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��Z�>�$*�$7��2�$>�$>�@�@�@�	�CD��8�8�D��(� �+�.��?�?�?�
:�
:���
�
�a�f�[�1�4�8�8�8��'�'���u�
�q�9�9�9�9��8�O�O�O�O�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s8�/$B�B#�&B#�A%E�E	�E	�9A5G<�<H�Hz-spawn_testproc() unreliable on PYPY + WINDOWSc�����fd�}g�����}����}����}d�|||fD��}��ttj|d�����t
tj|d���t
j��}tj|d|���\}}��t
j��|z
d	����|g����t|��d
�����g��|D]%}	��
t|	d�����&td���fd
���}
|�
��|
||��\}}��|jd�|D����t r9��|���jt&j��n-��|���jd�����|jg��|D]%}	��
t|	d�����&td���fd���}
|�
��|�
��|
||��\}}��t+���t+|j|j|jg����|D]%}	��t|	d�����&dS)Nc�<����|j��dS�N)�appendr*)rH�pidss �r.�callbackz1TestProcessAPIs.test_wait_procs.<locals>.callbackis����K�K�������r0c�@�g|]}tj|j����Sr(�r8r;r*r+s  r.r/z3TestProcessAPIs.test_wait_procs.<locals>.<listcomp>p�$��I�I�I�1�����&�&�I�I�Ir0���)�timeout�)r`g{�G�z�?�rer`g�?��
returncode�c����tj|d|���\}}��t|��d����t|��d��||fS)N���Q��?rgrf��r8�
wait_procsrA�len��procsr`�gone�aliverFs    �r.�testz-TestProcessAPIs.test_wait_procs.<locals>.test}�g��� �+�E�4�5=�?�?�?�K�D�%����S��Y�Y��*�*�*����S��Z�Z��+�+�+���;�r0c��g|]	}|j��
Sr(r)r+s  r.r/z3TestProcessAPIs.test_wait_procs.<locals>.<listcomp>�s��"7�"7�"7�Q�1�5�"7�"7�"7r0c����tj|d|���\}}��t|��d����t|��d��||fS)Nrlrgrhrrnrqs    �r.ruz-TestProcessAPIs.test_wait_procs.<locals>.test�rvr0)r:rDrRr8ro�	TypeError�time�
assertLessrArp�assertFalse�hasattrr#�	terminater5r*r
�popri�signal�SIGTERM�set�
assertTrue)rFr`�sproc1�sproc2�sproc3rr�trsrtrHrur_s`          @r.�test_wait_procszTestProcessAPIs.test_wait_procsfsR����	�	�	�	�	����$�$�&�&���$�$�&�&���$�$�&�&��I�I����0H�I�I�I�����*�f�&7����K�K�K����)�V�%6����J�J�J��I�K�K���'��t�h�O�O�O���e�����	���a���-�-�-�����r�"�"�"�����U���Q�'�'�'�����r�"�"�"��	7�	7�A����W�Q��5�5�6�6�6�6�	�"�	�	�	�	�	�	�
�	�	�	�������d�5�(�+�+���e��
�
�f�j�"7�"7�$�"7�"7�"7�8�8�8��	7����T�X�X�Z�Z�2�V�^�O�D�D�D�D����T�X�X�Z�Z�2�A�6�6�6������
�|�,�,�,��	7�	7�A����W�Q��5�5�6�6�6�6�	�"�	�	�	�	�	�	�
�	�	�	�������������d�5�(�+�+���e�����T���C���V�Z���(L�$M�$M�N�N�N��	6�	6�A��O�O�G�A�|�4�4�5�5�5�5�	6�	6r0c��|���}|���}|���}d�|||fD��}|D]}|����tj|��\}}dS)Nc�@�g|]}tj|j����Sr(rbr+s  r.r/z>TestProcessAPIs.test_wait_procs_no_timeout.<locals>.<listcomp>�rcr0)r:r~r8ro)rFr�r�r�rrrHrsrts        r.�test_wait_procs_no_timeoutz*TestProcessAPIs.test_wait_procs_no_timeout�s����$�$�&�&���$�$�&�&���$�$�&�&��I�I����0H�I�I�I���	�	�A�
�K�K�M�M�M�M��'��.�.���e�e�er0c�$�|���}|�tj|j����tj|j��}|���|���|�tj|j����|�tjd����|�	tjd��dtj
��v��dS)Nrdr)r:r�r8�
pid_existsr*r;r<r=r|rAr_rEs   r.�test_pid_existszTestProcessAPIs.test_pid_exists�s����#�#�%�%������)�%�)�4�4�5�5�5��N�5�9�%�%��	������	����������*�5�9�5�5�6�6�6�����*�2�.�.�/�/�/�����*�1�-�-�q�F�K�M�M�/A�B�B�B�B�Br0c��tj��}|D]d}	tj|��sJ��#t$r>t	jd��|�|tj����Y�awxYwtt|��dzt|��dz��}|D]+}|�	tj|��|����,dS)Ng�������?i�ip��msg)
r8r_r��AssertionErrorrz�sleepr>�range�maxr|)rFr_r*s   r.�test_pid_exists_2z!TestProcessAPIs.test_pid_exists_2�s����{�}�}���	5�	5�C�
5��(��-�-�-�-�-�-��!�
5�
5�
5��
�2����� � ��f�k�m�m�4�4�4�4�4�	
5����
�S��Y�Y��%�s�4�y�y�4�'7�8�8���	>�	>�C����V�.�s�3�3���=�=�=�=�	>�	>s�0�AA8�7A8N)
�__name__�
__module__�__qualname__rIrZ�unittest�skipIfrrr�r�r�r�r(r0r.r%r%?s�������,�,�,�"���(�X�_�T�%�g�D�F�F�56�56�F�F�56�n�X�_�T�%�g�D�F�F�/�/�F�F�/�C�C�C�>�>�>�>�>r0r%c�t�eZdZd�Zejeoej��d��d���Z	d�Z
d�ZdS)�TestMiscAPIsc���tj��}|�|t��|�|d��|�|t
j����dS�Nr)r8�	boot_time�assertIsInstance�float�
assertGreaterr{rz)rF�bts  r.�test_boot_timezTestMiscAPIs.test_boot_time�s\��
�
�
�
�����b�%�(�(�(����2�q�!�!�!�����D�I�K�K�(�(�(�(�(r0�unreliable on CIc��tj��}|�|g��|D�]#}|js
J|���|�|jt
��|�|jt
td��f��|j�/|�|jt
td��f��|j|j|j	dks
J|���tj
�|j	��tstr|�|j����
tj|j����%dS)N�)r8�users�assertNotEqual�namer��str�terminal�type�host�started�datetime�
fromtimestamprr	rSr*r;)rFr��users   r.�
test_userszTestMiscAPIs.test_users�s7����������E�2�&�&�&��
	)�
	)�D��9�"�"�d�"�"�"��!�!�$�)�S�1�1�1��!�!�$�-�#�t�D�z�z�1B�C�C�C��y�$��%�%�d�i�#�t�D�z�z�1B�C�C�C��M�M��I�I��<�#�%�%�%�t�%�%�%���+�+�D�L�9�9�9��
)�'�
)��!�!�$�(�+�+�+�+���t�x�(�(�(�(�
	)�
	)r0c��tj}tt_	tj��|t_dS#|t_wxYwr])�sys�stdoutrr8ru)rFr�s  r.�	test_testzTestMiscAPIs.test_test�s>�������
�	 ��K�M�M�M��C�J�J�J���C�J����s�A�Ac�2�gd�}|D]2}|�tt|��t|����3tjdk�r�tjsJ�tjrJ�|�d��dtj
���vr%tjsJ�|�d���n�dtj
���vr�tj
sJ�|�tjtjtjg�d��d	��|�d
��|�d��|�d��|�d
��n�dtj
���vs dtj
���vr$tjsJ�|�d��nudtj
���vr#tjsJ�|�d��n1tjsJ�tjrJ�|�d��|D]-}|�tt|��d|����.dS)N)	r
rrrrr	rrrr��posixr
�linuxr�bsdTrfrrr	r�sunos�solarisr�darwinrrF)r��getattrr8�boolr6r�r
r�remover��platform�lowerrrrArr	r�countrrrW)rF�namesr�s   r.�test_os_constantszTestMiscAPIs.test_os_constants�sp��+�+�+���	I�	I�D��!�!�'�&�$�"7�"7��4�!�H�H�H�H�
�7�g����<�����~�%�%�%��L�L��!�!�!��#�,�,�,�.�.�.�.��|�#�#�#����W�%�%�%�%��#�,�,�,�.�.�.�.��z�!�!�!�� � �&�.�&�.�"(�-�"1�16��t���a�A�A�A����U�#�#�#����Y�'�'�'����Y�'�'�'����X�&�&�&�&��C�L�.�.�0�0�0�0����!3�!3�!5�!5�5�5��|�#�#�#����W�%�%�%�%��S�\�/�/�1�1�1�1��|�#�#�#����W�%�%�%���>�!�!�!��|�#�#�#��L�L��#�#�#��	B�	B�D��M�M�'�&�$�/�/��D�M�A�A�A�A�	B�	Br0N)r�r�r�r�r�r�rr8r�r�r�r�r(r0r.r�r��s�������)�)�)��X�_�Z�6������$6�8J�K�K�)�)�L�K�)�$ � � �#B�#B�#B�#B�#Br0r�c��eZdZd�Zd�ZdS)�TestMemoryAPIsc�D�tj��}|jdks
J|���|jdks
J|���d|jcxkrdksnJ|���|jdks
J|���|jdks
J|���|jD]�}t||��}|dkr"|�	|ttf��|dkrR|dks|�|�d|�d����||jkr&|�|�d|j�d|�d	|�d������dS)
Nr�d�percent�totalz < 0 (�)z > total (total=z, �=)
r8�virtual_memoryr��	availabler��used�free�_fieldsr�r��intr�fail)rF�memr��values    r.�test_virtual_memoryz"TestMemoryAPIs.test_virtual_memoryse���#�%�%���y�1�}�}�}�c�}�}�}��}�q� � � �#� � � ��C�K�&�&�&�&�3�&�&�&�&�&��&�&�&��x�!�|�|�|�S�|�|�|��x�1�}�}�}�c�}�}�}��K�		F�		F�D��C��&�&�E��y� � ��%�%�e�c�4�[�9�9�9��w�����z�z��)�)�T�T�T�5�5�5�$A�B�B�B��3�9�$�$��)�)�'+�t�t�S�Y�Y�Y����e�e�e�%E�F�F�F��		F�		Fr0c��tj��}|�|jd��|jdks
J|���|jdks
J|���|jdkr|jdks
J|���n|jdks
J|���d|jcxkrdksnJ|���|jdks
J|���|j	dks
J|���dS)N)r�r�r�r��sin�soutrr�)
r8�swap_memoryrAr�r�r�r�r�r�r�)rFr�s  r.�test_swap_memoryzTestMemoryAPIs.test_swap_memory!s���� �"�"������K�L�	N�	N�	N��y�A�~�~�~�s�~�~�~��x�1�}�}�}�c�}�}�}��9�q�=�=��8�a�<�<�<��<�<�<�<��8�q�=�=�=�#�=�=�=��C�K�&�&�&�&�3�&�&�&�&�&��&�&�&��w�!�|�|�|�S�|�|�|��x�1�}�}�}�c�}�}�}�}�}r0N)r�r�r�r�r�r(r0r.r�r�
s5������F�F�F�$"�"�"�"�"r0r�c�(�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zejeoej��dkd��ejed��d�����Zejed��d���ZdS)�TestCpuAPIsc���tj��}|�|��|�|t	tjd�������|�|d��tj�	d��rStd��5}|���}ddd��n#1swxYwYd|vrtj
d���dSdS)NT��percpurfz
/proc/cpuinfozphysical idz#cpuinfo doesn't include physical id)r8�	cpu_count�assertIsNotNonerArprNrTr6�path�exists�open�readr��SkipTest)rF�logical�fd�cpuinfo_datas    r.�test_cpu_count_logicalz"TestCpuAPIs.test_cpu_count_logical4s���"�$�$�����W�%�%�%�����#�f�&6�d�&C�&C�&C�"D�"D�E�E�E������+�+�+�
�7�>�>�/�*�*�	O��o�&�&�
)�"�!�w�w�y�y��
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)��L�0�0��'�(M�N�N�N�		O�	O�1�0s�#C�C�Cc�V�tj��}tjd���}|�|�d���tr6t	j��dd�dkr|�|��dS|�|d��|�||��dS)NF�r�zcpu_count_cores() is Nonerm)�rfrf)r8r��skipTestrr��getwindowsversionrSrT)rFr��coress   r.�test_cpu_count_coresz TestCpuAPIs.test_cpu_count_cores@s����"�$�$��� ��/�/�/���=��-�-� ;�<�<�<��	4�s�,�.�.�r��r�2�f�<�<����e�$�$�$�$�$��#�#�E�1�-�-�-��#�#�G�U�3�3�3�3�3r0c��dD]�}tjd|���5}|�tj����|jsJ�	ddd��n#1swxYwYtjd|���5}|�tjd�����|jsJ�	ddd��n#1swxYwY��dS)N)rdrNz$psutil._psplatform.cpu_count_logical��return_valuez"psutil._psplatform.cpu_count_coresFr�)r"r?rSr8r�rU)rF�valrXs   r.�test_cpu_count_nonezTestCpuAPIs.test_cpu_count_noneKsW�� �	 �	 �C���B�),�.�.�.�
 �12��!�!�&�"2�"4�"4�5�5�5��x�����
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 ���@�),�.�.�.�
 �12��!�!�&�"2�5�"A�"A�"A�B�B�B��x�����
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 ��	 �	 s#�0A�A	�A	�92B8�8B<	�?B<	c�(�d}tj��}t|��|D]8}|�|t��|�|d��||z
}�9|�|t|����t|��dS)Nrr�)r8rN�sumr�r�rTrAr�)rFr��times�cp_times    r.�test_cpu_timeszTestCpuAPIs.test_cpu_timesWs������ �"�"���E�
�
�
��	�	�G��!�!�'�5�1�1�1��#�#�G�S�1�1�1��W��E�E������E�
�
�+�+�+��E�
�
�
�
�
r0c�N�ttj����}tj��tz}tj��|kr?ttj����}||krdStj��|k�?|�d���)Nztime remained the same)r�r8rNrzrr�)rF�t1�stop_at�t2s    r.�test_cpu_times_time_increasesz)TestCpuAPIs.test_cpu_times_time_increasests���
��!�#�#�
$�
$���)�+�+��.���i�k�k�G�#�#��V�%�'�'�(�(�B��B�w�w����i�k�k�G�#�#��i�i�0�1�1�1r0c���tjd���D]�}d}t|��|D]8}|�|t��|�|d��||z
}�9|�|t|����t|����|�ttjd���d��ttjd�������dS)NTr�rr�F)	r8rNr�r�r�rTrAr�rp)rFr�r�r�s    r.�test_per_cpu_timeszTestCpuAPIs.test_per_cpu_times~s����%�T�2�2�2�	�	�E��E���J�J�J� �
!�
!���%�%�g�u�5�5�5��'�'���5�5�5��� ������U�C��J�J�/�/�/���J�J�J�J�����V�-�T�:�:�:�1�=�>�>��V�-�U�;�;�;�<�<�	>�	>�	>�	>�	>r0c��tjd���}tj��tz}	tj��|kr|�d��Stjd���}t||��D];\}}tj|��tj|��}}||z
}|dkrdS�<��)NTr�reg�������?)r8rNrzrr��zip�_cpu_busy_time)rF�tot1�	giveup_at�tot2rr�
differences       r.�test_per_cpu_times_2z TestCpuAPIs.test_per_cpu_times_2�s�����t�,�,�,���I�K�K�.�0�	�	��y�{�{�i�'�'��y�y��+�+�+��#�4�0�0�0�D��d�D�/�/�
�
���B��.�r�2�2�F�4I�"�4M�4M�B���"�W�
���%�%��F�F�&�	r0c��tj��}tjd���}|�d�t|�D����}|jD]6}|�t
||��t
||��d����7dS)NTr�c�,�g|]}t|����Sr()r�)r,�nums  r.r/z9TestCpuAPIs.test_cpu_times_comparison.<locals>.<listcomp>�s��#F�#F�#F��C��H�H�#F�#F�#Fr0rf��delta)r8rN�_makerr��assertAlmostEqualr�)rF�base�per_cpu�
summed_values�fields     r.�test_cpu_times_comparisonz%TestCpuAPIs.test_cpu_times_comparison�s�����!�!���"�$�/�/�/���
�
�#F�#F��W�
�#F�#F�#F�G�G�
��\�	N�	N�E��"�"���e�$�$�g�m�U�&C�&C�1�
#�
N�
N�
N�
N�	N�	Nr0c��	|�|t��|�|d��|�|d��|�|dtj��z��dS#t$rA}td|�dtj	|���dtj	|�������d}~wwxYw)Nr�g�gY@�
z
last=z
new=)
r�r�rT�assertIsNot�assertLessEqualr8r�r��pprint�pformat)rFr��last_ret�new_ret�errs     r.�_test_cpu_percentzTestCpuAPIs._test_cpu_percent�s���	I��!�!�'�5�1�1�1��#�#�G�S�1�1�1����W�d�+�+�+�� � ��%�&�2B�2D�2D�*D�E�E�E�E�E���	I�	I�	I� �.����V�^�H�-�-�-�-�v�~�g�/F�/F�/F�"H�I�I�
I�����	I���s�A1A5�5
C�?<B;�;Cc�@�tjd���}td��D]0}tjd���}|�|||��|}�1|�t
��5tjd���ddd��dS#1swxYwYdS�N���MbP?)�intervalr�rd)r8�cpu_percentr�r$rDrR)rF�lastr-�news    r.�test_cpu_percentzTestCpuAPIs.test_cpu_percent�s����!�5�1�1�1���s���	�	�A��$�d�3�3�3�C��"�"�3��c�2�2�2��D�D�
�
�
�z�
*�
*�	,�	,����+�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�0B�B�Bc��tjdd���}|�t|��tj����td��D]6}tjdd���}|D]}|�|||���|}�7|�t��5tjdd���ddd��dS#1swxYwYdS)Nr'T�r(r�r�rd)	r8r)rArpr�r�r$rDrR�rFr*r-r+r�s     r.�test_per_cpu_percentz TestCpuAPIs.test_per_cpu_percent�s%���!�5��>�>�>������T���F�$4�$6�$6�7�7�7��s���	�	�A��$�d�4�@�@�@�C��
;�
;���&�&�w��c�:�:�:�:��D�D�
�
�
�z�
*�
*�	9�	9����4�8�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s�+C�C�Cc��tjd���}td��D]Y}tjd���}|D]}|�|||���|�t	|��||��|}�Z|�t��5tjd���ddd��dS#1swxYwYdSr&)r8�cpu_times_percentr�r$r�rDrRr/s     r.�test_cpu_times_percentz"TestCpuAPIs.test_cpu_times_percent�s���'��7�7�7���s���	�	�A��*�D�9�9�9�C��
;�
;���&�&�w��c�:�:�:�:��"�"�3�s�8�8�T�3�7�7�7��D�D�
�
�
�z�
*�
*�	2�	2��$�b�1�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s�B<�<C�Cc�x�tjdd���}|�t|��tj����td��D]_}tjdd���}|D]B}|D]}|�|||���|�t|��||���C|}�`dS)Nr'Tr.r�)r8r2rArpr�r�r$r�)rFr*r-r+�cpur�s      r.�test_per_cpu_times_percentz&TestCpuAPIs.test_per_cpu_times_percent�s����'��t�D�D�D������T���F�$4�$6�$6�7�7�7��s���	�	�A��*�D��F�F�F�C��
<�
<��"�?�?�G��*�*�7�D�#�>�>�>�>��&�&�s�3�x�x��s�;�;�;�;��D�D�
	�	r0c�6�tjd���d�tjd���D��}tjd|���5tjd���D]}|D]}|�|dd����	ddd��dS#1swxYwYdS)NTr�c
��g|]@}|�d�tt|j����D������AS)c��g|]}d��S)rr(r+s  r.r/zNTestCpuAPIs.test_per_cpu_times_percent_negative.<locals>.<listcomp>.<listcomp>�s��@�@�@�Q�q�@�@�@r0)rr�rpr�r+s  r.r/zCTestCpuAPIs.test_per_cpu_times_percent_negative.<locals>.<listcomp>�sS��>�>�>���g�g�@�@�%��A�I���*?�*?�@�@�@�A�A�>�>�>r0zpsutil.cpu_timesr�)r8r2rNr"r?r$)rF�
zero_timesr5r�s    r.�#test_per_cpu_times_percent_negativez/TestCpuAPIs.test_per_cpu_times_percent_negative�s'��� ��-�-�-�-�>�>�%�/�t�<�<�<�>�>�>�
�
�Z�*��
D�
D�
D�	@�	@��/�t�<�<�<�
@�
@��"�@�@�G��*�*�7�D�$�?�?�?�?�@�
@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@s�5B�B�Bc��tj��}|�|jd��|jD]I}t	||��}|�|d��ts|dvr|�|d���JdS)N)�ctx_switches�
interrupts�soft_interrupts�syscallsr)r=r>)r8�	cpu_statsrAr�r�rTrr�)rF�infosr�r�s    r.�test_cpu_statszTestCpuAPIs.test_cpu_stats�s���� �"�"������M�I�	K�	K�	K��M�	-�	-�D��E�4�(�(�E��#�#�E�1�-�-�-��
-�4�#A�A�A��"�"�5�!�,�,�,��	-�	-r0�arm64zskipped due to #1892�
not supportedc�H���fd�}tjd���}tr|s��d���|s
J|���|tjd���g��tr6��t
|��tj����dSdS)Nc�N��|D]�}��|jd��|jdkr ��|j|j��|jD]P}t||��}��|tttf����
|d���Q��dS)N)�current�minr�r�r)rAr�r�rrHr�r�r�rr�rT)�ls�ntr�r�rFs    �r.�check_lsz+TestCpuAPIs.test_cpu_freq.<locals>.check_lss�����
6�
6��� � ���-F�G�G�G��6�S�=�=��(�(���R�V�<�<�<��J�6�6�D�#�B��-�-�E��)�)�%�#�t�U�1C�D�D�D��+�+�E�1�5�5�5�5�6�	
6�
6r0Tr�zreturns empty list on FreeBSDF)r8�cpu_freqrr�rrArpr�)rFrLrJs`  r.�
test_cpu_freqzTestCpuAPIs.test_cpu_freqs����	6�	6�	6�	6�	6��_�D�
)�
)�
)���	A�2�	A��-�-� ?�@�@�@��
�
�2�
�
�
���&�/��/�/�/�0�1�1�1��	:����S��W�W�f�&6�&8�&8�9�9�9�9�9�	:�	:r0c���tj��}|�t|��d��|D]3}|�|t
��|�|d���4dS)Nrhr�)r8�
getloadavgrArpr�r�rT)rF�loadavg�loads   r.�test_getloadavgzTestCpuAPIs.test_getloadavgst���#�%�%������W���q�)�)�)��	/�	/�D��!�!�$��.�.�.��#�#�D�#�.�.�.�.�	/�	/r0N)r�r�r�r�r�r�r�rrrrr$r,r0r3r6r;rCr�r�rr��machinerrNrrSr(r0r.r�r�2s�������
O�
O�
O�	4�	4�	4�
 �
 �
 �
�
�
�:2�2�2�>�>�>�B
�
�
�N�N�N�I�I�I�,�,�,�	9�	9�	9�	2�	2�	2�	�	�	�@�@�@�-�-�-��X�_�U�<�/�x�/�1�1�W�<�+�-�-��X�_��%��7�7�:�:�8�7�-�-�:�*�X�_��'��9�9�/�/�:�9�/�/�/r0r�c�H�eZdZejeoed��d���Zejed��d���Z	d�Z
d�Zejeoe
j�d��d��ejeoej��d	��d
�����Zd�ZdS)
�TestDiskAPIszunreliable on PYPY32 + 32BITc��tjtj����}|�|jd��|jdks
J|���|jdks
J|���|jdks
J|���|j|jks
J|���|j|jks
J|���d|j	cxkrdksnJ|j	���ttd��r�tjtj����}d}|�|j|j��|�|j|j|���ts"|�|j|j|���|���}|�t ��5tj|��ddd��dS#1swxYwYdS)N)r�r�r�r�rr��
disk_usageiPr)r8rXr6�getcwdrAr�r�r�r�r�r}�shutilrr�
get_testfnrDr
)rF�usage�shutil_usage�	tolerance�fnames     r.�test_disk_usagezTestDiskAPIs.test_disk_usage's���!�"�)�+�+�.�.�������(L�M�M�M��{�Q���������z�A�~�~�~�u�~�~�~��z�A�~�~�~�u�~�~�~��{�U�Z�'�'�'��'�'�'��{�U�Z�'�'�'��'�'�'��E�M�(�(�(�(�S�(�(�(�(�(�%�-�(�(�(��6�<�(�(�
	8�!�,�R�Y�[�[�9�9�L�'�I����U�[�,�*<�=�=�=��"�"�5�:�|�/@�)2�
#�
4�
4�
4��
8��&�&�u�z�<�3D�-6�'�8�8�8�
���!�!��
�
�
�0�
1�
1�	%�	%���e�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s�,G�G�Gznot an ASCII fsc��|�t��5tjt��ddd��dS#1swxYwYdSr])rD�UnicodeEncodeErrorr8rXr�rFs r.�test_disk_usage_unicodez$TestDiskAPIs.test_disk_usage_unicodeDs����
�
�1�
2�
2�	.�	.���n�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�A�A�	Ac�.�tjd��dS)N�.)r8rXrcs r.�test_disk_usage_bytesz"TestDiskAPIs.test_disk_usage_bytesJs����$�����r0c�>���fd�}tjd���}��||���|D]�}||��tr
d|jvr�t
s/tj�|j	��s
J|���n|j	tj�|j
��s
J|���|js
J|�����tjd���}��||���tjd���D]�}||��ts�|j
r�	t
j|j
��tj�|j
��s
J|����d#t$rR}tr!tr|jt jkrYd}~��|jt jt jfvr�Yd}~��d}~wwxYw��d�}|t(��}d�tjd���D��}��||��dS)	Nc�^����|jt����|jt����|jt����|jt����|jttd��f����|j	ttd��f��|j�"ts��|jd��|j	���|j	d��dSdSr�)r��devicer��
mountpoint�fstype�opts�maxfiler�r��maxpathrr��rKrFs �r.�check_ntuplez7TestDiskAPIs.test_disk_partitions.<locals>.check_ntupleNs�����!�!�"�)�S�1�1�1��!�!�"�-��5�5�5��!�!�"�)�S�1�1�1��!�!�"�'�3�/�/�/��!�!�"�*�s�D��J�J�.?�@�@�@��!�!�"�*�s�D��J�J�.?�@�@�@��z�%�n�%��"�"�2�:�q�1�1�1��z�%��"�"�2�:�q�1�1�1�1�1�&�%r0F)�allr��cdromTc�"�tj�|��}tj�|��s>tj�|��}tj�|���>|���Sr])r6r��abspath�ismount�dirnamer�)r�s r.�find_mount_pointz;TestDiskAPIs.test_disk_partitions.<locals>.find_mount_pointsd���7�?�?�4�(�(�D��g�o�o�d�+�+�
-��w���t�,�,���g�o�o�d�+�+�
-��:�:�<�<�r0c�N�g|]"}|j�	|j�����#Sr()rkr�r+s  r.r/z5TestDiskAPIs.test_disk_partitions.<locals>.<listcomp>�sC��D�D�D�1�67�l�D�!�,�$�$�&�&�D�D�Dr0)r8�disk_partitionsr�rrmr
r6r�r�rjrkrl�stat�OSErrorrr�errno�EIO�EPERM�EACCES�__file__r5)rFrqrJ�diskr#rx�mount�mountss`       r.�test_disk_partitionsz!TestDiskAPIs.test_disk_partitionsMs����
	2�
	2�
	2�
	2�
	2��
#��
.�
.�
.��������#�#�#��	%�	%�D��L������
�7�d�i�/�/���
��w�~�~�d�k�2�2�8�8�D�8�8�8�8�����7�>�>�$�/�2�2�8�8�D�8�8�8��;�$�$��$�$�$�$��
#��
-�
-�
-��������#�#�#��*�t�4�4�4�
	A�
	A�D��L������
A�t��
A�
A��G�D�O�,�,�,��7�>�>�$�/�:�:�@�@�D�@�@�@�@������%�!�%�!�C�I���4J�4J� ������y���e�l�(C�C�C��D�C�C�C�C����������	 �	 �	 �!� ��*�*��D�D��(�T�2�2�2�D�D�D���
�
�e�V�$�$�$�$�$s�-E5�5
G�?#G�' G�Gz/proc/diskstatsz3/proc/diskstats not available on this linux versionr�c�R���fd�}tjd���}|�
Jd���||��tjd���}��t|��tt	|������|D]}|s
J|���|||��� dS)Nc�&����|d|j����|d|j����|d|j����|d|j��t
s�tsՉ�|d|j����|d|j��trd��|d|j
����|d|j����|d	|j��n(tr!��|d|j��|jD] }t||��dks
J|����!dS)
Nrrfrmrh��r���)rA�
read_count�write_count�
read_bytes�write_bytesr	r�	read_time�
write_timer�read_merged_count�write_merged_count�	busy_timerr�r�)rKr�rFs  �r.rqz8TestDiskAPIs.test_disk_io_counters.<locals>.check_ntuple�s�������R��U�B�M�2�2�2����R��U�B�N�3�3�3����R��U�B�M�2�2�2����R��U�B�N�3�3�3��
:�v�
:�� � ��A����5�5�5�� � ��A���
�6�6�6��:��$�$�R��U�B�,@�A�A�A��$�$�R��U�B�,A�B�B�B��$�$�R��U�B�L�9�9�9�9��:��$�$�R��U�B�L�9�9�9��
�
2�
2���r�4�(�(�A�-�-�-�r�-�-�-�-�
2�
2r0F��perdiskzno disks on this system?T)r8�disk_io_countersrArpr��rFrq�ret�keys`   r.�test_disk_io_countersz"TestDiskAPIs.test_disk_io_counters�s����
	2�	2�	2�	2�	2�"�%�e�4�4�4����� :������S�����%�d�3�3�3������S���3�s�3�x�x�=�=�1�1�1��	#�	#�C��O�O��O�O�O��L��S��"�"�"�"�	#�	#r0c��tjdi���5}|�tjd�����|�tjd���i��|jsJ�	ddd��dS#1swxYwYdS)Nz#psutil._psplatform.disk_io_countersr�Fr�T)r"r?rSr8r�rArU�rFrXs  r.�test_disk_io_counters_no_disksz+TestDiskAPIs.test_disk_io_counters_no_disks�s����Z�=�%'�)�)�)�	�,-����f�5�e�D�D�D�E�E�E����V�4�T�B�B�B�B�G�G�G��8�O�O�O�O�		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��AB�B�BN)r�r�r�r�r�rrr`rrdrgr�rr6r�r�rr8r�r�r�r(r0r.rVrV%s �������X�_�T�*�(�l�,J�K�K�%�%�L�K�%�8�X�_��\�#4�5�5�.�.�6�5�.�
 � � �;%�;%�;%�z�X�_�U�D�2�7�>�>�2C�#D�#D�D�J�L�L��X�_�Z�A�(?��(?�(A�(A�$A�'�)�)�#�#�)�)�L�L�#�8����r0rVc���eZdZejed��d���Zejed��d���Zd�Zd�Z	d�Z
ejepepe
d��d���Zd	S)
�TestNetAPIsrEc�4���fd�}tjd���}||��tjd���}��|g��|D]C}��|����|t
��|||���DdS)Nc�h����|d|j����|d|j����|d|j����|d|j����|d|j����|d|j����|d|j����|d|j��|jdks
J|���|jdks
J|���|jdks
J|���|jdks
J|���|jdks
J|���|jdks
J|���|jdks
J|���|jdks
J|���dS)	Nrrfrmrhr�r�r�r�)	rA�
bytes_sent�
bytes_recv�packets_sent�packets_recv�errin�errout�dropin�dropoutrps �r.rqz6TestNetAPIs.test_net_io_counters.<locals>.check_ntuple�s�������R��U�B�M�2�2�2����R��U�B�M�2�2�2����R��U�B�O�4�4�4����R��U�B�O�4�4�4����R��U�B�H�-�-�-����R��U�B�I�.�.�.����R��U�B�I�.�.�.����R��U�B�J�/�/�/��=�A�%�%�%�r�%�%�%��=�A�%�%�%�r�%�%�%��?�a�'�'�'��'�'�'��?�a�'�'�'��'�'�'��8�q�=�=�=�"�=�=�=��9��>�>�>�2�>�>�>��9��>�>�>�2�>�>�>��:��?�?�?�B�?�?�?�?�?r0F��pernicT)r8�net_io_countersr�r�r�r�r�s`   r.�test_net_io_countersz TestNetAPIs.test_net_io_counters�s����	'�	'�	'�	'�	'�$�$�E�2�2�2����S�����$�D�1�1�1�����C��$�$�$��	#�	#�C��O�O�C� � � ��!�!�#�s�+�+�+��L��S��"�"�"�"�	#�	#r0c��tjdi���5}|�tjd�����|�tjd���i��|jsJ�	ddd��dS#1swxYwYdS)Nz"psutil._psplatform.net_io_countersr�Fr�T)r"r?rSr8r�rArUr�s  r.�test_net_io_counters_no_nicsz(TestNetAPIs.test_net_io_counters_no_nics�s����Z�<�%'�)�)�)�	�,-����f�4�E�B�B�B�C�C�C����V�3�4�@�@�@�"�E�E�E��8�O�O�O�O�		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c
��tj��}|s
J|���tj��}ttjtjtjg��}|���D�]"\}}|�	|t��|�tt|����t|����|D�]�}|�	|j
t��|�	|jt��|�	|jtt#d��f��|�	|jtt#d��f��|�|j
|��t(jdkr,t,s%|�	|j
t.j��||j�r-|j
tjkrbt	j|j
��}t5j|��5|�|jdf��ddd��n#1swxYwYn�|j
tjkr�t	j|jdtjtjdtj��d}|\}	}
}}}
t	j|	|
|��}t5j|��5|�|
��ddd��n#1swxYwY|j|j|j|j fD].}|�*|j
tjkrtC||j
���/|jr|�"|j �����|j r|�"|j�����$tFstHstJrCtMtd��r,|�tjtj��dSdStNr,|�tjtj(��dStRr"|�tjd��dSdS)N)rhr�r�AF_LINKrd)*r8�net_if_addrs�net_if_statsr��socket�AF_INET�AF_INET6r��itemsr�r�rArp�familyr��address�netmaskr��	broadcastr5r��version_inforr!�IntEnum�isup�
contextlib�closing�bind�getaddrinfo�SOCK_STREAM�
AI_PASSIVE�ptpr rSrrrr}r�	AF_PACKETr)rF�nics�	nic_stats�families�nic�addrs�addr�srP�af�socktype�proto�	canonname�sa�ips               r.�test_net_if_addrszTestNetAPIs.test_net_if_addrs�sF���"�$�$�����T�����'�)�)�	��������H�I�I���*�*�,�,�&	6�&	6�J�C���!�!�#�s�+�+�+����S��U���_�_�c�%�j�j�9�9�9��#
6�#
6���%�%�d�k�3�7�7�7��%�%�d�l�C�8�8�8��%�%�d�l�S�$�t�*�*�4E�F�F�F��%�%�d�n�s�D��J�J�6G�H�H�H��
�
�d�k�8�4�4�4��#�v�-�-�d�-��)�)�$�+�t�|�D�D�D��S�>�&�'��{�f�n�4�4�"�M�$�+�6�6��'�/��2�2�6�6��F�F�D�L�!�#4�5�5�5�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6������7�7�%�1� �L�!�V�_�"�.��6�3D� F� F�FG� I��>B�:��H�e�Y��"�M�"�h��>�>��'�/��2�2�'�'��F�F�2�J�J�J�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'��<���t�~��8�%�?�?�B��~� �;�&�/�9�9�-�b�$�+�>�>�>���>�6��%�%�d�h�/�/�/�/��X�6��%�%�d�n�5�5�5��G#
6�J�	1�%�	1�5�	1��v�y�)�)�
A�� � �����@�@�@�@�@�
A�
A�
�	1����V�^�V�-=�>�>�>�>�>�
�	1����V�^�R�0�0�0�0�0�	1�	1s$�I�I�I�K?�?L�Lc�l�trdtjddddfg}ndg}tjd|���5}tj��dd}|jsJ�tr|�|jd��n|�|jd��ddd��dS#1swxYwYdS)	N�em1z06:3d:29)r�rdz06-3d-29NNNzpsutil._psplatform.net_if_addrsr�rz06:3d:29:00:00:00z06-3d-29-00-00-00)	r
r8r�r"r?r�rUrAr�)rFr�rXr�s    r.� test_net_if_addrs_mac_null_bytesz,TestNetAPIs.test_net_if_addrs_mac_null_bytess ���	>��6�>�:�t�T�4�H�I�C�C�<�=�C�
�Z�9�%(�*�*�*�	D�-.��&�(�(��/��2�D��8�O�O�O��
D�� � ���/B�C�C�C�C�� � ���/B�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	D�	Ds�A'B)�)B-�0B-c� �tj��}|s
J|���tjtjtjf}|���D]�\}}|�|t��|\}}}}}	|�|t��|�	||��|�	||��|�
|d��|�
|d��|�|	t����dSr�)r8r��NIC_DUPLEX_FULL�NIC_DUPLEX_HALF�NIC_DUPLEX_UNKNOWNr�r�r�r�r5rT)
rFr��all_duplexesr��statsr��duplex�speed�mtu�flagss
          r.�test_net_if_statszTestNetAPIs.test_net_if_stats*s
���"�$�$�����T�����.��.��1�3�� �:�:�<�<�	.�	.�K�D�%��!�!�$��,�,�,�.3�+�D�&�%��e��!�!�$��-�-�-��M�M�&�,�/�/�/��M�M�&�,�/�/�/��#�#�E�1�-�-�-��#�#�C��+�+�+��!�!�%��-�-�-�-�	.�	.r0zLINUX or BSD or MACOS specificc��tjdttjd�����5}tj��}|�|i��|jsJ�	ddd��dS#1swxYwYdS)Nzpsutil._psutil_posix.net_if_mturMr3)	r"r?r|r}�ENODEVr8r�rArU)rFrXr�s   r.�test_net_if_stats_enodevz$TestNetAPIs.test_net_if_stats_enodev:s����Z�9�$+�E�L�"�$=�$=�?�?�?�	�BC��%�'�'�C����S�"�%�%�%��8�O�O�O�O�		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�3A0�0A4�7A4N)r�r�r�r�r�rr�r�r�r�r�rrrr�r(r0r.r�r��s��������X�_�,�,�o�>�>�#�#�?�>�#�8�X�_�,�,�o�>�>���?�>��:1�:1�:1�xD�D�D�".�.�.� �X�_�%�/�3�/�%�0�5�7�7���7�7���r0r�c��eZdZejed��d���Zejed��d���Zejed��eje	d��d�����Z
ejed��d���ZdS)�TestSensorsAPIsrEc��tj��}|���D]�\}}|�|t��|D]�}|�|jt��|j�|�|jd��|j�|�|jd��|j	�|�|j	d������dSr�)
r8�sensors_temperaturesr�r�r��labelrHrT�high�critical)rF�tempsr��entries�entrys     r.�test_sensors_temperaturesz)TestSensorsAPIs.test_sensors_temperaturesGs����+�-�-��"�[�[�]�]�		?�		?�M�D�'��!�!�$��,�,�,� �
?�
?���%�%�e�k�3�7�7�7��=�,��+�+�E�M�1�=�=�=��:�)��+�+�E�J��:�:�:��>�-��+�+�E�N�A�>�>�>��
?�		?�		?r0c�d�ddgi}tjd|���5}tjd���dd}|jsJ�|�|jd��|�|jd	��|�|jd
��ddd��dS#1swxYwYdS)N�coretemp)r�gI@gN@g�Q@z'psutil._psplatform.sensors_temperaturesr�T)�
fahrenheitrg�^@g�a@g�c@)	r"r?r8r�rUrArHr�r�)rF�drXr�s    r.�#test_sensors_temperatures_fahreneitz3TestSensorsAPIs.test_sensors_temperatures_fahreneitUs��
�5�6�7��
�Z�A�%&�(�(�(�	4�+,��/��!�!�!�!+�-�-.�0�E��8�O�O�O����U�]�E�2�2�2����U�Z��/�/�/����U�^�U�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s�A<B%�%B)�,B)z
no batteryc��tj��}|�|jd��|�|jd��|jtjtjfvr|�|jd��n/|jtjkr|�|j	��|�
|j	t��dS)Nrr�)r8�sensors_batteryrTr�r�secsleft�POWER_TIME_UNKNOWN�POWER_TIME_UNLIMITEDr��
power_pluggedr�r�)rFr�s  r.�test_sensors_batteryz$TestSensorsAPIs.test_sensors_batteryas����$�&�&�������Q�/�/�/����S�[�#�.�.�.��<�� 9� &� ;� =�=�=��#�#�C�L�!�4�4�4�4��|�v�:�:�:����� 1�2�2�2����c�/��6�6�6�6�6r0c�d�tj��}|���D]�\}}|�|t��|D]d}|�|jt��|�|jttf��|�	|jd���e��dSr�)
r8�sensors_fansr�r�r�r�rHr�rrT)rF�fansr�r�r�s     r.�test_sensors_fansz!TestSensorsAPIs.test_sensors_fansos����"�$�$��!�Z�Z�\�\�	:�	:�M�D�'��!�!�$��,�,�,� �
:�
:���%�%�e�k�3�7�7�7��%�%�e�m�c�4�[�A�A�A��'�'��
�q�9�9�9�9�
:�	:�	:r0N)
r�r�r�r�r�rr�r�rrr�rrr(r0r.r�r�Es��������X�_�1�1�?�C�C�?�?�D�C�?��X�_�1�1�?�C�C�	4�	4�D�C�	4��X�_�,�,�o�>�>��X�_��_�l�3�3�
7�
7�4�3�?�>�
7��X�_�)�)�?�;�;�:�:�<�;�:�:�:r0r��__main__)�
run_from_name)<�__doc__r�r�r}r6r�rrZr�r�r�rzr�r8rrrrrrr	r
rr�psutil._compatr
r�psutil.testsrrrrrrrrrrrrrrrrrr r!r"r#r%r�r�r�rVr�r�r��psutil.tests.runnerrr�r(r0r.�<module>r	sq����������������	�	�	�	�����
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
���������
�
�
�
�������������������������������������������������������������,�,�,�,�,�,�������!�!�!�!�!�!�#�#�#�#�#�#� � � � � � �'�'�'�'�'�'�'�'�'�'�'�'�$�$�$�$�$�$�%�%�%�%�%�%�'�'�'�'�'�'�,�,�,�,�,�,�,�,�,�,�,�,�)�)�)�)�)�)�1�1�1�1�1�1�!�!�!�!�!�!�%�%�%�%�%�%�������'�'�'�'�'�'�'�'�'�'�'�'�*�*�*�*�*�*�������������)�)�)�)�)�)�A>�A>�A>�A>�A>�n�A>�A>�A>�HGB�GB�GB�GB�GB�>�GB�GB�GB�T""�""�""�""�""�^�""�""�""�Jp/�p/�p/�p/�p/�.�p/�p/�p/�fL�L�L�L�L�>�L�L�L�^N�N�N�N�N�.�N�N�N�b2:�2:�2:�2:�2:�n�2:�2:�2:�j�z���1�1�1�1�1�1��M�(�������r0

Youez - 2016 - github.com/yon3zu
LinuXploit