Edit File: test_system.cpython-311.pyc
� ����n�dP�����������������������������d�Z�ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl Z ddl mZ�ddl mZ�ddl mZ�ddl mZ�ddl mZ�ddl mZ�dd l mZ�dd l mZ�ddl mZ�ddl mZ�dd lmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlm 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#lm0Z0��G�d$��d%e,������������Z1�G�d&��d'e,������������Z2�G�d(��d)e,������������Z3�G�d*��d+e,������������Z4�G�d,��d-e,������������Z5�G�d.��d/e,������������Z6�G�d0��d1e,������������Z7e8d2k����rdd3l9m:Z:��e:e;�������������dS�dS�)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�������������������������e�Zd�Zd��Zd��Z�ej��������eoed������������d����������������Z �ej��������eoed������������d����������������Z d��Zd��ZdS�) �TestProcessAPIsc������������������h����|�����������������������t����������j����������������������d��t����������j����������������������D����������������������������|������������������������������������}|�����������������������|j��������d��t����������j����������������������D����������������������������t����������j��������|j��������������������}|������������������������������������|� �����������������������������������|�� ��������������������|j��������d��t����������j����������������������D����������������������������t����������j��������dt����������j ��������t����������j�����������������������������������������������5��|����������������������t����������t����������j����������������������������������g��������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������dt����������j��������t����������j�����������������������������������������������5��|����������������������t����������j��������������������5��t����������t����������j�����������������������������������d�d�d��������������n#�1�swxY�w�Y���d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nc�����������������������g�|�] }|j����������� S�����pid��.0�xs��� �k/builddir/build/BUILD/cloudlinux-venv-1.0.2/venv/lib64/python3.11/site-packages/psutil/tests/test_system.py� <listcomp>z5TestProcessAPIs.test_process_iter.<locals>.<listcomp>B���s������#I�#I�#I�a�A�E�#I�#I�#I�����c�����������������������g�|�] }|j����������� S�r(���r)���r+���s��� r.���r/���z5TestProcessAPIs.test_process_iter.<locals>.<listcomp>D���s������!G�!G�!G�A�!�%�!G�!G�!Gr0���c�����������������������g�|�] }|j����������� S�r(���r)���r+���s��� r.���r/���z5TestProcessAPIs.test_process_iter.<locals>.<listcomp>H���s������$J�$J�$J�q�Q�U�$J�$J�$Jr0���zpsutil.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_iterA���s������� � �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����������������������t����������j��������dg�������������D�]=}|����������������������t����������|j�������������������������������������������������������dg��������������>|����������������������t����������������������5��t����������t����������j��������dg��������������������������d�d�d��������������n#�1�swxY�w�Y���t����������j ��������dt����������j ��������dd�������������������������5�}t����������j��������ddg�������������D�]C}|����������������������|j��������d����������������������|����������������������|j��������d���������d��������������D|j ��������sJ�� �d�d�d��������������n#�1�swxY�w�Y���t����������j ��������dt����������j ��������dd�������������������������5�}t������������������������}t����������j��������ddg|� ������������D�]D}|����������������������|j��������d���������|�������������|����������������������|j��������d���������d��������������E|j ��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�) Nr*���)�attrs�fooz$psutil._psplatform.Process.cpu_timesr�����r3���� cpu_times)rK����ad_value)r8���r9���rA���rB����info�keysrD���� ValueErrorr"���r?���rC����assertIsNone�assertGreaterEqual�called�object�assertIs)rF���rH����m�flags��� r.����test_prcess_iter_w_attrsz(TestProcessAPIs.test_prcess_iter_w_attrsR���s�������$�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��H�z-spawn_testproc() unreliable on PYPY + WINDOWSc��������������������������fd�}g����������������������������������������}��������������������������������������}��������������������������������������}d��|||fD���������������}�����������������������t����������t����������j��������|d�������������������������������������t ����������t����������j��������|d��������������t ����������j����������������������}t����������j��������|d|�������������\��}}�����������������������t ����������j����������������������|z ��d ������������������������������������|g�������������������������������������t����������|������������d �������������������������������������g��������������|D�]%} ��� ��������������������t����������| d��������������������������&t����������d��������������fd ���������������} |� ������������������������������������| ||������������\��}}�����������������������|j��������d��|D����������������������������t ����������r9�����������������������|�����������������������������������j��������t&����������j����������������������n-�����������������������|�����������������������������������j��������d�������������������������������������|j��������g�������������|D�]%} ��� ��������������������t����������| d��������������������������&t����������d��������������fd���������������}|� �����������������������������������|� ������������������������������������|||������������\��}}�����������������������t+�����������������������t+����������|j��������|j��������|j��������g�������������������������|D�]%} �����������������������t����������| d��������������������������&d�S�)Nc������������������<�����������������������������|�j���������������������d�S��N)�appendr*���)rH����pidss��� �r.����callbackz1TestProcessAPIs.test_wait_procs.<locals>.callbacki���s��������K�K�������r0���c������������������@�����g�|�]}t����������j��������|j����������������������S�r(����r8���r;���r*���r+���s��� r.���r/���z3TestProcessAPIs.test_wait_procs.<locals>.<listcomp>p����$������I�I�I�1�����&�&�I�I�Ir0������)�timeout����)r`���g{�G�z�?�re���r`���g�������?����� returncode����c�������������������������t����������j��������|�d|�������������\��}}����������������������t����������|������������d�����������������������������������t����������|������������d�������������||fS�)N���Q��?rg���rf��������r8���� wait_procsrA����len��procsr`����gone�aliverF���s��� �r.����test_1z/TestProcessAPIs.test_wait_procs.<locals>.test_1}����g������� �+�E�4�5=�?��?��?�K�D�%����S��Y�Y��*�*�*����S��Z�Z��+�+�+���;�r0���c�����������������������g�|�] }|j����������� S�r(���r)���r+���s��� r.���r/���z3TestProcessAPIs.test_wait_procs.<locals>.<listcomp>����s������"7�"7�"7�Q�1�5�"7�"7�"7r0���c�������������������������t����������j��������|�d|�������������\��}}����������������������t����������|������������d�����������������������������������t����������|������������d�������������||fS�)Nrl���rg���rh���r���rn���rq���s��� �r.����test_2z/TestProcessAPIs.test_wait_procs.<locals>.test_2����rv���r0���)r:���rD���rR���r8���ro���� TypeError�time� assertLessrA���rp����assertFalse�hasattrr#���� terminater5���r*���r ����popri����signal�SIGTERM�set� assertTrue) rF���r`����sproc1�sproc2�sproc3rr����trs���rt���rH���ru���ry���r_���s ���` @r.����test_wait_procszTestProcessAPIs.test_wait_procsf���sR������� �� �� �� �� �����$�$�&�&���$�$�&�&���$�$�&�&��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� �"� � � �� �� �� �� � � �� �������f�U�H�-�-���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� �"� � � �� �� �� �� � � �� �������������f�U�H�-�-���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�� 6r0���c�����������������������|�������������������������������������}|�������������������������������������}|�������������������������������������}d��|||fD���������������}|D�]}|�������������������������������������t����������j��������|�������������d�S�)Nc������������������@�����g�|�]}t����������j��������|j����������������������S�r(���rb���r+���s��� r.���r/���z>TestProcessAPIs.test_wait_procs_no_timeout.<locals>.<listcomp>����rc���r0���)r:���r���r8���ro���)rF���r����r����r����rr���rH���s��� 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���%� � � � � r0���c������������������$����|�������������������������������������}|����������������������t����������j��������|j���������������������������������t����������j��������|j��������������������}|������������������������������������|������������������������������������|����������������������t����������j��������|j���������������������������������|����������������������t����������j��������d�������������������������|�� ��������������������t����������j��������d������������dt����������j ����������������������v��������������d�S�)Nrd���r���)r:���r����r8���� pid_existsr*���r;���r<���r=���r}���rA���r_���rE���s��� 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�Br0���c����������������������t����������j����������������������}|D�]d} �t����������j��������|������������sJ���#�t����������$�r>�t ����������j��������d�������������|����������������������|t����������j�����������������������������������Y��aw�xY�wt����������t����������|������������dz���t����������|������������dz���������������}|D�]+}|�� ��������������������t����������j��������|������������|���������������,d�S�)Ng�������?i�:��i�>����msg) r8���r_���r�����AssertionErrorr{����sleepr>����range�maxr}���)rF���r_���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��&��D� � �E�(9�:�:���� >�� >�C����V�.�s�3�3���=�=�=�=� >�� >s����0�AA8�7A8N) �__name__� __module__�__qualname__rI���rZ����unittest�skipIfr���r���r����r����r����r����r(���r0���r.���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�>��>��>��>��>r0���r%���c��������������������t�����e�Zd�Zd��Z�ej��������eo�ej�����������������������d������������d����������������Z d��Z d��ZdS�)�TestMiscAPIsc������������������������t����������j����������������������}|����������������������|t�����������������������|����������������������|d�������������|����������������������|t ����������j�����������������������������������d�S��Nr���)r8���� boot_time�assertIsInstance�float� assertGreaterr|���r{���)rF����bts��� r.����test_boot_timezTestMiscAPIs.test_boot_time����s\������ � � � �����b�%�(�(�(����2�q�!�!�!�����D�I�K�K�(�(�(�(�(r0����unreliable on CIc����������������������t����������j����������������������}|����������������������|g��������������|D��]#}|j��������s J�|���������������|����������������������|j��������t �����������������������|����������������������|j��������t ����������t����������d�������������f�������������|j���������/|����������������������|j��������t ����������t����������d�������������f�������������|j���������|j���������|j ��������dk����s J�|���������������t����������j �����������������������������|j ���������������������t����������st����������r|����������������������|j����������������������� t����������j��������|j�����������������������%d�S�)N���������)r8����users�assertNotEqual�namer�����str�terminal�type�host�started�datetime� fromtimestampr���r ���rS���r*���r;���)rF���r�����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�(�(�(�(� )�� )r0���c�����������������������t�����������j��������}t����������t�����������_�������� �t����������j�����������������������|t�����������_��������d�S�#�|t�����������_��������w�xY�wr]���)�sys�stdoutr���r8����test)rF���r����s��� r.���� test_testzTestMiscAPIs.test_test����s>����������� � ��K�M�M�M��C�J�J�J���C�J����s����A����Ac������������������2����g�d�}|D�]2}|�����������������������t����������t����������|������������t����������|���������������3t����������j��������dk�����r�t����������j��������sJ��t����������j��������rJ��|���������������������d�������������dt����������j �������������������������������������������v�r%t����������j��������sJ��|���������������������d��������������n�dt����������j �������������������������������������������v�r�t����������j ��������sJ��|����������������������t����������j��������t����������j��������t����������j��������g���������������������d������������d �������������|���������������������d �������������|���������������������d�������������|���������������������d�������������|���������������������d �������������n�dt����������j �������������������������������������������v�s dt����������j �������������������������������������������v�r$t����������j��������sJ��|���������������������d�������������nudt����������j �������������������������������������������v�r#t����������j��������sJ��|���������������������d�������������n1t����������j��������sJ��t����������j��������rJ��|���������������������d�������������|D�]-}|����������������������t����������t����������|������������d|���������������.d�S�)N) r ���r���r���r���r���r ���r���r���r���r�����posixr ����linuxr����bsdTrf���r���r���r ���r����sunos�solarisr����darwinr���r���F)r�����getattrr8����boolr6���r����r ���r����remover�����platform�lowerr���r���rA���r���r ���r����countr���r���rW���)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�� Br0���N)r����r����r����r����r����r����r���r8���r����r����r����r����r(���r0���r.���r����r��������s���������������)��)��)���X�_�Z�6������$6�8J�K�K�)��)��L�K�)�$ �� �� �#B��#B��#B��#B��#Br0���r����c�������������������������e�Zd�Zd��Zd��ZdS�)�TestMemoryAPIsc������������������D����t����������j����������������������}|j��������dk����s J�|���������������|j��������dk����s J�|���������������d|j��������cxk����rdk����sn�J�|���������������|j��������dk����s J�|���������������|j��������dk����s J�|���������������|j��������D�]�}t����������||������������}|dk����r"|�� ��������������������|t����������t����������f�������������|dk����rR|dk����s|����������������������|�d|�d��������������||j��������k����r&|����������������������|�d|j���������d|�d |�d����������������d�S�) 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_memory��se������#�%�%���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�� Fr0���c����������������������t����������j����������������������}|����������������������|j��������d�������������|j��������dk����s J�|���������������|j��������dk����s J�|���������������|j��������dk����r|j��������dk����s J�|���������������n|j��������dk����s J�|���������������d|j��������cxk����rdk����sn�J�|���������������|j��������dk����s J�|���������������|j ��������dk����s J�|���������������d�S�)N)r����r����r����r�����sin�soutr���r����) r8����swap_memoryrA���r����r����r����r����r����r����r����)rF���r����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�}�}�}�}�}r0���N)r����r����r����r����r����r(���r0���r.���r����r���� ��s5��������������F��F��F�$"��"��"��"��"r0���r����c��������������������(����e�Zd�Zd��Zd��Zd��Zd��Zd��Zd��Zd��Z d��Z d ��Zd ��Zd��Z d��Zd ��Zd��Zd��Z�ej��������eo�ej����������������������dk����d�������������ej��������e�d������������d������������������������������Z�ej��������e�d������������d����������������ZdS�)�TestCpuAPIsc�����������������������t����������j����������������������}|����������������������|�������������|����������������������|t ����������t����������j��������d��������������������������������������|����������������������|d�������������t����������j��������� ��������������������d������������rSt����������d������������5�}|�����������������������������������}d�d�d��������������n#�1�swxY�w�Y���d|vrt����������j ��������d�������������d�S�d�S�)NT��percpurf���z /proc/cpuinfozphysical idz#cpuinfo doesn't include physical id)r8���� cpu_count�assertIsNotNonerA���rp���rN���rT���r6����path�exists�open�readr�����SkipTest)rF����logical�fd�cpuinfo_datas��� r.����test_cpu_count_logicalz"TestCpuAPIs.test_cpu_count_logical4��s������"�$�$�����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����t����������j����������������������}t����������j��������d�������������}|�|����������������������d�������������t����������r6t ����������j����������������������d�d����������dk����r|����������������������|�������������d�S�|����������������������|d�������������|����������������������||�������������d�S�)NF�r����zcpu_count_cores() is Nonerm���)����rf���rf���)r8���r�����skipTestr���r�����getwindowsversionrS���rT���)rF���r�����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�3r0���c����������������������dD�]�}t����������j��������d|�������������5�}|����������������������t����������j�����������������������������������|j��������sJ�� �d�d�d��������������n#�1�swxY�w�Y���t����������j��������d|�������������5�}|����������������������t����������j��������d��������������������������|j��������sJ�� �d�d�d��������������n#�1�swxY�w�Y�����d�S�)N)rd���r���Nz$psutil._psplatform.cpu_count_logical��return_valuez"psutil._psplatform.cpu_count_coresFr����)r"���r?���rS���r8���r����rU���)rF����valrX���s��� r.����test_cpu_count_nonezTestCpuAPIs.test_cpu_count_noneK��sW����� �� �� �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}t����������j����������������������}t����������|�������������|D�]8}|����������������������|t�����������������������|����������������������|d�������������||z ��}�9|����������������������|t����������|�������������������������t����������|�������������d�S�)Nr���r����)r8���rN����sumr����r����rT���rA���r����)rF���r�����times�cp_times��� r.����test_cpu_timeszTestCpuAPIs.test_cpu_timesW��s���������� �"�"���E� � � ��� �� �G��!�!�'�5�1�1�1��#�#�G�S�1�1�1��W��E�E������E� � �+�+�+��E� � � � � r0���c������������������N����t����������t����������j����������������������������������}t����������j����������������������t����������z���}t����������j����������������������|k�����r?t����������t����������j����������������������������������}||k����rd�S�t����������j����������������������|k������?|����������������������d�������������)Nztime remained the same)r����r8���rN���r{���r���r����)rF����t1�stop_at�t2s��� r.����test_cpu_times_time_increasesz)TestCpuAPIs.test_cpu_times_time_increasest��s������� ��!�#�#� $� $���)�+�+��.���i�k�k�G�#�#��V�%�'�'�(�(�B��B�w�w�����i�k�k�G�#�#���i�i�0�1�1�1r0���c�����������������������t����������j��������d�������������D�]�}d}t����������|�������������|D�]8}|����������������������|t�����������������������|����������������������|d�������������||z ��}�9|����������������������|t����������|�������������������������t����������|���������������|����������������������t����������t����������j��������d�������������d���������������������t����������t����������j��������d��������������������������������������d�S�)NTr����r���r����F) r8���rN���r����r����r����rT���rA���r����rp���)rF���r����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�;�;�;�<�<� >�� >�� >�� >�� >r0���c����������������������t����������j��������d�������������}t����������j����������������������t����������z���} �t����������j����������������������|k����r|����������������������d������������S�t����������j��������d�������������}t����������||������������D�];\��}}t����������j��������|������������t����������j��������|������������}}||z ��}|dk����r�d�S��<��)NTr����re���g�������?)r8���rN���r{���r���r�����zip�_cpu_busy_time)rF����tot1� giveup_at�tot2r��r��� 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��&� r0���c����������������������t����������j����������������������}t����������j��������d�������������}|���������������������d��t����������|��D���������������������������}|j��������D�]6}|����������������������t ����������||������������t ����������||������������d���������������7d�S�)NTr����c������������������,�����g�|�]}t����������|��������������S�r(���)r����)r,����nums��� r.���r/���z9TestCpuAPIs.test_cpu_times_comparison.<locals>.<listcomp>���s������#F�#F�#F��C��H�H�#F�#F�#Fr0���rf�����delta)r8���rN����_maker ��r�����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�� Nr0���c���������������������� �|�����������������������|t�����������������������|����������������������|d�������������|����������������������|d�������������|����������������������|dt����������j����������������������z���������������d�S�#�t����������$�rA}t����������d|�dt����������j ��������|�������������dt����������j ��������|���������������������������d�}~ww�xY�w)Nr����g��������g������Y@� z last=z new=) r����r����rT����assertIsNot�assertLessEqualr8���r����r�����pprint�pformat)rF���r�����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;�;C�c������������������@����t����������j��������d�������������}t����������d������������D�]0}t����������j��������d��������������}|����������������������|||�������������|}�1|����������������������t ����������������������5��t����������j��������d��������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S��N���MbP?)�intervalr����rd���)r8����cpu_percentr����r&��rD���rR���)rF����last�_�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����������������������t����������j��������dd�������������}|����������������������t����������|������������t����������j�����������������������������������t����������d������������D�]6}t����������j��������d�d�������������}|D�]}|����������������������|||��������������|}�7|����������������������t����������������������5��t����������j��������dd��������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nr)��T�r*��r����r����rd���) r8���r+��rA���rp���r����r����r&��rD���rR����rF���r,��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����������������������t����������j��������d�������������}t����������d������������D�]Y}t����������j��������d��������������}|D�]}|����������������������|||��������������|����������������������t ����������|������������||�������������|}�Z|����������������������t����������������������5��t����������j��������d��������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�r(��)r8����cpu_times_percentr����r&��r����rD���rR���r2��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��C�c������������������x����t����������j��������dd�������������}|����������������������t����������|������������t����������j�����������������������������������t����������d������������D�]_}t����������j��������d�d�������������}|D�]B}|D�]}|����������������������|||��������������|����������������������t����������|������������||��������������C|}�`d�S�)Nr)��Tr1��r����)r8���r5��rA���rp���r����r����r&��r����)rF���r,��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� �� r0���c������������������6����t����������j��������d��������������d��t����������j��������d�������������D���������������}t����������j��������d|�������������5��t����������j��������d�������������D�]}|D�]}|����������������������|d�d���������������� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)NTr����c����������� ������������g�|�]@}|����������������������d���t����������t����������|j��������������������������������D�����������������������������AS�)c�����������������������g�|�]}d���S�)r���r(���r+���s��� r.���r/���zNTestCpuAPIs.test_per_cpu_times_percent_negative.<locals>.<listcomp>.<listcomp>���s������@�@�@�Q�q�@�@�@r0���)r��r����rp���r����r+���s��� r.���r/���zCTestCpuAPIs.test_per_cpu_times_percent_negative.<locals>.<listcomp>���sS�������>��>��>����g�g�@�@�%��A�I���*?�*?�@�@�@�A�A��>��>��>r0���zpsutil.cpu_timesr����)r8���r5��rN���r"���r?���r&��)rF���� zero_timesr8��r����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����������������������t����������j����������������������}|����������������������|j��������d�������������|j��������D�]I}t ����������||������������}|����������������������|d�������������t����������s|dv�r|����������������������|d��������������Jd�S�)N)�ctx_switches� interrupts�soft_interrupts�syscallsr���)r@��rA��)r8���� cpu_statsrA���r����r����rT���r���r����)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�}t����������j��������d�������������}t����������r|s�����������������������d�������������|s J�|����������������|t����������j��������d�������������g�������������t����������r6�����������������������t ����������|������������t����������j�����������������������������������d�S�d�S�)Nc������������������N�����|�D�]�}�����������������������|j��������d�������������|j��������dk����r ����������������������|j��������|j���������������������|j��������D�]P}t����������||������������}����������������������|t����������t����������t����������f��������������� ��������������������|d��������������Q��d�S�)N)�current�minr����r����r���)rA���r����r����r ��rK��r����r����r����r���r����rT���)�ls�ntr����r����rF���s��� �r.����check_lsz+TestCpuAPIs.test_cpu_freq.<locals>.check_ls��s���������� 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�� 6r0���Tr����zreturns empty list on FreeBSDF)r8����cpu_freqr���r����r���rA���rp���r����)rF���rO��rM��s���` r.���� test_cpu_freqzTestCpuAPIs.test_cpu_freq��s�������� 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� :�� :r0���c������������������������t����������j����������������������}|����������������������t����������|������������d�������������|D�]3}|����������������������|t �����������������������|����������������������|d��������������4d�S�)Nrh���r����)r8���� getloadavgrA���rp���r����r����rT���)rF����loadavg�loads��� r.����test_getloadavgzTestCpuAPIs.test_getloadavg��st�������#�%�%������W���q�)�)�)��� /�� /�D��!�!�$��.�.�.��#�#�D�#�.�.�.�.� /�� /r0���N)r����r����r����r����r����r����r��r��r��r��r��r&��r/��r3��r6��r9��r>��rF��r����r����r���r�����machiner���rQ��r���rV��r(���r0���r.���r����r����2��s�������������� 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�/��/��/r0���r����c��������������������H����e�Zd�Z�ej��������eoe�d������������d����������������Z�ej��������e�d������������d����������������Z d��Z d��Z�ej��������eoe j�����������������������������d�������������d�������������ej��������eo�ej�����������������������d ������������d ������������������������������Zd��ZdS�) �TestDiskAPIszunreliable on PYPY32 + 32BITc����������������������t����������j��������t����������j����������������������������������}|����������������������|j��������d�������������|j��������dk����s J�|���������������|j��������dk����s J�|���������������|j��������dk����s J�|���������������|j��������|j��������k����s J�|���������������|j��������|j��������k����s J�|���������������d|j ��������cxk����rdk����sn�J�|j �����������������������t����������t����������d������������r�t����������j��������t����������j����������������������������������}d}|����������������������|j��������|j���������������������|����������������������|j��������|j��������|��������������t����������s"|����������������������|j��������|j��������|��������������|������������������������������������}|����������������������t ����������������������5��t����������j��������|�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N)r����r����r����r����r���r����� disk_usagei��P�r��)r8���r[��r6����getcwdrA���r����r����r����r����r����r~����shutilr��r���� get_testfnrD���r ���)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����������������������5��t����������j��������t�����������������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�r]���)rD����UnicodeEncodeErrorr8���r[��r����rF���s��� r.����test_disk_usage_unicodez$TestDiskAPIs.test_disk_usage_unicodeD��s��������� � �1� 2� 2�� .�� .���n�-�-�-� .�� .�� .�� .�� .�� .�� .�� .�� .�� .�� .�� .����� .�� .�� .�� .�� .�� .s����A�A� Ac������������������.�����t����������j��������d�������������d�S�)N����.)r8���r[��rf��s��� r.����test_disk_usage_bytesz"TestDiskAPIs.test_disk_usage_bytesJ��s��������$�����r0���c������������������>��������fd�}t����������j��������d�������������}�����������������������||��������������|D�]�}�||�������������t����������r d|j��������v�r�t ����������s/t����������j�����������������������������|j ��������������������s J�|���������������n|j ���������t����������j�����������������������������|j ��������������������s J�|���������������|j��������s J�|�����������������t����������j��������d�������������}�����������������������||��������������t����������j��������d�������������D�]�}�||�������������t����������s�|j ��������r� �t ����������j��������|j ���������������������t����������j�����������������������������|j ��������������������s J�|����������������d#�t����������$�rR}t����������r!t����������r|j��������t ����������j��������k����rY�d�}~��|j��������t ����������j��������t ����������j��������fvr��Y�d�}~��d�}~ww�xY�w��d��}�|t(����������������������}d��t����������j��������d�������������D���������������}�����������������������||�������������d�S�) Nc������������������^����������������������������|�j��������t����������������������������������������������|�j��������t����������������������������������������������|�j��������t����������������������������������������������|�j��������t����������������������������������������������|�j��������t����������t����������d�������������f������������������������������������|�j ��������t����������t����������d�������������f�������������|�j���������"t����������s����������������������|�j��������d�������������|�j �������������������������������|�j ��������d�������������d�S�d�S�r����)r�����devicer����� mountpoint�fstype�opts�maxfiler����r�����maxpathr���r�����rN��rF���s��� �r.����check_ntuplez7TestDiskAPIs.test_disk_partitions.<locals>.check_ntupleN��s���������!�!�"�)�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��&�%r0���F)�allr�����cdromTc������������������"����t�����������j�����������������������������|�������������}�t�����������j�����������������������������|�������������s>t�����������j�����������������������������|�������������}�t�����������j�����������������������������|��������������>|������������������������������������S�r]���)r6���r�����abspath�ismount�dirnamer����)r����s��� r.����find_mount_pointz;TestDiskAPIs.test_disk_partitions.<locals>.find_mount_point��sd�������7�?�?�4�(�(�D��g�o�o�d�+�+�� -��w���t�,�,����g�o�o�d�+�+�� -��:�:�<�<�r0���c������������������N�����g�|�]"}|j���������� |j����������������������������������������������#S�r(���)rn��r����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���rp��r ���r6���r����r����rm��rn��ro���stat�OSErrorr���r����errno�EIO�EPERM�EACCES�__file__r5���)rF���rt��rM���diskr%��r{���mount�mountss���` r.����test_disk_partitionsz!TestDiskAPIs.test_disk_partitionsM��s������� 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�}t����������j��������d�������������}|� J�d����������������||�������������t����������j��������d�������������}�����������������������t����������|������������t����������t ����������|�������������������������������������|D�]}|s J�|����������������|||����������������������� d�S�)Nc������������������&����������������������������|�d���������|�j��������������������������������������������|�d���������|�j��������������������������������������������|�d���������|�j��������������������������������������������|�d���������|�j���������������������t ����������s�t����������sՉ����������������������|�d���������|�j��������������������������������������������|�d���������|�j���������������������t����������rd�����������������������|�d���������|�j ��������������������������������������������|�d���������|�j��������������������������������������������|�d ���������|�j���������������������n(t����������r!�����������������������|�d���������|�j���������������������|�j��������D�] }t����������|�|������������dk����s J�|�����������������!d�S�) Nr���rf���rm���rh�����������r������������)rA���� read_count�write_count� read_bytes�write_bytesr ���r���� read_time� write_timer����read_merged_count�write_merged_count� busy_timer���r����r����)rN��r����rF���s��� �r.���rt��z8TestDiskAPIs.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�� 2r0���F��perdiskzno disks on this system?T)r8����disk_io_countersrA���rp���r�����rF���rt���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��"�"�"�"� #�� #r0���c����������������������t����������j��������di��������������5�}|����������������������t����������j��������d��������������������������|����������������������t����������j��������d�������������i��������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nz#psutil._psplatform.disk_io_countersr����Fr���T)r"���r?���rS���r8���r���rA���rU����rF���rX���s��� 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����r���r���rc��r���rg��rj��r���r���r6���r����r����r���r8���r���r���r���r(���r0���r.���rY��rY��%��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��������r0���rY��c��������������������������e�Zd�Z�ej��������e�d������������d����������������Z�ej��������e�d������������d����������������Zd��Zd��Z d��Z �ej��������epepe �d������������d����������������Zd S�) �TestNetAPIsrH��c������������������4��������fd�}t����������j��������d�������������}�||�������������t����������j��������d�������������}�����������������������|g��������������|D�]C}�����������������������|������������������������������������|t ������������������������|||�����������������������Dd�S�)Nc������������������h����������������������������|�d���������|�j��������������������������������������������|�d���������|�j��������������������������������������������|�d���������|�j��������������������������������������������|�d���������|�j��������������������������������������������|�d���������|�j��������������������������������������������|�d���������|�j��������������������������������������������|�d���������|�j��������������������������������������������|�d���������|�j���������������������|�j��������dk����s J�|����������������|�j��������dk����s J�|����������������|�j��������dk����s J�|����������������|�j��������dk����s J�|����������������|�j��������dk����s J�|����������������|�j��������dk����s J�|����������������|�j��������dk����s J�|����������������|�j��������dk����s J�|����������������d�S�) Nr���rf���rm���rh���r���r���r����r���) rA���� bytes_sent� bytes_recv�packets_sent�packets_recv�errin�errout�dropin�dropoutrs��s��� �r.���rt��z6TestNetAPIs.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�?�?�?�?�?r0���F��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��"�"�"�"� #�� #r0���c����������������������t����������j��������di��������������5�}|����������������������t����������j��������d��������������������������|����������������������t����������j��������d�������������i��������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nz"psutil._psplatform.net_io_countersr����Fr���T)r"���r?���rS���r8���r���rA���rU���r���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����������� �����������t����������j����������������������}|s J�|���������������t����������j����������������������}t����������t����������j��������t����������j��������t�����������j��������g������������}|�����������������������������������D��]"\��}}|�� ��������������������|t�����������������������|����������������������t����������t����������|������������������������t����������|�������������������������|D��]�}|�� ��������������������|j ��������t�����������������������|�� ��������������������|j��������t�����������������������|�� ��������������������|j��������t����������t#����������d�������������f�������������|�� ��������������������|j��������t����������t#����������d�������������f�������������|����������������������|j ��������|�������������t(����������j��������dk����r,t,����������s%|�� ��������������������|j ��������t.����������j���������������������||���������j���������r-|j ��������t����������j��������k����rbt ����������j��������|j ��������������������}t5����������j��������|������������5��|���������������������|j��������df�������������d�d�d��������������n#�1�swxY�w�Y���n�|j ��������t����������j��������k����r�t ����������j��������|j��������dt����������j��������t����������j��������dt����������j��������������������d���������}|\��} } }}} t ����������j��������| | |������������}t5����������j��������|������������5��|���������������������| �������������d�d�d��������������n#�1�swxY�w�Y���|j��������|j��������|j��������|j ��������fD�].}|�*|j ��������t����������j��������k����rtC����������||j ����������������������/|j��������r|��"��������������������|j ������������������������|j ��������r|��"��������������������|j������������������������$tF����������stH����������stJ����������rCtM����������t����������d������������r,|����������������������t�����������j��������t����������j���������������������d�S�d�S�tN����������r,|����������������������t�����������j��������t����������j(���������������������d�S�tR����������r"|����������������������t�����������j��������d�������������d�S�d�S�)N)rh���r���r����AF_LINKrd���)*r8����net_if_addrs�net_if_statsr�����socket�AF_INET�AF_INET6r����itemsr����r����rA���rp����familyr�����address�netmaskr����� broadcastr5���r�����version_infor���r!����IntEnum�isup� contextlib�closing�bind�getaddrinfo�SOCK_STREAM� AI_PASSIVE�ptpr ���rS���r���r���r���r~���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����t�����������rdt����������j��������dd�d�d�fg}ndg}t����������j��������d|�������������5�}t����������j����������������������d���������d���������}|j��������sJ��t�����������r|����������������������|j��������d�������������n|����������������������|j��������d�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�) N�em1z06:3d:29)r���rd���z06-3d-29NNNzpsutil._psplatform.net_if_addrsr����r���z06:3d:29:00:00:00z06-3d-29-00-00-00) r ���r8���r���r"���r?���r���rU���rA���r���)rF���r���rX���r���s��� r.���� test_net_if_addrs_mac_null_bytesz,TestNetAPIs.test_net_if_addrs_mac_null_bytes��s �������� >��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������������������ ����t����������j����������������������}|s J�|���������������t�����������j��������t�����������j��������t�����������j��������f}|�����������������������������������D�]�\��}}|����������������������|t�����������������������|\��}}}}} |����������������������|t�����������������������|�� ��������������������||�������������|�� ��������������������||�������������|�� ��������������������|d�������������|�� ��������������������|d�������������|����������������������| t�������������������������d�S�r����)r8���r����NIC_DUPLEX_FULL�NIC_DUPLEX_HALF�NIC_DUPLEX_UNKNOWNr���r����r����r����r5���rT���) rF���r����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��+�+�+��!�!�%��-�-�-�-� .�� .r0���zLINUX or BSD or MACOS specificc�����������������������t����������j��������dt����������t����������j��������d�������������������������5�}t����������j����������������������}|����������������������|i��������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nzpsutil._psutil_posix.net_if_mturM���r3���) r"���r?���r��r����ENODEVr8���r���rA���rU���)rF���rX���r���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����r���r���r���r���r���r���r���r���r���r���r(���r0���r.���r���r������s����������������X�_�,�,�o�>�>�#��#��?�>�#�8��X�_�,�,�o�>�>�����?�>��:1��:1��:1�xD��D��D�".��.��.� ��X�_�%�/�3�/�%�0�5�7��7����7��7�����r0���r���c������������������������e�Zd�Z�ej��������e�d������������d����������������Z�ej��������e�d������������d����������������Z�ej��������e�d�������������ej��������e �d������������d������������������������������Z �ej��������e�d������������d����������������ZdS�)�TestSensorsAPIsrH��c����������������������t����������j����������������������}|�����������������������������������D�]�\��}}|����������������������|t�����������������������|D�]�}|����������������������|j��������t�����������������������|j���������|����������������������|j��������d�������������|j���������|����������������������|j��������d�������������|j ���������|����������������������|j ��������d�����������������d�S�r����) r8����sensors_temperaturesr���r����r�����labelrK��rT����high�critical)rF����tempsr�����entries�entrys��� r.����test_sensors_temperaturesz)TestSensorsAPIs.test_sensors_temperaturesG��s��������+�-�-��"�[�[�]�]�� ?�� ?�M�D�'��!�!�$��,�,�,� �� ?�� ?���%�%�e�k�3�7�7�7��=�,��+�+�E�M�1�=�=�=��:�)��+�+�E�J��:�:�:��>�-��+�+�E�N�A�>�>�>�� ?� ?�� ?r0���c������������������d����ddgi}t����������j��������d|�������������5�}t����������j��������d�������������d���������d���������}|j��������sJ��|����������������������|j��������d�������������|����������������������|j��������d �������������|����������������������|j��������d �������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N�coretemp)r���g������I@g������N@g������Q@z'psutil._psplatform.sensors_temperaturesr����T)� fahrenheitr���g������^@g������a@g������c@) r"���r?���r8���r���rU���rA���rK��r���r���)rF����drX���r���s��� r.����#test_sensors_temperatures_fahreneitz3TestSensorsAPIs.test_sensors_temperatures_fahreneitU��s����� �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����������������������t����������j����������������������}|����������������������|j��������d�������������|����������������������|j��������d�������������|j��������t�����������j��������t�����������j��������fvr|����������������������|j��������d�������������n/|j��������t�����������j��������k����r|����������������������|j ���������������������|�� ��������������������|j ��������t�����������������������d�S�)Nr���r����)r8����sensors_batteryrT���r����r ���secsleft�POWER_TIME_UNKNOWN�POWER_TIME_UNLIMITEDr����� power_pluggedr����r����)rF���r���s��� r.����test_sensors_batteryz$TestSensorsAPIs.test_sensors_batterya��s���������$�&�&�������Q�/�/�/����S�[�#�.�.�.��<�� 9� &� ;� =��=��=��#�#�C�L�!�4�4�4�4��|�v�:�:�:����� 1�2�2�2����c�/��6�6�6�6�6r0���c������������������d����t����������j����������������������}|�����������������������������������D�]�\��}}|����������������������|t�����������������������|D�]d}|����������������������|j��������t�����������������������|����������������������|j��������t����������t����������f�������������|�� ��������������������|j��������d��������������e��d�S�r����) r8����sensors_fansr���r����r����r���rK��r����r���rT���)rF����fansr����r���r���s��� r.����test_sensors_fansz!TestSensorsAPIs.test_sensors_fanso��s��������"�$�$��!�Z�Z�\�\�� :�� :�M�D�'��!�!�$��,�,�,� �� :�� :���%�%�e�k�3�7�7�7��%�%�e�m�c�4�[�A�A�A��'�'�� �q�9�9�9�9� :� :�� :r0���N) r����r����r����r����r����r���r���r���r���r���r��r���r��r(���r0���r.���r���r���E��s����������������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�_�)�)�?�;�;�:��:��<�;�:��:��:r0���r����__main__)� run_from_name)<�__doc__r���r����r���r6���r����r!��r]��r����r���r����r{���r����r8���r���r���r���r���r���r���r ���r ���r���r����psutil._compatr ���r����psutil.testsr���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r ���r!���r"���r#���r%���r����r����r����rY��r���r���r�����psutil.tests.runnerr��r���r(���r0���r.����<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���