Edit File: test_process.cpython-311.pyc
� ����n�dn������������������������B����d�Z�ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl Z ddlZddlZddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�dd lmZ�dd lmZ�ddlmZ�ddlmZ�dd lmZ�ddlmZ�ddlmZ�ddlmZ�ddlm Z �ddl!m"Z"�ddl!m#Z#�ddl!m$Z$�ddl!m%Z%�ddl!m&Z&�ddl!m'Z'�ddl!m(Z(�ddl!m)Z)�ddl!m*Z*�ddl!m+Z+�ddl!m,Z,�ddl!m-Z-�ddl!m.Z.�ddl!m/Z/�dd l!m0Z0�dd!l!m1Z1�dd"l!m2Z2�dd#l!m3Z3�dd$l!m4Z4�dd%l!m5Z5�dd&l!m6Z6�dd'l!m7Z7�dd(l!m8Z8�dd)l!m9Z9�dd*l!m:Z:�dd+l!m;Z;�dd,l!m<Z<�dd-l!m=Z=�dd.l!m>Z>��G�d/��d0e2������������Z?er!�ej@����������������������dk����r�G�d1��d2e?������������ZA�G�d3��d4e2������������ZBeCd5k����rdd6lDmEZE��eEeF�������������dS�dS�)7�Tests for psutil.Process class.�����N)�AIX)�BSD)�LINUX)�MACOS)�NETBSD)�OPENBSD)�OSX)�POSIX)�SUNOS)�WINDOWS)� open_text)�PY3)�FileNotFoundError)�long)�super)�APPVEYOR)� CI_TESTING)�GITHUB_ACTIONS)�GLOBAL_TIMEOUT)�HAS_CPU_AFFINITY)�HAS_ENVIRON)� HAS_IONICE)�HAS_MEMORY_MAPS)�HAS_PROC_CPU_NUM)�HAS_PROC_IO_COUNTERS)� HAS_RLIMIT)�HAS_THREADS)�MACOS_11PLUS)�PYPY)� PYTHON_EXE)�PYTHON_EXE_ENV)�PsutilTestCase)� ThreadTask)� call_until)�copyload_shared_lib)� create_exe)�mock)�process_namespace�� reap_children)�retry_on_failure)�sh)�skip_on_access_denied)�skip_on_not_implemented)�wait_for_pidc�������������������� ����e�Zd�ZdZd��Zd��Zd��Zd��Zd��Z�e j ��������e�d������������d����������������Zd ��Z �e j ��������ed ������������d����������������Zd��Zd ��Zd��Zd��Zd��Zd��Zd��Z�e j ��������e�d������������d����������������Zd��Z�e j ��������e�d������������d����������������Z�e j ��������e�d�������������ee�������������d������������������������������Z�e j ��������e�d�������������e j ��������e�d������������d������������������������������Z �e j ��������e�d�������������e j ��������e!�d������������d������������������������������Z"�e j ��������e#�d������������d����������������Z$�e j ��������e#�d������������d����������������Z%�e j ��������e#�d������������d ����������������Z&�e j ��������e#�d������������d!����������������Z'�e j ��������e#�d������������d"����������������Z(d#��Z)�e j ��������e!�d$������������d%����������������Z*�e j ��������e+�d������������d&����������������Z,�e-���������������e.e/��������������e j ��������e+�d������������d'��������������������������������������������Z0�e-��������������d(����������������Z1d)��Z2�e j ��������e3�d������������d*����������������Z4�e j ��������e3�d������������d+����������������Z5d,��Z6d-��Z7d.��Z8d/��Z9�e j ��������e:d0������������d1����������������Z;d2��Z<�e j ��������e:d3������������d4����������������Z=�e j ��������e>d5�������������e j ��������e?d6�������������e j ��������e:d0������������d7��������������������������������������������Z@�e j ��������e�d������������d8����������������ZA�e j ��������e�d������������d9����������������ZBd:��ZCd;��ZDd<��ZEd=��ZFd>��ZG�e j ��������eH�d������������d?����������������ZI�e j ��������eH�d������������d@����������������ZJ�e j ��������eH�d������������dA����������������ZK�e j ��������eLdB�������������e j ��������eMdC������������dD������������������������������ZN�e j ��������eLdB�������������e j ��������eMdC������������dE������������������������������ZO�e j ��������e�d������������dF����������������ZP�ee��������������e j ��������eQpedG������������dH������������������������������ZRdI��ZSdJ��ZTdK��ZUdL��ZV�e-��������������dM����������������ZWdN��ZXdO��ZYdP��ZZdQ��Z[dR��Z\dS��Z]dT��Z^dU��Z_dV��Z`dW��ZadX��Zb�e j ��������e�d������������dY����������������Zc�e j ��������e�d������������dZ����������������Zd�e j ��������e�d������������d[����������������Zed\��Zfd]��Zg�e j ��������eh�d������������d^����������������Zi�e j ��������eh�d�������������e j ��������e�d�������������e j ��������ejd_������������d`��������������������������������������������ZkdaS�)b�TestProcessr���c������������������N������|�j���������|i�|��}t����������j��������|j��������������������S��N)�spawn_testproc�psutil�Process�pid)�self�args�kwargs�sprocs��� �l/builddir/build/BUILD/cloudlinux-venv-1.0.2/venv/lib64/python3.11/site-packages/psutil/tests/test_process.py�spawn_psproczTestProcess.spawn_psprocO���s+������#��#�T�4�V�4�4���~�e�i�(�(�(�����c�����������������������t����������j����������������������}|����������������������|j��������t ����������j�����������������������������������|����������������������t����������������������5��d|_��������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N�!���)r6���r7����assertEqualr8����os�getpid�assertRaises�AttributeError�r9����ps��� r=����test_pidzTestProcess.test_pidU���s��������N���������� ���,�,�,� � � �~� .� .�� �� ��A�E� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s����A/�/A3�6A3c������������������:����|�������������������������������������}|������������������������������������|�����������������������������������}t����������r!|����������������������|t ����������j���������������������n!|����������������������|t ����������j����������������������|����������������������|�������������d�S�r4���) r>����kill�waitr ���rB����signal�SIGTERM�SIGKILL�assertProcessGone�r9���rH����codes��� r=���� test_killzTestProcess.test_kill[���s������������� �������v�v�x�x���� 4����T�6�>�2�2�2�2����T�F�N�?�3�3�3����q�!�!�!�!�!r?���c������������������:����|�������������������������������������}|������������������������������������|�����������������������������������}t����������r!|����������������������|t ����������j���������������������n!|����������������������|t ����������j����������������������|����������������������|�������������d�S�r4���)r>���� terminaterL���r ���rB���rM���rN���rP���rQ���s��� r=����test_terminatezTestProcess.test_terminatee���s������������� ��� � � ��v�v�x�x���� 4����T�6�>�2�2�2�2����T�F�N�?�3�3�3����q�!�!�!�!�!r?���c������������������R����t�����������rt����������j��������nt����������j��������}|������������������������������������}|���������������������|�������������|�����������������������������������}t����������r|����������������������||�������������n|����������������������||��������������|�� ��������������������|�������������d�S�r4���) r���rM���rO���rN���r>����send_signalrL���r ���rB���rP���)r9����sigrH���rR���s��� r=����test_send_signalzTestProcess.test_send_signalo���s������� %�9�f�n�n�6�>�������� � � �c�����v�v�x�x���� )����T�3�'�'�'�'����T�C�4�(�(�(����q�!�!�!�!�!r?���z not POSIXc������������������ ����t�����������j��������}|������������������������������������}t����������j��������dt����������t����������j��������d�������������������������5��|����������������������t����������j ��������|j��������|�������������d�d�d��������������n#�1�swxY�w�Y���|������������������������������������}t����������j��������dt����������t����������j��������d�������������������������5��|����������������������t����������j ��������|j��������|�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nzpsutil.os.kill����side_effect)rM���rN���r>���r(����patch�OSError�errno�ESRCHrE���r6���� NoSuchProcessrX����EPERM�AccessDenied)r9���rY���rH���s��� r=����test_send_signal_mockedz#TestProcess.test_send_signal_mockedz���s�������n�������� �Z�(�$+�E�K��$<�$<�>��>��>�� H�� H����f�2�A�M�3�G�G�G� H�� H�� H�� H�� H�� H�� H�� H�� H�� H�� H����� H�� H�� H�� H�� ������ �Z�(�$+�E�K��$<�$<�>��>��>�� G�� G����f�1�1�=�#�F�F�F� G�� G�� G�� G�� G�� G�� G�� G�� G�� G�� G�� G����� G�� G�� G�� G�� G�� Gs$����'B�B� B�'D�D� Dc����������������������t�����������ddg}|����������������������|������������}|�����������������������������������}|����������������������|d�������������|����������������������|�������������t�����������ddg}|����������������������|t ����������j���������������������}|�����������������������������������}|����������������������|d�������������|����������������������|�������������t�����������ddg}|����������������������|������������}|�����������������������������������}|����������������������|d�������������|����������������������|�������������t�����������dd g}|����������������������|������������}|�����������������������������������}|����������������������|d�������������|����������������������|�������������d�S�) N�-c�passr���z1 / 0)�stderr����zimport sys; sys.exit(5);����zimport os; os._exit(5);)r!���r>���rL���rB���rP���� subprocess�PIPE)r9����cmdrH���rR���s��� r=����test_wait_exitedzTestProcess.test_wait_exited����sk�������4��(�����c�"�"���v�v�x�x������q�!�!�!����q�!�!�!��4��)�����c�*�/��:�:���v�v�x�x������q�!�!�!����q�!�!�!��4�!;�<�����c�"�"���v�v�x�x������q�!�!�!����q�!�!�!��4�!:�;�����c�"�"���v�v�x�x������q�!�!�!����q�!�!�!�!�!r?���zfails on NETBSDc������������������@����|�������������������������������������}t�����������r|���������������������t����������j���������������������|����������������������t����������j��������|j��������d��������������|���������������������t����������j ���������������������|����������������������t����������j��������|j��������d��������������|���������������������t����������j ���������������������|����������������������|�����������������������������������t����������j ����������������������|����������������������|�����������������������������������t����������j ����������������������d�S�|������������������������������������|����������������������t����������j��������|j��������d��������������|� �����������������������������������|����������������������t����������j��������|j��������d��������������|������������������������������������|����������������������|�����������������������������������t����������j ���������������������|����������������������|�����������������������������������t����������j ���������������������d�S�)N���MbP?)�timeout)r>���r���rX���rM����SIGSTOPrE���r6����TimeoutExpiredrL����SIGCONTrN���rB����suspend�resumerU���rG���s��� r=����test_wait_stoppedzTestProcess.test_wait_stopped����s�������������� 7�� �M�M�&�.�)�)�)����f�3�Q�V�U��K�K�K� �M�M�&�.�)�)�)����f�3�Q�V�U��K�K�K� �M�M�&�.�)�)�)����Q�V�V�X�X����7�7�7����Q�V�V�X�X����7�7�7�7�7� �I�I�K�K�K����f�3�Q�V�U��K�K�K� �H�H�J�J�J����f�3�Q�V�U��K�K�K� �K�K�M�M�M����Q�V�V�X�X�v�~�6�6�6����Q�V�V�X�X�v�~�6�6�6�6�6r?���c������������������l����|�������������������������������������\��}}|����������������������t����������j��������|j��������d�������������|����������������������t����������j��������|j��������d�������������|������������������������������������|������������������������������������|�����������������������������������}|�����������������������������������}t����������r9|����������������������|t����������j ����������������������|����������������������|d��������������d�S�|����������������������|t����������j ���������������������|����������������������|t����������j ���������������������d�S�)N�{�G�z�?) �spawn_children_pairrE���r6���ru���rL���rU���r���rB���rM���rN���)r9����child� grandchild� child_ret�grandchild_rets��� r=����test_wait_non_childrenz"TestProcess.test_wait_non_children����s ������!�4�4�6�6���z����&�/���T�B�B�B����&�/���$�G�G�G�� �������������J�J�L�L� �#���*�*���� 8����Y����8�8�8�� ���^�T�2�2�2�2�2����Y���7�7�7����Y���7�7�7�7�7r?���c������������������0����|�������������������������������������}|������������������������������������|����������������������t����������j��������|j��������d�������������|����������������������t����������j��������|j��������d�������������|����������������������t����������|j��������d�������������d�S�)Nr{���r������)r>����namerE���r6���ru���rL���� ValueErrorrG���s��� r=����test_wait_timeoutzTestProcess.test_wait_timeout����sz������������ ���������&�/����>�>�>����&�/����;�;�;����*�a�f�b�1�1�1�1�1r?���c������������������r����|�������������������������������������}|����������������������t����������j��������|j��������d�������������|������������������������������������t ����������j����������������������t����������z���}t ����������j����������������������|k�����rC �|���������������������d������������}nA#�t����������j��������$�r�Y�nw�xY�wt ����������j����������������������|k������C|����������������������d�������������t����������r"|�� ��������������������|t����������j����������������������n |�� ��������������������|t����������j ���������������������|����������������������|�������������d�S�)Nr���rs���)r>���rE���r6���ru���rL���rK����timer����failr���rB���rM���rO���rN���rP���)r9���rH����stop_atrR���s��� r=����test_wait_timeout_nonblockingz)TestProcess.test_wait_timeout_nonblocking����s��������������&�/����;�;�;� �������)�+�+��.���i�k�k�G�#�#� ��v�v�a�y�y�����(�� �� �� ��� ���� ��i�k�k�G�#�#���)�)�I�&�&�&��� 3����T�F�N�?�3�3�3�3����T�6�>�2�2�2����q�!�!�!�!�!s����B��B*�)B*c�����������������������t����������j����������������������}|���������������������d��������������|���������������������d��������������t����������d������������D�]I}|���������������������d��������������}|����������������������|t �����������������������|����������������������|d��������������J|����������������������t����������������������5��|���������������������d��������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nrr���)�interval�d������������r����) r6���r7����cpu_percent�range�assertIsInstance�float�assertGreaterEqualrE���r����)r9���rH����_�percents��� r=����test_cpu_percentzTestProcess.test_cpu_percent����s������N���� � � �u� �%�%�%� � � �u� �%�%�%��s���� 2�� 2�A��m�m�T�m�2�2�G��!�!�'�5�1�1�1��#�#�G�S�1�1�1�1� � � �z� *� *�� '�� '� �M�M�2�M�&�&�&� '�� '�� '�� '�� '�� '�� '�� '�� '�� '�� '�� '����� '�� '�� '�� '�� '�� 's����3C�C�Cc������������������������t����������j��������dd��������������5�}t����������j����������������������������������������������������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nzpsutil.cpu_count)�return_value)r(���r_���r6���r7���r�����called)r9����ms��� r=����test_cpu_percent_numcpus_nonez)TestProcess.test_cpu_percent_numcpus_none����s������� �Z�*�� >� >� >�� �!��N���(�(�*�*�*��8�O�O�O�O� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s����/A�A�Ac����������� �����������t����������j���������������������������������������������������������}|j��������dk����s|j��������dk����s J�|���������������|j��������dk����s J�|���������������|j��������dk����s J�|���������������t����������r|j��������dk����s J�|���������������|j ��������D�]7}t����������j��������dt����������j��������t����������||��������������������������������������8d�S�)Nr����z%H:%M:%S)r6���r7���� cpu_times�user�system� children_user�children_systemr����iowait�_fieldsr�����strftime� localtime�getattr)r9����timesr����s��� r=����test_cpu_timeszTestProcess.test_cpu_times����s��������� � �*�*�,�,��� �S� � �e�l�S�&8�&8�&8�5�&8�&8�&8��#�s�*�*�*�U�*�*�*��%��,�,�,�u�,�,�,��� .��<�3�&�&�&��&�&�&��M�� L�� L�D��M�*�d�n�W�U�D�5I�5I�&J�&J�K�K�K�K� L�� Lr?���c����������������������t����������j���������������������������������������������������������d�d����������\��}}t����������j����������������������d�d����������\��}}t����������||g������������t ����������||g������������z ��dk����r|����������������������d|�d|���������������t����������||g������������t ����������||g������������z ��dk����r|����������������������d|�d|���������������d�S�)N����皙�����?� expected: � , found: )r6���r7���r����rC���r�����max�minr����)r9���� user_time�kernel_time�utime�ktimes��� r=����test_cpu_times_2zTestProcess.test_cpu_times_2��s�������!'��!1�!1�!;�!;�!=�!=�b�q�b�!A�� �;��x�z�z�"�1�"�~���u� � ��E�"�#�#�c�9�e�*<�&=�&=�=��D�D��)�)�)���� � �J�K�K�K���e�$�%�%��[�%�,@�(A�(A�A�S�H�H��)�)�)������L�M�M�M��I�Hr?���z not supportedc������������������f����t����������j����������������������}|�����������������������������������}|����������������������|d�������������t����������j����������������������dk����r|����������������������|d�������������|����������������������|�����������������������������������t����������t����������j�����������������������������������������������d�S��Nr���rk���)r6���r7����cpu_numr����� cpu_countrB����assertInr����)r9���rH����nums��� r=����test_cpu_numzTestProcess.test_cpu_num��s��������N�����i�i�k�k������Q�'�'�'������"�"����S�!�$�$�$�� � �a�i�i�k�k�5��)9�);�);�#<�#<�=�=�=�=�=r?���c������������������Z����|�������������������������������������}t����������j����������������������}|�����������������������������������}t����������||z ��������������}|dk����r|����������������������d|�d|�d|���������������t����������j��������dt����������j��������|������������������������������������������������������������d�S�)Nr����r����r����z, difference: z%Y %m %d %H:%M:%S)r>���r�����create_time�absr����r����r����)r9���rH����nowr����� differences��� r=����test_create_timezTestProcess.test_create_time��s��������������i�k�k���m�m�o�o�� ���s�*�+�+� ���>�>��)�)�)�"�s�s�K�K�K���=��>��>�� >�� � �)�4�>�!�-�-�/�/�+J�+J�K�K�K�K�Kr?���z POSIX onlyc������������������������t����������j���������������������������������������������������������}|�Dt����������j�����������������������������t ����������d������������������������}|����������������������||�������������d�S�d�S�)N�tty)r6���r7����terminalrC����path�realpathr-���rB���)r9���r����r����s��� r=���� test_terminalzTestProcess.test_terminal)��s`�������>�#�#�,�,�.�.�����'�"�"�2�e�9�9�-�-�C����X�s�+�+�+�+�+�� �r?���)�only_ifc������������������R����t����������j����������������������}|�����������������������������������}t����������t����������d������������5�}|������������������������������������d�d�d��������������n#�1�swxY�w�Y���|�����������������������������������}t����������s�t����������s�|����������������������|j ��������|j ���������������������|�� ��������������������|j��������|j���������������������t����������r@|����������������������|j ��������|j ���������������������|�� ��������������������|j��������|j���������������������n@|����������������������|j��������|j���������������������|����������������������|j��������|j���������������������|�����������������������������������}t����������|������������������������������������d������������5�}t&����������r'|���������������������t+����������ddz��d�������������������������n|���������������������ddz���������������d�d�d��������������n#�1�swxY�w�Y���|�����������������������������������}|����������������������|j��������|j���������������������|����������������������|j��������|j���������������������|����������������������|j ��������|j ���������������������|����������������������|j��������|j���������������������t����������r@|����������������������|j��������|j���������������������|����������������������|j ��������|j ���������������������t-����������t/����������|������������������������D�]H}t����������r|dk����r�|����������������������||���������d�������������|����������������������||���������d��������������Id�S�)N�rb�wb�xi@B��asciir����r���)r6���r7����io_counters�openr!����readr���r���� assertGreater� read_countrB����write_countr���� read_chars�write_charsr����� read_bytes�write_bytes� get_testfnr����write�bytesr�����len)r9���rH����io1�f�io2�is��� r=����test_io_counterszTestProcess.test_io_counters0��s2������ �N�����m�m�o�o�� �*�d� #� #�� �q� �F�F�H�H�H� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� ��m�m�o�o���� F�3�� F����s�~�s�~�>�>�>����S�_�c�o�>�>�>��� C��"�"�3�>�3�>�B�B�B�� � ���#�/�B�B�B���#�#�C�N�C�N�C�C�C��#�#�C�O�S�_�E�E�E���m�m�o�o�� �$�/�/�#�#�T� *� *�� '�a��� '�����c�G�m�W�5�5�6�6�6�6�����g� �&�&�&� '�� '�� '�� '�� '�� '�� '�� '�� '�� '�� '����� '�� '�� '�� '� ��m�m�o�o���������A�A�A��������A�A�A��������?�?�?��������?�?�?��� D����s����@�@�@��#�#�C�N�C�N�C�C�C���s�3�x�x���� /�� /�A��� �q�A�v�v���#�#�C��F�A�.�.�.��#�#�C��F�A�.�.�.�.� /�� /s$����A�A"�%A"� AG�G �#G z linux onlyc����������������������t����������j����������������������}t����������s8|����������������������|�����������������������������������d���������t�����������j���������������������|����������������������t�����������j��������d�������������|����������������������t�����������j��������d�������������|����������������������t�����������j��������d�������������|����������������������t�����������j��������d�������������|�����������������������������������} �|���������������������t�����������j���������������������|����������������������t����������|�����������������������������������������������t�����������j��������df�������������|�� ��������������������t����������������������5��|���������������������t�����������j��������d��������������d�d�d��������������n#�1�swxY�w�Y���|���������������������t�����������j���������������������|����������������������t����������|�����������������������������������������������t�����������j��������df�������������|���������������������t�����������j��������d��������������|����������������������t����������|�����������������������������������������������t�����������j��������df�������������|�� ��������������������t����������������������5��|���������������������t�����������j��������d��������������d�d�d��������������n#�1�swxY�w�Y��� �|���������������������t�����������j��������d��������������n#�t�����������j��������$�r�Y�nw�xY�w|�� ��������������������t����������d|j��������t�����������j��������d�������������|�� ��������������������t����������d|j��������t�����������j��������d�������������|�� ��������������������t����������d |j��������d��������������|\��}}|t�����������j��������k����rd}|���������������������||�������������d�S�#�|\��}}|t�����������j��������k����rd}|���������������������||�������������w�xY�w) Nr���rk���r��������������value����zioclass accepts no valuez$'ioclass' argument must be specified)r6���r7���r���rB����ionice�IOPRIO_CLASS_NONE�IOPRIO_CLASS_RT�IOPRIO_CLASS_BE�IOPRIO_CLASS_IDLE�tuplerE���r����re����assertRaisesRegex)r9���rH����init�ioclassr����s��� r=����test_ionice_linuxzTestProcess.test_ionice_linux[��s������� �N������ F����Q�X�X�Z�Z��]�F�,D�E�E�E�����1�1�5�5�5�����/��3�3�3�����/��3�3�3�����1�1�5�5�5��x�x�z�z�� %� �H�H�V�-�.�.�.����U�1�8�8�:�:�.�.��1I�1�0M�N�N�N��"�"�:�.�.�� <�� <�����1���;�;�;� <�� <�� <�� <�� <�� <�� <�� <�� <�� <�� <����� <�� <�� <�� <�� �H�H�V�+�,�,�,����U�1�8�8�:�:�.�.��1G��0K�L�L�L� �H�H�V�+�1�H�5�5�5����U�1�8�8�:�:�.�.��1G��0K�L�L�L��"�"�:�.�.�� :�� :�����/�q��9�9�9� :�� :�� :�� :�� :�� :�� :�� :�� :�� :�� :����� :�� :�� :�� :� �����/�q��9�9�9�9���&�� �� �� ��� ����� �"�"��6���&�2�A� 7�� 7�� 7�� �"�"��6���&�2�A� 7�� 7�� 7�� �"�"��B����� #�� #�� #�� #��"�N�G�U��&�2�2�2��� �H�H�W�e�$�$�$�$�$���"�N�G�U��&�2�2�2��� �H�H�W�e�$�$�$�$���s{����(A:N��""F�N��F�N��F�CN��7"J%�N��%J)�)N��,J)�-N��1!K��N��K%�"N��$K%�%B�N��/Oz!not supported on this win versionc�����������������������t����������j����������������������}t����������s2|����������������������|�����������������������������������t�����������j���������������������|�����������������������������������} �|���������������������t�����������j���������������������|����������������������|�����������������������������������t�����������j���������������������|���������������������t�����������j���������������������|����������������������|�����������������������������������t�����������j��������������������� �|���������������������t�����������j���������������������|����������������������|�����������������������������������t�����������j���������������������n#�t�����������j ��������$�r�Y�nw�xY�w|�� ��������������������t����������d|j��������t�����������j��������d��������������|�� ��������������������t����������d|j��������t�����������j��������dz����������������|���������������������|�������������d�S�#�|���������������������|�������������w�xY�w)Nz&value argument not accepted on Windowsrk���r����zis not a valid priority) r6���r7���r���rB���r����� IOPRIO_NORMAL�IOPRIO_VERYLOW� IOPRIO_LOW�IOPRIO_HIGHre���r����� TypeErrorr����)r9���rH���r����s��� r=����test_ionice_winzTestProcess.test_ionice_win���s������� �N������ ?����Q�X�X�Z�Z��)=�>�>�>��x�x�z�z�� � �H�H�V�*�+�+�+����Q�X�X�Z�Z��)>�?�?�?� �H�H�V�&�'�'�'����Q�X�X�Z�Z��):�;�;�;� A�����+�,�,�,��� � ������V�-?�@�@�@�@����&�� �� �� ��� ���� � �"�"��C���&�.�a�� #�� 9�� 9�� 9�� �"�"��5���&�,�q�0� 2�� 2�� 2�� �H�H�T�N�N�N�N�N��A�H�H�T�N�N�N�N���s2����"B"G ��E��$3G ��E)�&G ��(E)�)A G �� G7c�����������������������dd�l�}t����������j��������t����������j����������������������������������}d��t����������t����������������������D���������������}|s J�|���������������|D��]}t ����������t����������|������������}|����������������������|d�������������|t����������|������������v�ri|����������������������|t ����������||�������������������������t����������r�k|����������������������|� ��������������������|������������|���������������������|���������������������������|� ��������������������|������������}|����������������������t����������|������������d�������������|����������������������|d���������d�������������|����������������������|d���������d���������������d�S�)Nr���c������������������<�����g�|�]}|����������������������d��������������|��S�)�RLIMIT�� startswith��.0r����s��� r=���� <listcomp>z/TestProcess.test_rlimit_get.<locals>.<listcomp>���s)������B�B�B�q�1�<�<��+A�+A�B��B�B�Br?���r����r����rk���) �resourcer6���r7���rC���rD����dirr����r����rB���r ����rlimit� getrlimitr����)r9���r��rH����namesr����r�����rets��� r=����test_rlimit_getzTestProcess.test_rlimit_get���s\����������N�2�9�;�;�'�'��B�B�C��K�K�B�B�B�����e������ 4�� 4�D��F�D�)�)�E��#�#�E�1�-�-�-��s�8�}�}�$�$�� � ����$�(?�(?�@�@�@������� � ����%���(�2D�2D�U�2K�2K�L�L�L�L��h�h�u�o�o��� � ��S���1�-�-�-��'�'��A���3�3�3��'�'��A���3�3�3�3� 4�� 4r?���c������������������R����|�������������������������������������}|���������������������t����������j��������d�������������|����������������������|���������������������t����������j��������������������d�������������t ����������re|����������������������t����������d������������5��t����������j��������� ��������������������d���������������������������������d�������������d�d�d��������������n#�1�swxY�w�Y���|�� ��������������������t����������������������5��|���������������������t����������j��������d�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N)rl���rl���zcan't use prlimitr���)rl���rl���rl���)r>���r��r6���� RLIMIT_NOFILErB���r���r����r�����_psplatformr7���rE���rG���s��� r=����test_rlimit_setzTestProcess.test_rlimit_set���sy����������� ����%�v�.�.�.�������&�"6�7�7��@�@�@���� 8��'�'� �4G�H�H�� 8�� 8��"�*�*�1�-�-�4�4�Q�7�7�7� 8�� 8�� 8�� 8�� 8�� 8�� 8�� 8�� 8�� 8�� 8����� 8�� 8�� 8�� 8� � � �z� *� *�� 6�� 6� �H�H�V�)�9�5�5�5� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6����� 6�� 6�� 6�� 6�� 6�� 6s$���� 3C � C �C �.!D�D �#D c����������������������t����������j����������������������}|������������������������������������}|���������������������t�����������j��������������������\��}} �|���������������������t�����������j��������d|f�������������t����������|d������������5�}|���������������������d�������������d�d�d��������������n#�1�swxY�w�Y���|����������������������t����������������������5�}t����������|d������������5�}|���������������������d�������������d�d�d��������������n#�1�swxY�w�Y���d�d�d��������������n#�1�swxY�w�Y���|�� ��������������������t����������r|j��������j��������n|j��������d���������t����������j ���������������������|���������������������t�����������j��������||f�������������|�� ��������������������|���������������������t�����������j��������������������||f�������������d�S�#�|���������������������t�����������j��������||f�������������|�� ��������������������|���������������������t�����������j��������������������||f�������������w�xY�w)N����r����s���XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXs��XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXr���)r6���r7���r����r���RLIMIT_FSIZEr����r����rE����IOErrorrB���r���� exceptionra����EFBIG)r9���rH����testfn�soft�hardr�����excs��� r=����test_rlimitzTestProcess.test_rlimit���sw������N�������"�"���X�X�f�1�2�2� ��d� J� �H�H�V�(�4��,�7�7�7��f�d�#�#�� %�q�����$�$�$� %�� %�� %�� %�� %�� %�� %�� %�� %�� %�� %����� %�� %�� %�� %���"�"�7�+�+�� )�s��&�$�'�'��)�1��G�G�K�(�(�(�)��)��)��)��)��)��)��)��)��)��)�����)��)��)��)� )�� )�� )�� )�� )�� )�� )�� )�� )�� )�� )����� )�� )�� )�� )�� ���C�M�S�]�0�0�S�]�1�=M�"�[� *�� *�� *�� �H�H�V�(�4��,�7�7�7����Q�X�X�f�&9�:�:�T�4�L�I�I�I�I�I��� �H�H�V�(�4��,�7�7�7����Q�X�X�f�&9�:�:�T�4�L�I�I�I�I���sz����2F0��=B�F0��B#�#F0��&B#�'F0��D�C7�+D�7C; �;D�>C; �?D�F0��D�F0��D�AF0��0AH c����������������������t����������j����������������������}|���������������������t�����������j��������������������\��}} �|���������������������t�����������j��������d|f�������������|���������������������t�����������j��������t�����������j��������|f�������������t����������|������������������������������������d������������5�}|���������������������d�������������d�d�d��������������n#�1�swxY�w�Y���|���������������������t�����������j��������||f�������������|����������������������|���������������������t�����������j��������������������||f�������������d�S�#�|���������������������t�����������j��������||f�������������|����������������������|���������������������t�����������j��������������������||f�������������w�xY�w)Nr ��r����s���XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) r6���r7���r��r��� RLIM_INFINITYr����r����r����rB���)r9���rH���r��r��r����s��� r=����test_rlimit_infinityz TestProcess.test_rlimit_infinity���s������� �N�����X�X�f�1�2�2� ��d� J� �H�H�V�(�4��,�7�7�7� �H�H�V�(�6�+?��*F�G�G�G��d�o�o�'�'��.�.�� %�!�����$�$�$� %�� %�� %�� %�� %�� %�� %�� %�� %�� %�� %����� %�� %�� %�� %�� �H�H�V�(�4��,�7�7�7����Q�X�X�f�&9�:�:�T�4�L�I�I�I�I�I��� �H�H�V�(�4��,�7�7�7����Q�X�X�f�&9�:�:�T�4�L�I�I�I�I���s1����A0D-��'C �=D-�� C � D-��C �D-��-AFc������������������������t����������j����������������������}|���������������������t�����������j��������������������\��}}|����������������������t�����������j��������|�������������|���������������������t�����������j��������||f�������������d�S�r4���)r6���r7���r��r��rB���r��)r9���rH���r��r��s��� r=����test_rlimit_infinity_valuez&TestProcess.test_rlimit_infinity_value���sc������� �N�����X�X�f�1�2�2� ��d�����-�t�4�4�4� ����$�t�T�l�3�3�3�3�3r?���c����������������������t����������j����������������������}t����������r= �|�����������������������������������}n;#�t�����������j��������$�r�t����������j��������d�������������w�xY�w|�����������������������������������}t������������������������5��|�����������������������������������}|����������������������||dz����������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N�$on OpenBSD this requires root accessrk���) r6���r7���r ����num_threadsre����unittest�SkipTestr$���rB���)r9���rH����step1�step2s��� r=����test_num_threadszTestProcess.test_num_threads���s������ �N������ $� P�� � �������&�� P�� P�� P��'�(N�O�O�O� P������M�M�O�O�E� �\�\�� /�� /��M�M�O�O�E����U�E�A�I�.�.�.� /�� /�� /�� /�� /�� /�� /�� /�� /�� /�� /�� /����� /�� /�� /�� /�� /�� /s����1��$A�:.B5�5B9�<B9zWINDOWS onlyc������������������|�����t����������j����������������������}|����������������������|�����������������������������������d�������������d�S��Nr���)r6���r7���r�����num_handlesrG���s��� r=����test_num_handleszTestProcess.test_num_handles��s5������� �N�������1�=�=�?�?�A�.�.�.�.�.r?���c����������������������t����������j����������������������}t����������r= �|�����������������������������������}n;#�t�����������j��������$�r�t����������j��������d�������������w�xY�w|�����������������������������������}t������������������������5��|�����������������������������������}|����������������������t����������|������������t����������|������������dz����������������|d���������}|����������������������|j ��������|d����������������������|����������������������|j��������|d����������������������|����������������������|j��������|d����������������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nr��rk���r���r����) r6���r7���r ����threadsre���r��r ��r$���rB���r�����idr�����system_time)r9���rH���r!��r"���athreads��� r=����test_threadszTestProcess.test_threads��so������N������ � P�� � �������&�� P�� P�� P��'�(N�O�O�O� P������I�I�K�K�E� �\�\�� >�� >��I�I�K�K�E����S��Z�Z��U���a��8�8�8��A�h�G����W�Z����4�4�4����W�.��� �;�;�;����W�0�'�!�*�=�=�=� >�� >�� >�� >�� >�� >�� >�� >�� >�� >�� >�� >����� >�� >�� >�� >�� >�� >s����1��$A�:B3D:�:D>�D>c����������������������|�������������������������������������}t����������r= �|������������������������������������n'#�t����������j��������$�r�t����������j��������d�������������w�xY�w|����������������������|�����������������������������������j ��������t����������d��|�����������������������������������D���������������������������d��������������|����������������������|�����������������������������������j��������t����������d��|�����������������������������������D���������������������������d��������������d�S�)Nr��c�����������������������g�|�] }|j����������� S���)r����r����s��� r=���r���z.TestProcess.test_threads_2.<locals>.<listcomp>/��s������2�2�2����2�2�2r?���r����)�deltac�����������������������g�|�] }|j����������� S�r0��)r+��r����s��� r=���r���z.TestProcess.test_threads_2.<locals>.<listcomp>2��s������4�4�4�1���4�4�4r?���)r>���r ���r)��r6���re���r��r ���assertAlmostEqualr����r�����sumr����rG���s��� r=����test_threads_2zTestProcess.test_threads_2"��s������ �������� <� <�� � �������&�� <�� <�� <��'�:�<��<��<� <����� ��� �K�K�M�M���2�2�a�i�i�k�k�2�2�2�3�3�3�� �� @�� @�� @�� ��� �K�K�M�M� ��4�4�� � ���4�4�4�5�5�S�� �� B�� B�� B�� B�� Bs ����2��$Ac����������������������t����������j����������������������}|�����������������������������������d�d����������\��}}|�����������������������������������}|����������������������|d�������������|����������������������|d�������������d�gdz��}|�����������������������������������d�d����������\��}}|�����������������������������������}|����������������������||�������������|����������������������||�������������|����������������������||�������������~t����������rT|�����������������������������������} |����������������������| j��������| j ���������������������|����������������������| j ��������| j���������������������|�����������������������������������} | j��������D�]&} |����������������������t����������| | ������������d��������������'d�S�)Nr����r���i`��)r6���r7����memory_info�memory_percentr����r����r ���rB����rss�wset�vms�pagefiler����r����)r9���rH����rss1�vms1�percent1�memarr�rss2�vms2�percent2�memr����s��� r=����test_memory_infozTestProcess.test_memory_info4��s|������N������]�]�_�_�R�a�R�(� ��d��#�#�%�%�����4��#�#�#����4��#�#�#����'�!���]�]�_�_�R�a�R�(� ��d��#�#�%�%��� ���4��&�&�&�����d�+�+�+����8�X�.�.�.���� 4��-�-�/�/�C����S�W�c�h�/�/�/����S�W�c�l�3�3�3��m�m�o�o���K�� ;�� ;�D��#�#�G�C��$6�$6��:�:�:�:� ;�� ;r?���c������������������*����t����������j����������������������}t����������j����������������������j��������}|�����������������������������������}|j��������D�]\}t ����������||������������}|����������������������|d||f��������������|dk����rt����������st����������r�A|�� ��������������������|||||f���������������]t����������st����������st����������r|����������������������|j ��������d�������������t����������r8|����������������������|j��������d�������������|����������������������|j��������d�������������d�S�d�S�)Nr���)�msgr;��)r6���r7����virtual_memory�total�memory_full_infor����r����r����r ���r����assertLessEqualr ���r����uss�pss�swap)r9���rH���rI��rD��r����r����s��� r=����test_memory_full_infoz!TestProcess.test_memory_full_infoS��s!������N�����%�'�'�-��� � �"�"���K�� I�� I�D��C��&�&�E��#�#�E�1�4��-�#�@�@�@��u�}�}��}��}��� � ���D�%��3G� �H�H�H�H��� 0�G�� 0�u�� 0��#�#�C�G�Q�/�/�/��� 1��#�#�C�G�Q�/�/�/��#�#�C�H�a�0�0�0�0�0� 1�� 1r?���c�����������������������t����������j����������������������}|�����������������������������������}|����������������������t ����������|������������t ����������t����������|�������������������������������������|���������������������d�������������}|D��]�}|j�����������������������������d�������������sot����������j��������� ��������������������|j��������������������sJ�|j�����������������������t����������r� �t����������j�����������������������������|j��������������������s3t����������j�����������������������������|j��������������������sJ�|j�������������������������#�t����������$�rT�t����������s��t����������d������������5�}|�����������������������������������}d�d�d��������������n#�1�swxY�w�Y���d|j��������z��|vr��Y���w�xY�wdt����������j�����������������������������|j��������������������vrU �t����������j��������|j��������������������}t%����������j��������|j��������������������sJ�|j�������������������������|#�t*����������$�r�Y����w�xY�w���|D�]f}|j��������D�]\}t/����������||������������} |dk����r�|dv�r | s J�| ����������������*|����������������������| t2����������t4����������f�������������| d k����s J�| ����������������]�gd�S�) NF)�grouped�[z/proc/self/smapsz%s (deleted)�64r����)�addr�permsr���)r6���r7����memory_mapsrB���r�����setr����r����rC����isabsr����exists�islink�AssertionErrorr���r���r�����basename�stat�S_ISREG�st_moder���r����r����r�����intr���) r9���rH����maps�ext_maps�ntr�����data�st�fnamer����s ��� r=����test_memory_mapszTestProcess.test_memory_mapsc��s�������N�����}�}��������T���C��D� � �N�N�3�3�3��=�=��=�/�/���� E�� E�B��7�%�%�c�*�*�� E��w�}�}�R�W�-�-�6�6�r�w�6�6�6���E�&�!�w�~�~�b�g�6�6��=��G�N�N�2�7�3�3�=��=�57�W�=��=��=���)��&��&��&�$��&�!��"+�+=�!>�!>��0�!�'(�v�v�x�x��0��0��0��0��0��0��0��0��0��0��0�����0��0��0��0�-���7�t�C�C� %�� D�C�&������2�7�#3�#3�B�G�#<�#<�<�<�E�!#����!1�!1�B��$(�<�� �#;�#;�D�D�R�W�D�D�D�D��� 1��!��!��!� �D�!�������� -�� -�B���� -�� -����E�*�*���F�?�?���/�/�/� �'�'�%�'�'�'�'��)�)�%�#�t��=�=�=� �A�:�:�:�u�:�:�:�:� -� -�� -sI����AD.�.!F�E0�$F�0E4�4F�7E4�8F�F�6G9�9 H�Hc������������������������t����������j����������������������}t������������������������5�}d����fd�|�����������������������������������D���������������}|������������������������|������������|�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nc������������������z�����t�����������j�����������������������������t�����������j�����������������������������|�������������������������S�r4���)rC���r����r�����normcase)rH���s��� r=����normpathz8TestProcess.test_memory_maps_lists_lib.<locals>.normpath���s(�������w�'�'���(8�(8��(;�(;�<�<�<r?���c������������������0������g�|�]}��|j�����������������������S�r0��)r����)r����r����rk��s��� �r=���r���z:TestProcess.test_memory_maps_lists_lib.<locals>.<listcomp>���s5��������2��2��2���!����(�(��2��2��2r?���)r6���r7���r&���rV��r����)r9���rH���r�����libpathsrk��s��� @r=����test_memory_maps_lists_libz&TestProcess.test_memory_maps_lists_lib���s��������� �N���� � "� "�� 4�d� =�� =�� =�2��2��2��2�!"�����2��2��2�H��M�M�(�(�4�.�.�(�3�3�3� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4����� 4�� 4�� 4�� 4�� 4�� 4s����AA3�3A7�:A7c������������������������t����������j����������������������}|������������������������������������|����������������������t����������|j��������d��������������t ����������st����������st����������r|���������������������d��������������d�S�d�S�)Nz?!?)�memtyperL��)r6���r7���r8��rE���r����r���r���r ���rG���s��� r=����test_memory_percentzTestProcess.test_memory_percent���s|�������N���� ���������*�a�&6���F�F�F��� ,�E�� ,�W�� ,� ���U��+�+�+�+�+� ,�� ,r?���c������������������.����|�������������������������������������}|�����������������������������������sJ��|�����������������������������������sJ��|������������������������������������|������������������������������������|�����������������������������������rJ��|�����������������������������������rJ��d�S�r4���)r>���� is_runningrK���rL���rG���s��� r=����test_is_runningzTestProcess.test_is_running���s��������������|�|�~�~�����|�|�~�~���� ������ �������<�<�>�>�!�!�!��<�<�>�>�!�!�!�!�!r?���c�����������������������|�������������������������������������}|�����������������������������������} �|����������������������|t�����������������������n�#�t����������$�r��t ����������rdt ����������|������������t ����������t����������������������k����r?t����������j��������j ��������}|�����������������������||�������������|t�����������������������������������nvt����������j��������d����������dt����������j��������d�����������} �|����������������������|���������������������|d������������t����������j��������|d�������������������������n#�t����������$�r�Y�nw�xY�wY�nw�xY�wt����������|ddg������������}|����������������������|d�������������d�S�)Nr����.rk���r\���rh���zimport os; print('hey')�hey)r>����exerB���r!���r[��r ���r����rC���r����rj���sys�version_info�replacer-���)r9���rH���rx��rj���ver�outs��� r=����test_exezTestProcess.test_exe���sl������������e�e�g�g�� ����S�*�-�-�-�-���� �� �� ��� �3�s�8�8�s�:���6�6��7�+��� � ���#������0D�0D�E�E�E�E��"%�!1�!�!4�!4�!4�c�6F�q�6I�6I�J����$�$�S�[�[��b�%9�%9�%/�%7��R�%@�%@�B��B��B��B��%��������D�������! ����(��#�t�6�7�8�8������e�$�$�$�$�$s6����A��BD4�#=D!� D4�! D.�+D4�-D.�.D4�3D4c����������������������t�����������ddg}|����������������������|������������}t����������st����������st����������r5|����������������������|�����������������������������������d���������t������������������������d�S�t����������r�t����������r�|�����������������������������������d���������}|t�����������k����r`|����������������������d� ��������������������|�����������������������������������dd�����������������������d� ��������������������|dd������������������������������������d�S�|����������������������d� ��������������������|�����������������������������������������������d� ��������������������|�������������������������d�S�)Nrh���zimport time; time.sleep(60)r���� rk���) r!���r>���r���r ���r���rB����cmdliner���r����join)r9���r���rH����pyexes��� r=����test_cmdlinezTestProcess.test_cmdline���s������t�%B�C�����g�&�&����� G�W�� G��� G����Q�Y�Y�[�[��^�Z�8�8�8�8�8��� ��� �� � ���A����J�&�&��$�$�S�X�X�a�i�i�k�k�!�"�"�o�%>�%>�%(�X�X�g�a�b�b�k�%:�%:�<��<��<��F����S�X�X�a�i�i�k�k�2�2�C�H�H�W�4E�4E�F�F�F�F�Fr?���zbroken on PYPYc����������������������|�������������������������������������}t����������|�������������|gdgdz��z���}|����������������������|������������}t����������rS �|����������������������|�����������������������������������|�������������d�S�#�t����������j��������$�r�|����������������������d�������������w�xY�w|����������������������|�����������������������������������|�������������d�S�)N� 0123456789����z#OPENBSD: process turned into zombie) r����r'���r>���r ���rB���r���r6���� ZombieProcess�skipTest)r9���r��r���rH���s��� r=����test_long_cmdlinezTestProcess.test_long_cmdline���s����������"�"���6�����(�|�n�r�1�2�����g�&�&���� 3� K�� � ������g�6�6�6�6�6���'�� K�� K�� K��m�m�$I�J�J�J� K����� ���Q�Y�Y�[�[�'�2�2�2�2�2s����(A5��5%Bc������������������x����|�����������������������t����������������������}|����������������������������������������������������������������������}t����������j�����������������������������t����������j�����������������������������t����������j �������������������������������������������������������������������}|� ��������������������|������������sJ�||f���������������d�S�r4���)r>���r!���r�����lowerrC���r����r\��r����ry��� executabler����)r9���rH���r����r���s��� r=���� test_namezTestProcess.test_name���s����������j�)�)���v�v�x�x�~�~������ � ���!1�!1�#�.�!A�!A�B�B�H�H�J�J������%�%�4�4��t�}�4�4�4�4�4r?���zunreliable on PYPYc����������������������|�����������������������d�������������}t����������|�������������|����������������������|������������}t����������r� �|����������������������|�����������������������������������t����������j�����������������������������|�������������������������d�S�#�t����������$�rn�|� ����������������������������������t����������j��������k����rGt����������j�����������������������������|������������� ��������������������|�����������������������������������������������sJ��n��Y�d�S�w�xY�w|����������������������|�����������������������������������t����������j�����������������������������|�������������������������d�S�)N�01234567890123456789��suffix)r����r'���r>���r ���rB���r����rC���r����r\��r[���statusr6���� STATUS_ZOMBIEr����)r9���r��rH���s��� r=����test_long_namezTestProcess.test_long_name���s$��������(8��9�9���6�������f�%�%���� A� �� � ������2�7�+;�+;�F�+C�+C�D�D�D�D�D��!�� �� �� ��8�8�:�:��!5�5�5��7�+�+�F�3�3�>�>�q�v�v�x�x�H�H�H�H�H�H���I�H�H� ����� ���Q�V�V�X�X�r�w�'7�'7��'?�'?�@�@�@�@�@s����AB �� A4D�Dzbroken on SUNOSz broken on AIXc������������������*����|�����������������������d�������������}t����������|�������������|ddddddg}|����������������������|������������}|����������������������|�����������������������������������|�������������|����������������������|�����������������������������������t����������j�����������������������������|�������������������������|����������������������t����������j��������� ��������������������|� ����������������������������������������������t����������j��������� ��������������������|�������������������������d�S�)Nz foo bar )r���rh���z9import time; [time.sleep(0.01) for x in range(3000)];arg1�arg2r\����arg3)r����r'���r>���rB���r���r����rC���r����r\��rj��rx��)r9���� funky_pathr���rH���s��� r=����test_prog_w_funky_namez"TestProcess.test_prog_w_funky_name��s���������_�_�K�_�8�8� ��:�����t��!�2�v�r�3��� ���g�&�&����������g�.�.�.���������2�7�#3�#3�J�#?�#?�@�@�@������)�)�!�%�%�'�'�2�2���)�)�*�5�5� 7�� 7�� 7�� 7�� 7r?���c����������������������t����������j����������������������}|�����������������������������������\��}}}|����������������������|t ����������j�����������������������������������|����������������������|t ����������j�����������������������������������t����������t����������d������������r;|����������������������t ����������j����������������������|������������������������������������������������d�S�d�S��N� getresuid) r6���r7����uidsrB���rC����getuid�geteuid�hasattrr����r9���rH����real� effective�saveds��� r=���� test_uidszTestProcess.test_uids����������N����!"�������i������r�y�{�{�+�+�+�����B�J�L�L�1�1�1���2�{�#�#�� 7����R�\�^�^�Q�V�V�X�X�6�6�6�6�6� 7�� 7r?���c����������������������t����������j����������������������}|�����������������������������������\��}}}|����������������������|t ����������j�����������������������������������|����������������������|t ����������j�����������������������������������t����������t����������d������������r;|����������������������t ����������j����������������������|������������������������������������������������d�S�d�S�r���) r6���r7����gidsrB���rC����getgid�getegidr���� getresgidr���s��� r=���� test_gidszTestProcess.test_gids(��r���r?���c������������������(����t����������j����������������������}|����������������������t����������|j��������d�������������|�����������������������������������} �t ����������r�d�}t�����������j��������t�����������j��������t�����������j��������t�����������j ��������t�����������j ��������t�����������j��������fD�]�}|����������������������|�������������5�� �|���������������������|�������������|�����������������������������������}t����������r!||k����s|�|}|����������������������||�������������n,|����������������������||�������������n#�t�����������j��������$�r�Y�nw�xY�wd�d�d��������������n#�1�swxY�w�Y������nn �t!����������t"����������d������������rV|����������������������t#����������j��������t"����������j��������t#����������j����������������������������������|������������������������������������������������|���������������������d�������������|����������������������|�����������������������������������d�������������t!����������t"����������d������������rV|����������������������t#����������j��������t"����������j��������t#����������j����������������������������������|������������������������������������������������t*����������s=|���������������������d�������������|����������������������|�����������������������������������d�������������n#�t�����������j��������$�r�Y�nw�xY�w �|���������������������|�������������d�S�#�t�����������j��������$�r�Y�d�S�w�xY�w#� �|���������������������|�������������w�#�t�����������j��������$�r�Y�w�w�xY�wxY�w)N�str)�prio�getpriorityrk���r���)r6���r7���rE���r�����nicer ����IDLE_PRIORITY_CLASS�BELOW_NORMAL_PRIORITY_CLASS�NORMAL_PRIORITY_CLASS�ABOVE_NORMAL_PRIORITY_CLASS�HIGH_PRIORITY_CLASS�REALTIME_PRIORITY_CLASS�subTestr���rB���re���r���rC���r����PRIO_PROCESSrD���r���)r9���rH���r�����highest_prior����new_prios��� r=���� test_nicezTestProcess.test_nice6��s>������N�������)�Q�V�U�3�3�3��v�v�x�x��0 ���* �� $��#�7�#�?�#�9�#�?�#�7�#�;�=��A��A�D�����4��0�0��A��A�A��F�F�4�L�L�L��()�v�v�x�x�H�)��A�#+�t�#3�#3�|�7K�37�L� $� 0� 0��<� H� H� H� H� $� 0� 0��4� @� @� @� @��� &�2��!��!��!� �D�!����A��A��A��A��A��A��A��A��A��A��A�����A��A��A��A�� A�(��r�=�1�1��&��(�(��N�2�?�B�I�K�K�H�H��F�F�H�H�&��&��&���F�F�1�I�I�I��$�$�Q�V�V�X�X�q�1�1�1��r�=�1�1��&��(�(��N�2�?�B�I�K�K�H�H��F�F�H�H�&��&��&� �!��6����q� � � ��(�(������1�5�5�5����*��������D����� ����t��������&�� �� �� ���� ����� ����t�������&�� �� �� ��� ������s����� A%K$��/D:�1D�AD:�D+�(D:�*D+�+D:�.K$��:D> �>K$��D> �K$�� EJ!�� K$��!J3�0K$��2J3�3K$��7K��K!� K!�$L�&K<�;L�<L�L� L�Lc�����������������������t����������j����������������������}|����������������������|�����������������������������������t�����������j���������������������d�S�r4���)r6���r7���rB���r����STATUS_RUNNINGrG���s��� r=����test_statuszTestProcess.test_statusl��s6�������N������������V�%:�;�;�;�;�;r?���c����������������������|�������������������������������������}|�����������������������������������}t����������r�|���������������������d������������\��}}t ����������j����������������������}|���������������������d������������rt����������j��������d�������������|�� ��������������������||�������������dt����������j��������v�r(|�� ��������������������|t����������j��������d����������������������d�S�d�S�|�� ��������������������|t ����������j�����������������������������������d�S�)N�\�$zrunning as service account� USERDOMAIN)r>����usernamer ����split�getpass�getuser�endswithr��r ��rB���rC����environ)r9���rH���r����domain�getpass_users��� r=���� test_usernamezTestProcess.test_usernamep��s��������������:�:�<�<���� :�'�~�~�d�3�3��F�H�"�?�,�,�L��$�$�S�)�)�� F���'�(D�E�E�E����X�|�4�4�4��r�z�)�)�� � ����L�)A�B�B�B�B�B��*�)�� ���X�w��'8�'8�9�9�9�9�9r?���c�����������������������|�������������������������������������}|����������������������|�����������������������������������t����������j�����������������������������������d�S�r4���)r>���rB����cwdrC����getcwdrG���s��� r=����test_cwdzTestProcess.test_cwd���s=��������������������"�)�+�+�.�.�.�.�.r?���c������������������n�����t�����������ddg}|����������������������|������������}t����������|j��������d�������������d�S�)Nrh���z/import os, time; os.chdir('..'); time.sleep(60)z#ret == os.path.dirname(os.getcwd()))r!���r>���r%���r���)r9���ro���rH���s��� r=���� test_cwd_2zTestProcess.test_cwd_2���s>�������4�@�B�����c�"�"���1�5�?�@�@�@�@�@r?���c����������� ������������t����������j����������������������}|�����������������������������������}|s J�|���������������|����������������������|j��������|�������������t ����������t ����������d������������r:|����������������������|t����������t����������j��������|j ���������������������������������������������|����������������������t����������|������������t����������t����������|�������������������������������������t����������t����������t����������t����������j ��������d�������������������������������������������������}|D�]�}|���������������������|g�������������|����������������������|�����������������������������������|g�������������t ����������t ����������d������������rL|����������������������|�����������������������������������t����������t����������j��������|j ���������������������������������������������t ����������|d������������r@|����������������������|�����������������������������������d���������|��������������������������������������������������|���������������������g��������������t����������r@|����������������������|�����������������������������������|j��������������������������������������������������������n(|����������������������|�����������������������������������|�������������t ����������t ����������d������������rL|����������������������|�����������������������������������t����������t����������j��������|j ���������������������������������������������|����������������������t&����������|j��������d�������������|���������������������|�������������|���������������������t����������|�������������������������|���������������������t)����������|�������������������������d�S�)N�sched_getaffinityT��percpu�num_cpur���rk���)r6���r7����cpu_affinity� addCleanupr���rC���rB����listr���r8���r����rW��r����r����r���r����_proc�_get_eligible_cpusrE���r����r����)r9���rH����initial�all_cpus�ns��� r=����test_cpu_affinityzTestProcess.test_cpu_affinity���s�������N�����.�.�"�"���������������0�0�0��2�*�+�+�� I����W�d�2�+?���+F�+F�&G�&G�H�H�H�����W���s�3�w�<�<�'8�'8�9�9�9���c�&�"4�D�"A�"A�"A�B�B�C�C�D�D���� C�� C�A� �N�N�A�3�������Q�^�^�-�-��s�3�3�3��r�.�/�/�� D�� � ����!1�!1�!%�b�&:�1�5�&A�&A�!B�!B�D��D��D���q�)�$�$�� C�� � ����!1�!1�!�!4�a�i�i�k�k�B�B�B�� � ���r������ 9����Q�^�^�-�-�q�w�/I�/I�/K�/K�L�L�L�L����Q�^�^�-�-�x�8�8�8��2�*�+�+�� @����Q�^�^�-�-�!�"�"6�q�u�"=�"=�>�>� @�� @�� @�� ���)�Q�^�Q�7�7�7� ���w���� ���s�8�}�}�%�%�%� ���u�X���'�'�'�'�'r?���c����������������������|�������������������������������������}t����������t����������j��������d�������������������������dz���g}|����������������������t ����������|j��������|�������������|����������������������t ����������|j��������t����������dd�������������������������|����������������������t����������|j��������ddg�������������|����������������������t ����������|j��������ddg�������������d�S�) NTr���� ���i'��i�*��r����1r����) r>���r����r6���r����rE���r����r���r����r����)r9���rH����invalid_cpus��� r=����test_cpu_affinity_errsz"TestProcess.test_cpu_affinity_errs���s��������������6�+�4�8�8�8�9�9�B�>�?�����*�a�n�k�B�B�B����*�a�n�e�E�5�6I�6I�J�J�J����)�Q�^�a��X�>�>�>����*�a�n�q�"�g�>�>�>�>�>r?���c������������������V����t����������j����������������������}|�����������������������������������}|s J�|���������������|����������������������|j��������|�������������t ����������|������������dk����r |d�d����������}g�}t����������dt ����������|������������dz���������������D�]>}t ����������j��������||������������D�]&}|r"|���������������������t����������|��������������������������'�?|D�]Y}|���������������������|�������������|�� ��������������������t����������|�����������������������������������������������t����������|��������������������������Zd�S�)N����r���rk���)r6���r7���r���r���r����r����� itertools�combinations�appendr���rB����sorted)r9���rH���r����combosr�����subset�combos��� r=����"test_cpu_affinity_all_combinationsz.TestProcess.test_cpu_affinity_all_combinations���s5������N�����.�.�"�"���������������0�0�0���w�<�<�"����c�r�c�l�G����q�#�g�,�,��*�+�+�� 0�� 0�A�#�0��!�<�<�� 0�� 0����0��M�M�$�v�,�,�/�/�/�� 0���� F�� F�E� �N�N�5�!�!�!����V�A�N�N�$4�$4�5�5�v�e�}�}�E�E�E�E� F�� Fr?���z broken on BSDzunreliable on APPVEYORc������������������v����t����������j����������������������}|������������������������������������}|�����������������������������������}|����������������������||�������������t����������|d������������5�}|���������������������d�������������|������������������������������������t����������|j��������dt����������|������������z��������������}d��|D���������������}|�� ��������������������t����������j��������� ��������������������|������������|�������������t����������r+|D�](}|j��������|k����r|����������������������|j��������d��������������)d�d�d��������������n#�1�swxY�w�Y���|D�]0}t����������j�����������������������������|j��������������������s J�|����������������1d|z��}|����������������������t&����������d|g������������}t)����������d������������D�]:}d ��|�����������������������������������D���������������}||v�r�nHt+����������j��������d ��������������;|�� ��������������������t����������j��������� ��������������������|������������|�������������|D�]+}t����������j�����������������������������|������������s J�|����������������,d�S�)Nr����s���xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzlen(ret) != %ic������������������V�����g�|�]&}t�����������j�����������������������������|j����������������������'S�r0���rC���r����rj��r����s��� r=���r���z/TestProcess.test_open_files.<locals>.<listcomp>���s*������A�A�A�a���)�)�!�&�1�1�A�A�Ar?���r ��z2import time; f = open(r'%s', 'r'); time.sleep(60);rh���r����c������������������V�����g�|�]&}t�����������j�����������������������������|j����������������������'S�r0��r���r����s��� r=���r���z/TestProcess.test_open_files.<locals>.<listcomp>���s*������J�J�J�a���)�)�!�&�1�1�J�J�Jr?���r{���)r6���r7���r����� open_files�assertNotInr����r�����flushr%���r����r����rC���r����rj��r���rB����position�isfiler>���r!���r����r�����sleep) r9���rH���r���filesr����� filenames�filer���r����s ��� r=����test_open_fileszTestProcess.test_open_files���se������ �N�������"�"�������������'�'�'� �&�$� � �� >�1� �G�G�K� � � � �G�G�I�I�I��q�|�-=��E� � �-J�K�K�E�A�A�5�A�A�A�I��M�M�"�'�*�*�6�2�2�I�>�>�>��� >�!��>��>�D��y�F�*�*��(�(����=�=�=�� >�� >�� >�� >�� >�� >�� >�� >�� >�� >�� >����� >�� >�� >�� >���� 3�� 3�D��7�>�>�$�)�,�,�2�2�d�2�2�2�2��G��O�����z�4��9�:�:���s���� ?�� ?�A�J�J�1�<�<�>�>�J�J�J�I���"�"����J�s�O�O�O�O��M�M�"�'�*�*�6�2�2�I�>�>�>��� .�� .�D��7�>�>�$�'�'�-�-��-�-�-�-� .�� .s����"C�D.�.D2�5D2c����������������������t����������j����������������������}t����������j��������j��������}|������������������������������������}t ����������|d������������5�}|�����������������������������������D�]C}�||j���������������������||j��������������������k����s|j ��������|� ����������������������������������k����r�n8�D|����������������������dt����������|�����������������������������������������������z���������������|�� ���������������������||j���������������������||j���������������������������������t����������r|�� ��������������������|j ��������d�������������n-|�� ��������������������|j ��������|� �����������������������������������������������|�����������������������������������d���������}|�� ��������������������|d���������|j���������������������|�� ��������������������|d���������|j ���������������������|����������������������|j��������|������������������������������������������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N�wzno file found; files=%sr����r���rk���)r6���r7���rC���r����rj��r����r����r���r�����fd�filenor�����reprrB���r ���r���)r9���rH���rj��r���fileobjr����ntuples��� r=����test_open_files_2zTestProcess.test_open_files_2���s����� � �N�����7�#�����"�"�� �&�#� � �� ;�'������� 7�� 7���8�D�I�&�&�(�(�7�<�*@�*@�@�@���7�>�>�#3�#3�3�3��E��4���i�i� 9� $�Q�\�\�^�^� 4� 4�!6��7��7��7����X�X�d�i�0�0�(�(�7�<�2H�2H�I�I�I��� <�� � ���"�-�-�-�-�� � ���'�.�.�*:�*:�;�;�;��\�\�^�^�A�&�F����V�A�Y���4�4�4����V�A�Y�� �2�2�2����W�\�1�<�<�>�>�:�:�:�% ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;����� ;�� ;�� ;�� ;�� ;�� ;s���� FG1�1G5�8G5c������������������v����t����������j����������������������}|������������������������������������}|�����������������������������������}t ����������|d������������}|����������������������|j���������������������|����������������������|�����������������������������������|dz����������������t����������j����������������������}|����������������������|j���������������������|����������������������|�����������������������������������|dz����������������|������������������������������������|������������������������������������|����������������������|�����������������������������������|�������������d�S�)Nr���rk���r����) r6���r7���r�����num_fdsr����r����closerB����socket)r9���rH���r���startr����socks��� r=����test_num_fdszTestProcess.test_num_fds��s��������N�������"�"��� � �����F�C� � ������ �#�#�#���������e�a�i�0�0�0��}�������� �#�#�#���������e�a�i�0�0�0�� � ����� � ������������e�,�,�,�,�,r?���z not reliable on OPENBSD & NETBSDc����������������������t����������j����������������������}t����������|�����������������������������������������������}t ����������d������������D�],}t����������|�����������������������������������������������}||k����r�d�S��-|����������������������d�������������)Ni ��z7num ctx switches still the same after 50.000 iterations)r6���r7���r4���num_ctx_switchesr����r����)r9���rH����beforer�����afters��� r=����test_num_ctx_switchesz!TestProcess.test_num_ctx_switches!��s�������� �N�����Q�'�'�)�)�*�*���v���� �� �A���*�*�,�,�-�-�E��v�~�~�������i�i�E�G��G�� Gr?���c������������������t����t����������j����������������������}t����������t����������d������������r9|����������������������|�����������������������������������t����������j�����������������������������������|������������������������������������}|����������������������|�����������������������������������t����������j�����������������������������������t����������rd�S�d�S�)N�getppid) r6���r7���r���rC���rB����ppidr��r>���rD���r���rG���s��� r=���� test_ppidzTestProcess.test_ppid-��s��������N�����2�y�!�!�� 5����Q�V�V�X�X�r�z�|�|�4�4�4���������������2�9�;�;�/�/�/��� �� �F� �� r?���c������������������N����|�������������������������������������}|����������������������|�����������������������������������j��������t ����������j�����������������������������������t ����������j����������������������d���������}|����������������������t ����������j ��������|������������������������������������������������������������d�S�r%��) r>���rB����parentr8���rC���rD���r6����pids�assertIsNoner7���)r9���rH���� lowest_pids��� r=����test_parentzTestProcess.test_parent9��sy�������������������������5�5�5��[�]�]�1�%� ����&�.��4�4�;�;�=�=�>�>�>�>�>r?���c�����������������������t����������j����������������������}|������������������������������������\��}}|����������������������|�����������������������������������|�������������|����������������������|�����������������������������������|�������������d�S�r4���)r6���r7���r|���rB���r���r9���r��r}���r~���s��� r=����test_parent_multizTestProcess.test_parent_multi@��sk��������!�!�� �4�4�6�6���z�����*�*�,�,�e�4�4�4����������0�0�0�0�0r?���c�����������������������|�������������������������������������}t����������j��������dt����������j��������dd�������������������������5��|����������������������|������������������������������������������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N�psutil.Processr����foor]���)r>���r(���r_���r6���rc���r��r��rG���s��� r=����test_parent_disappearedz#TestProcess.test_parent_disappearedF��s������������� �Z�(�$*�$8��E�$B�$B�D��D��D�� *�� *����a�h�h�j�j�)�)�)� *�� *�� *�� *�� *�� *�� *�� *�� *�� *�� *�� *����� *�� *�� *�� *�� *�� *s����(A3�3A7�:A7c����������������������t����������j����������������������}|�����������������������������������sJ��|������������������������������������\��}}|����������������������|�����������������������������������d���������|�������������|����������������������|�����������������������������������d���������|�������������|����������������������|�����������������������������������d���������|�������������d�S�r����)r6���r7����parentsr|���rB���r��s��� r=����test_parentszTestProcess.test_parentsM��s���������!�!���~�~������ �4�4�6�6���z����������+�V�4�4�4�����+�+�-�-�a�0�%�8�8�8�����+�+�-�-�a�0�&�9�9�9�9�9r?���c������������������V����t����������j����������������������}|����������������������|�����������������������������������g��������������|����������������������|���������������������d�������������g��������������|����������������������d�������������}|�����������������������������������}|���������������������d�������������}||fD�]~}|����������������������t����������|������������d�������������|����������������������|d���������j��������|j���������������������|����������������������|d��������������������������������������������|j����������������������d�S�)NT�� recursiver���)� creationflagsrk���)r6���r7���rB����childrenr>���r����r8���r��)r9���r��r}���� children1� children2r+��s��� r=���� test_childrenzTestProcess.test_childrenV��s�������!�!��������*�*�B�/�/�/�������4��8�8�"�=�=�=���!�!��!�2�2���O�O�%�%� ��O�O�d�O�3�3� �"�I�.�� =�� =�H����S��]�]�A�.�.�.����X�a�[�_�e�i�8�8�8����X�a�[�-�-�/�/���<�<�<�<� =�� =r?���c����������������������t����������j����������������������}|������������������������������������\��}}|����������������������|�����������������������������������|g�������������|����������������������|���������������������d�������������||g�������������|������������������������������������|������������������������������������|����������������������|���������������������d�������������g��������������d�S�)NTr(��)r6���r7���r|���rB���r+��rU���rL���r��s��� r=����test_children_recursivez#TestProcess.test_children_recursivee��s����������!�!�� �4�4�6�6���z�������*�*�U�G�4�4�4�������4��8�8�5�*�:M�N�N�N�� ������ � � ����������4��8�8�"�=�=�=�=�=r?���c������������������t����t����������j��������t����������������������}t����������j����������������������D�]:} �||�����������������������������������xx���������dz ��cc<����&#�t����������j��������$�r�Y��7w�xY�wt����������|�����������������������������������d���������������d���������d���������}t����������r|dk����r|�� ��������������������d�������������t����������j��������|������������} �|���������������������d�������������}|�� ��������������������t����������|������������t����������t����������|�������������������������������������d�S�#�t����������j��������$�r�Y�d�S�w�xY�w) Nrk���c�����������������������|�d���������S�)Nrk���r0��)r����s��� r=����<lambda>z6TestProcess.test_children_duplicates.<locals>.<lambda>{��s ������!�A�$��r?���)�keyr����r���zPID 0Tr(��)�collections�defaultdictr`��r6����process_iterr���Errorr����itemsr���r���r7���r+��rB���r����rW��re���)r9����tablerH���r8����cs��� r=����test_children_duplicatesz$TestProcess.test_children_duplicatesr��s9������'��,�,���$�&�&�� �� �A� ��a�f�f�h�h����1�$�������<�� �� �� ��� ������U�[�[�]�]���7�7�7��;�A�>���� )�S�A�X�X��-�-��(�(�(��N�3���� 2�� � �T� �*�*�A�� ���S��V�V�S��Q���[�[�1�1�1�1�1����"�� �� �� ��D�D� ���s#����"A�A%�$A%�D$��$D7�6D7c�����������������������t����������j����������������������}|������������������������������������\��}}|���������������������d�������������}|����������������������t����������|������������d�������������|����������������������|d���������|�������������|����������������������|d���������|�������������|�����������������������������������}|����������������������|d���������|�������������|����������������������|d���������|�������������d�S�)NTr(��r����r���rk���)r6���r7���r|���r+��rB���r����r%��)r9���r��r}���r~���r+��r%��s��� r=����test_parents_and_childrenz%TestProcess.test_parents_and_children���s���������!�!�� �4�4�6�6���z��?�?�T�?�2�2������X����*�*�*�����!��e�,�,�,�����!��j�1�1�1��$�$�&�&��������U�+�+�+�������V�,�,�,�,�,r?���c������������������v����|�������������������������������������}|������������������������������������t����������d������������D�]:}|�����������������������������������t����������j��������k����r�nt ����������j��������d��������������;|������������������������������������|�� ��������������������|�����������������������������������t����������j���������������������d�S�)Nr����r{���) r>���rw���r����r���r6����STATUS_STOPPEDr����r���rx����assertNotEqual)r9���rH���r����s��� r=����test_suspend_resumezTestProcess.test_suspend_resume���s������������� � � �����s���� �� �A��x�x�z�z�V�2�2�2����J�t����� ��� � � ����A�H�H�J�J��(=�>�>�>�>�>r?���c�����������������������|�����������������������t����������t����������j��������d�������������|�����������������������t����������t����������j��������d�������������d�S�)Nr���r����)rE���r����r6���r7���r�����r9���s��� r=����test_invalid_pidzTestProcess.test_invalid_pid���s<���������)�V�^�S�9�9�9����*�f�n�b�9�9�9�9�9r?���c����������������������t����������j����������������������}|���������������������ddg�������������}|����������������������t ����������|�����������������������������������������������ddg�������������t����������j��������t ����������t����������j����������������������������������������������}|���������������������dgd�������������}t����������|d���������t����������������������s|����������������������|d���������d�������������t����������j��������ddt�����������j��������� ������������5��|����������������������|���������������������d gd�������������d di�������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������ddt����������j ��������|j��������d������������� ������������5��|����������������������t�����������j ��������|j��������d g��������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������ddt����������j��������|j��������d������������� ������������5��|����������������������|���������������������d gd�������������d di�������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������ddt"����������� ������������5��|�����������������������������������}|����������������������d t����������|������������������������������������������������������������|����������������������t"����������������������5��|���������������������d g��������������d�d�d��������������n#�1�swxY�w�Y���d�d�d��������������n#�1�swxY�w�Y���|����������������������t&����������������������5��|���������������������d�������������d�d�d��������������n#�1�swxY�w�Y���|����������������������t(����������������������5��|���������������������dg�������������d�d�d��������������n#�1�swxY�w�Y���|����������������������t(����������������������5��|���������������������ddg�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�) Nrx��r����)�attrs�connectionsr"��)rG���ad_valuezpsutil.Process.niceT)�creater^���r���rk����bar)r6���r7����as_dictrB���r����keysr����r��� isinstancer���r(���r_���re���rc���r8���rE���r����NotImplementedErrorr���r����r����)r9���rH����ds��� r=����test_as_dictzTestProcess.test_as_dict���s�������N���� �I�I�U�F�O�I�,�,�����������)�)�E�6�?�;�;�;��N�3�v�{�}�}�-�-�.�.�� �I�I�]�O�e�I�<�<���!�M�*�D�1�1�� 6����Q�}�-�u�5�5�5���Z�-�d�$*�$7�9��9��9�� D�� D����� � ���1� �5�5���{� D�� D�� D� D�� D�� D�� D�� D�� D�� D�� D�� D�� D�� D����� D�� D�� D�� D���Z�-�d�$*�$8����$G�$G�I��I��I�� A�� A�����$�a�i��x�� �� A�� A�� A� A�� A�� A�� A�� A�� A�� A�� A�� A�� A�� A����� A�� A�� A�� A���Z�-�d�$*�$8����$G�$G�I��I��I�� L�� L����� � ���5� �9�9�F�E�?� L�� L�� L� L�� L�� L�� L�� L�� L�� L�� L�� L�� L�� L����� L�� L�� L�� L���Z�-�d�$7�9��9��9�� *�� *�� � ���A����V�T�!�&�&�(�(�^�^�4�4�4��"�"�#6�7�7�� *�� *�� � ��� �)�)�)� *�� *�� *�� *�� *�� *�� *�� *�� *�� *�� *����� *�� *�� *�� *� *�� *�� *�� *�� *�� *�� *�� *�� *�� *�� *����� *�� *�� *�� *��� � �y� )� )�� �� � �I�I�f���� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� � � � �z� *� *�� �� � �I�I�u�g���� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� � � � �z� *� *�� &�� &� �I�I�u�e�n�%�%�%� &�� &�� &�� &�� &�� &�� &�� &�� &�� &�� &�� &����� &�� &�� &�� &�� &�� &s�����/E���E�E�:)F/�/F3�6F3�)/H$�$H(�+H(�A$K*�/K�K*�K �K*�K �K*�*K.�1K.�L1�1L5�8L5�M9�9M=��M=�O�O� Oc������������������@����t����������j����������������������}t����������j��������d������������5�}|�����������������������������������5��|������������������������������������|������������������������������������d�d�d��������������n#�1�swxY�w�Y���|����������������������|j��������d�������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������d������������5�}|������������������������������������|������������������������������������d�d�d��������������n#�1�swxY�w�Y���|����������������������|j��������d�������������d�S�)N�$psutil._psplatform.Process.cpu_timesrk���r�����r6���r7���r(���r_����oneshotr����rB���� call_count�r9���rH���r����s��� r=����test_oneshotzTestProcess.test_oneshot���s�������N���� �Z�>� ?� ?�� .�1������� �� ���� � � ���� � � � �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� ���Q�\�1�-�-�-� .�� .�� .�� .�� .�� .�� .�� .�� .�� .�� .����� .�� .�� .�� .���Z�>� ?� ?�� �1� �K�K�M�M�M� �K�K�M�M�M� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �����q�)�)�)�)�)sF����B$�)A2�&B$�2A6 �6B$�9A6 �:B$�$B(�+B(�)C8�8C<�?C<c����������� �������v����t����������j����������������������}t����������j��������d������������5�}t����������j��������d������������5�}|�����������������������������������5��|������������������������������������|������������������������������������|�����������������������������������5��|������������������������������������|������������������������������������d�d�d��������������n#�1�swxY�w�Y���d�d�d��������������n#�1�swxY�w�Y���|����������������������|j��������d�������������|����������������������|j��������d�������������d�d�d��������������n#�1�swxY�w�Y���d�d�d��������������n#�1�swxY�w�Y���t����������j��������d������������5�}|������������������������������������|������������������������������������d�d�d��������������n#�1�swxY�w�Y���|����������������������|j��������d�������������d�S�)NrS��z(psutil._psplatform.Process.oneshot_enterrk���r����rT��)r9���rH����m1�m2r����s��� r=����test_oneshot_twicezTestProcess.test_oneshot_twice���s������� �N���� �Z�>� ?� ?�� 3�2���F�G�G�� 3�2��Y�Y�[�[��&��&��K�K�M�M�M��K�K�M�M�M�������&��&���� � � ���� � � �&��&��&��&��&��&��&��&��&��&��&�����&��&��&��&�&��&��&��&��&��&��&��&��&��&��&�����&��&��&��&��� � ����2�2�2�� � ����2�2�2� 3�� 3�� 3�� 3�� 3�� 3�� 3�� 3�� 3�� 3�� 3����� 3�� 3�� 3�� 3� 3�� 3�� 3�� 3�� 3�� 3�� 3�� 3�� 3�� 3�� 3����� 3�� 3�� 3�� 3���Z�>� ?� ?�� �1� �K�K�M�M�M� �K�K�M�M�M� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �����q�)�)�)�)�)s�����D?�D(�=C�)C �8C�C �C�C �C�D(�C�D(�"C�#9D(�D?�(D, �,D?�/D, �0D?�?E�E�)F�F�Fc����������������������|�������������������������������������\��}}|�����������������������������������}|�����������������������������������}|����������������������||�������������|�����������������������������������5��|����������������������|�����������������������������������|�������������|����������������������|�����������������������������������|�������������d�d�d��������������n#�1�swxY�w�Y���|�����������������������������������5��|����������������������|�����������������������������������|�������������|����������������������|�����������������������������������|�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�r4���)r|���r��rA��rU��rB���)r9����p1�p2�p1_ppid�p2_ppids��� r=����test_oneshot_cachezTestProcess.test_oneshot_cache���s��������)�)�+�+���B��'�'�)�)���'�'�)�)�����G�W�-�-�-� �Z�Z�\�\�� 1�� 1����R�W�W�Y�Y��0�0�0����R�W�W�Y�Y��0�0�0� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1����� 1�� 1�� 1�� 1���Z�Z�\�\�� 1�� 1����R�W�W�Y�Y��0�0�0����R�W�W�Y�Y��0�0�0� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1����� 1�� 1�� 1�� 1�� 1�� 1s&����*AC�C�C�&AE�E�Ec������������������@��������fd�}��������������������������������������}|������������������������������������|������������������������������������t����������r"t ����������t ����������j��������d|j��������z��������������������������������������|�������������t����������|������������}|� ��������������������|j��������������������D�]\��}}�|||��������������t����������rYt����������sTt����������j��������j��������}������������������������||������������������������������������������������|t$�����������������������������������d�S�d�S�d�S�)Nc������������������������� ��|���������������}t�����������r|dv�rd�S�����������������������|��d|�d��������������#�t����������j��������$�r���t����������j��������$�r�Y�d�S�t����������j��������$�r�t����������r|dv�rY�d�S���w�xY�w)N)rx��r����z didn't raise NSP and returned z instead)r)��r��)r ���r����r6���r���rc���re���r ���)�fun�fun_namer��r9���s��� �r=����assert_raises_nspzFTestProcess.test_halfway_terminated_process.<locals>.assert_raises_nsp��s�������� 8��c�e�e������x�?�:�:��F��i�i�-0�S�S�#�#�#�!7��8��8��8����'�� �� �� ���'�� �� �� �����&�� �� �� ����x�+E�E�E��F�F�� ���s���� 5��A4�A4�2A4z %s not in ret)r>���rU���rL���r ���r%���r6���r��r8���rP���r)����iter�allr���rC���r����rj��rB���rx��r!���)r9���rg��rH����nsre��r����rj��s���` r=����test_halfway_terminated_processz+TestProcess.test_halfway_terminated_process���s-������ 8�� 8�� 8�� 8�� 8�$� ������ ��� � � � �������� =��v�{�O�a�e�$;�<�<�<����q�!�!�!� �q� !� !���������� )�� )�I�C����c�4�(�(�(�(���� F�>�� F��w�'�H����X�X�a�e�e�g�g�.�.����0D�0D�E�E�E�E�E� F�� F�� F�� Fr?���c����������������������d��}|�������������������������������������\��}}t����������j��������|j��������������������}|����������������������|�����������������������������������t����������j���������������������|�����������������������������������sJ��|������������������������������������t����������|������������}|� ��������������������|j��������������������D�]\��}}�||��������������t����������j��������|j��������������������sJ��|�� ��������������������|j��������t����������j�����������������������������������|�� ��������������������|j��������d��t����������j����������������������D����������������������������i�t����������_��������|�� ��������������������|j��������d��t����������j����������������������D����������������������������d�S�)Nc������������������\����� ��|���������������S�#�t�����������j��������t�����������j��������f$�r�Y�d�S�w�xY�wr4���)r6���r���re���)re��s��� r=����succeed_or_zombie_p_excz@TestProcess.test_zombie_process.<locals>.succeed_or_zombie_p_exc+��s?������ ��s�u�u����(�&�*=�>�� �� �� ���� ���s���� ��+�+c�����������������������g�|�] }|j����������� S�r0���r8���r����s��� r=���r���z3TestProcess.test_zombie_process.<locals>.<listcomp>J���������!G�!G�!G�A�!�%�!G�!G�!Gr?���c�����������������������g�|�] }|j����������� S�r0��rp��r����s��� r=���r���z3TestProcess.test_zombie_process.<locals>.<listcomp>L��rq��r?���)�spawn_zombier6���r7���r8���rB���r���r���rs��rL��r)���rh��ri��� pid_existsr����r��r7���_pmap)r9���rn��r���zombie�zprocrj��re��r����s��� r=����test_zombie_processzTestProcess.test_zombie_process)��s_����� �� �� ���*�*�,�,������v�z�*�*�����������)=�>�>�>����!�!�!�!�!� � � ������u� %� %���������� )�� )�I�C��#�#�C�(�(�(�(�� ���+�+�+�+�+�� � �e�i�����/�/�/�� � �e�i�!G�!G��1D�1F�1F�!G�!G�!G�H�H�H����� � �e�i�!G�!G��1D�1F�1F�!G�!G�!G�H�H�H�H�Hr?���c������������������������t����������j����������������������}t����������j��������dt����������j��������d�������������������������5�}|�����������������������������������sJ��|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nr!��r���r]���)r6���r7���r(���r_���r���rs��r����rW��s��� r=����$test_zombie_process_is_running_w_excz0TestProcess.test_zombie_process_is_running_w_excN��s�������� �N���� �Z�(�$*�$8��$;�$;�=��=��=�� �@A��<�<�>�>�!�!�!��8�O�O�O�O� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s���� A*�*A.�1A.c������������������&����t����������j����������������������}t����������j��������dt����������j��������d�������������������������5�}|����������������������|�����������������������������������t�����������j���������������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nz!psutil._psplatform.Process.statusr���r]���) r6���r7���r(���r_���r���rB���r���r���r����rW��s��� r=���� test_zombie_process_status_w_excz,TestProcess.test_zombie_process_status_w_excX��s�������� �N���� �Z�;�$*�$8��$;�$;�=��=��=�� �@A����Q�X�X�Z�Z��)=�>�>�>��8�O�O�O�O� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s����<B�B � B c����������������������|�������������������������������������}t����������j��������|j��������������������}|j��������|�����������������������������������dz���f|_��������|�����������������������������������rJ��|t����������j��������|j��������������������k����sJ��d}|����������������������t����������j��������||j ���������������������|����������������������t����������j��������||j ���������������������|����������������������t����������j��������||j���������������������|����������������������t����������j��������||j���������������������|����������������������t����������j��������||j ���������������������d�S�)Nr����z4process no longer exists and its PID has been reused)r5���r6���r7���r8���r�����_identrs��r����rc���rw���rx���rU���rK���r+��)r9����subprH���rG��s��� r=����test_reused_pidzTestProcess.test_reused_pidb��s������"�"�$�$���N�4�8�$�$���E�1�=�=�?�?�S�0�1����<�<�>�>�!�!�!��F�N�4�8�,�,�,�,�,�,�D�����v�3�S�!�)�D�D�D����v�3�S�!�(�C�C�C����v�3�S�!�+�F�F�F����v�3�S�!�&�A�A�A����v�3�S�!�*�E�E�E�E�Er?���c�����������������������dt����������j����������������������vr}|����������������������t�����������j��������t�����������j��������d�������������t����������j��������d������������rJ��|����������������������t����������j��������d�����������������������������������������������d�������������d�S�t����������j��������d������������}t����������rt�����������j ��������nt����������}|����������������������||j���������������������|����������������������||j���������������������|����������������������||j ���������������������|����������������������||j���������������������|����������������������||j���������������������|����������������������||j��������t"����������j���������������������t'����������|������������}|���������������������|j��������|j��������z���������������D�]�\��}} ��|��������������}|dv�r|����������������������|j��������d��������������0|dk����r4t����������rdnd}|����������������������|�����������������������������������|��������������j|dk����r|s J�|����������������}#�t�����������j ��������$�r�Y���w�xY�wt2����������s=|����������������������dt����������j�����������������������������������t����������j��������d������������sJ��d�S�d�S�)Nr���rk���)r���r���r���zNT AUTHORITY\SYSTEM�rootr����)r6���r��rE���rc���r7���rt��rB���r��r ���re���r����rL���rU���rw���rx���rK���rX���rM���rN���r)���rh���getters�settersr���r���r ���r����)r9���rH���r��rj��re��r����r��r����s��� r=���� test_pid_0zTestProcess.test_pid_0p��si������F�K�M�M�!�!����f�2�F�N�A�F�F�F���(��+�+�+�+�+����V�^�A�.�.�3�3�5�5�q�9�9�9��F��N�1����%,�<�f�!�!�*�����#�q�v�&�&�&����#�q�{�+�+�+����#�q�y�)�)�)����#�q�x�(�(�(����#�q�v�&�&�&����#�q�}�f�n�=�=�=���q� !� !�������b�j�!8�9�9�� &�� &�I�C�� &��c�e�e����+�+�+��$�$�S�X�q�1�1�1�1��Z�'�'�5<�H�1�1�&�D��$�$�Q�Z�Z�\�\�4�8�8�8�8��V�^�^��%�%��%�%�%�����&�� �� �� ��� ������� (��M�M�!�V�[�]�]�+�+�+��$�Q�'�'�'�'�'� (�� (�'�'s����% H�H.�-H.c����������������������d��}d�|�_���������t����������j����������������������}�||�����������������������������������������������}�|t����������j�������������������������������������������������������}t����������st����������r|����������������������||�������������d�S�d�S�d�S�)Nc������������������B����|�����������������������dd��������������|�����������������������dd��������������t����������rB|�����������������������dd��������������|�����������������������dd��������������|�����������������������dd��������������t����������d��|������������������������������������D���������������������������S�)N�PLAT�HOME�__CF_USER_TEXT_ENCODING�VERSIONER_PYTHON_PREFER_32_BIT�VERSIONER_PYTHON_VERSIONc�����������������������g�|�]Y\��}}|����������������������d�d����������������������������������dd������������|����������������������d�d����������������������������������dd������������f��ZS�)� r\���� )r{��)r�����k�vs��� r=���r���z@TestProcess.test_environ.<locals>.clean_dict.<locals>.<listcomp>���sp�������(��(��(��Q����)�)�D�"�%�%�-�-�d�B�7�7��)�)�D�"�%�%�-�-�d�B�7�7�9��(��(��(r?���)�popr����dictr9��)rP��s��� r=���� clean_dictz,TestProcess.test_environ.<locals>.clean_dict���s������� �E�E�&�$���� �E�E�&�$������ 8����/��6�6�6����6��=�=�=����0�$�7�7�7��(��(��W�W�Y�Y�(��(��(�)��)�� )r?���) �maxDiffr6���r7���r���rC����copyr ���r���rB���)r9���r���rH����d1�d2s��� r=����test_environzTestProcess.test_environ���s������� )�� )�� )������N���� �Z�� � ��� $� $�� �Z�� ���)�)� *� *���� %�~�� %����R��$�$�$�$�$� %�� %�� %�� %r?���z<macOS 11+ can't get another process environment, issue #2084c�����������������������t����������j��������d������������}|������������������������������������}t����������||��������������|����������������������|gt ����������j��������t ����������j���������������������}t����������j��������|j ��������������������}t����������|j ���������������������|�����������������������������������sJ��|����������������������|j �������������������������������������������d�������������t����������r3t ����������r, �|�����������������������������������}n*#�t����������j��������$�r�Y�d�S�w�xY�w|�����������������������������������}|����������������������|ddd��������������|������������������������������������|����������������������|j��������d�������������d�S�) Na��� #include <unistd.h> #include <fcntl.h> char * const argv[] = {"cat", 0}; char * const envp[] = {"A=1", "X", "C=3", 0}; int main(void) { // Close stderr on exec so parent can wait for the // execve to finish. if (fcntl(2, F_SETFD, FD_CLOEXEC) != 0) return 0; return execve("/bin/cat", argv, envp); } )�c_code)�stdinrj���r?���r����3)�A�Cr���)�textwrap�dedentr����r'���r5���rm���rn���r6���r7���r8���r0���rs��rB���rj���r����r���r���r���re����communicate� returncode)r9���rR���r����r<���rH����envs��� r=����test_weird_environzTestProcess.test_weird_environ���sh��������� ���������� � ���4��%�%�%�%��#�#� �F�*�/�*�/��$��C��C���N�5�9�%�%���Q�U�����|�|�~�~���������*�*�,�,�c�2�2�2��� �Z�� � ��i�i�k�k�����&�� �� �� ����� ���� ��)�)�+�+�C�����C�c�2�2�3�3�3� ����������)�1�-�-�-�-�-s����&C;��;D� DN)l�__name__� __module__�__qualname__�__doc__r>���rI���rS���rV���rZ���r���skipIfr���rf���rp���r���ry���r����r����r����r����r����r����r����r���r����r����r����r���r/���r���r����r���r����r ���r����r���r��r��r��r��r��r#��r'��r���r-��r,���r.���r���r5��rE��rO��r���rg��rn��rq��rt��r~��r���r ���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r��r ��r ���r��r��r��r��r#��r&��r.��r0��r<��r>��rB��rE��rQ��rX��r\��rb��rk��rx��rz��r|��r���r���r���r���r���r���r0��r?���r=���r2���r2���L���s< �������������)�)�)��)��)������"��"��"�"��"��"� "�� "�� "���X�_��Y��,�,� G�� G��-�,� G�"��"��"�6��X�_�V�.�/�/�7��7��0�/�7�*8��8��8�*2��2��2�"��"��"�& '�� '�� '������ L�� L�� L�N��N��N���X�_�)�)�?�;�;�>��>��<�;�>�L��L��L� ��X�_��Y��-�-�,��,��.�-�,���X�_�-�-��?�?���U�+�+�+�'/��'/��,�+��@�?�'/�R��X�_��^�_�5�5��X�_��Y��-�-�(%��(%��.�-��6�5�(%�T��X�_��^�_�5�5��X�_��[�"E�F�F�����G�F��6�5��6��X�_��^�_�5�5�4��4��6�5�4�,��X�_��^�_�5�5� 6�� 6��6�5� 6���X�_��^�_�5�5�J��J��6�5�J�&��X�_��^�_�5�5�J��J��6�5�J���X�_��^�_�5�5� 4�� 4��6�5� 4�/��/��/�"��X�_��[�.�1�1�/��/��2�1�/� ��X�_��_�o�6�6�>��>��7�6�>�&�������5�)�)�)��X�_��_�o�6�6� B�� B��7�6��*�)���� B������;��;����;�<1��1��1� ��X�_��(�/�:�:�*-��*-��;�:�*-�X��X�_��(�/�:�:�4��4��;�:�4�,��,��,�"��"��"�%��%��%�8G��G��G�&��X�_�T�+�,�,� 3�� 3��-�,� 3�5��5��5���X�_�T�/�0�0�A��A��1�0�A�.��X�_�U�-�.�.��X�_�S�/�*�*��X�_�T�+�,�,� 7�� 7��-�,��+�*��/�.� 7���X�_��Y��-�-�7��7��.�-�7���X�_��Y��-�-�7��7��.�-�7�4��4��4�l<��<��<�:��:��:�"/��/��/�A��A��A���X�_�)�)�?�;�;�%(��%(��<�;�%(�N��X�_�)�)�?�;�;�?��?��<�;�?���X�_�)�)�?�;�;�F��F��<�;�F�(��X�_�S�/�*�*��X�_�X�7�8�8�.��.��9�8��+�*�.�D��X�_�S�/�*�*��X�_�X�7�8�8�;��;��9�8��+�*�;�2��X�_��Y��-�-�-��-��.�-�-����U�+�+�+��X�_�W�&��(J�K�K�G��G��L�K��,�+�G� �� �� �?��?��?�1��1��1�*��*��*������:��:����:� =�� =�� =�>��>��>�2��2��2�(-��-��-�?��?��?�:��:��:�,&��,&��,&�\*��*��*�*��*��*�( 1�� 1�� 1�(F��(F��(F�T��X�_��Y��-�-�"I��"I��.�-�"I�H��X�_��Y��-�-�����.�-����X�_��Y��-�-�����.�-��F��F��F�%(��%(��%(�N��X�_��_�o�6�6�%��%��7�6�%�*��X�_��_�o�6�6��X�_��Y��-�-��X�_��F����%.��%.� ����.�-��7�6�%.��%.��%.r?���r2���c����������������������������e�Zd�ZdZ�eed������������r�ej����������������������Z�ej����������������������Z ��fd�Z ��fd�Z��fd�Zd��Z �ej��������dd������������d ����������������Z��xZS�) �LimitedUserTestCasez�Repeat the previous tests by using a limited user. Executed only on UNIX and only if the user who run the test script is root. r���c����������� ����������������t������������������������j��������|i�|���d��t����������|�������������D���������������D�];}t����������|�|��������������fd�}t ����������|�|t����������j��������||���������������������������<d�S�)Nc������������������<�����g�|�]}|����������������������d��������������|��S�)�testr����r����s��� r=���r���z0LimitedUserTestCase.__init__.<locals>.<listcomp>���s)������F�F�F�q����f�1E�1E�F��F�F�Fr?���c������������������J������ ������������������d�S�#�t�����������j��������$�r�Y�d�S�w�xY�wr4���)r6���re���)r9����meths��� �r=����test_z+LimitedUserTestCase.__init__.<locals>.test_���s<����������������!�.�������������s���� ��"�")r����__init__r��r�����setattr�types� MethodType)r9���r:���r;����attrr���r���� __class__s��� @�r=���r���zLimitedUserTestCase.__init__���s����������E�G�G��d�-�f�-�-�-��G�F�C��I�I�F�F�F�� C�� C���t�T�*�*����������� ���d�E�$4�U�D�$A�$A�B�B�B�B� C�� Cr?���c������������������������t������������������������������������������������������������t����������j��������d�������������t����������j��������d�������������d�S�)Ni���)r����setUprC����setegid�seteuid�r9���r���s��� �r=���r���zLimitedUserTestCase.setUp���s:��������G�G�M�M�O�O�O��J�t�����J�t�����r?���c������������������������t����������j��������|�j���������������������t����������j��������|�j���������������������t������������������������������������������������������������d�S�r4���)rC���r����PROCESS_UIDr����PROCESS_GIDr����tearDownr���s��� �r=���r���zLimitedUserTestCase.tearDown���sE��������J�t�'�(�(�(��J�t�'�(�(�(��G�G�������r?���c����������������������� �t����������j�������������������������������������������d�������������|����������������������d�������������#�t�����������j��������$�r�Y�d�S�w�xY�w)Nr����zexception not raised)r6���r7���r���r����re���rD��s��� r=���r���zLimitedUserTestCase.test_nice��s_������ 8��� � �%�%�b�)�)�)���i�i� 6�7�7�7����&�� �� �� ���� ���s����&=��A�Ark���zcauses problem as rootc�����������������������d�S�r4���r0��rD��s��� r=���rx��z'LimitedUserTestCase.test_zombie_process��s�������Dr?���)r���r���r���r���r���rC���r���r���r���r���r���r���r���r���r��r���rx��� __classcell__)r���s���@r=���r���r������s���������������� �� � ��7�2�x� � �� &�#�"�)�+�+�K�#�"�)�+�+�K� C�� C�� C�� C�� C� �� �� �� �� � �� �� �� �� � 8�� 8�� 8�� ����4� 5� 5� �� �� 6� 5� �� �� �� �� r?���r���c��������������������:�����e�Zd�ZdZed����������������Zd��Zd��Zd��ZdS�)� TestPopenzTests for psutil.Popen class.c������������������"�����t�������������������������d�S�r4���r*���)�clss��� r=���� tearDownClasszTestPopen.tearDownClass��s�����������r?���c����������������������t�����������ddg}t����������j��������|t����������j��������t����������j��������t �����������������������5�}|������������������������������������|������������������������������������|j���������|�� ��������������������t����������|�������������������������|����������������������t����������t����������|d�������������|������������������������������������d�d�d��������������n#�1�swxY�w�Y���t����������r6|����������������������|���������������������d������������t$����������j����������������������d�S�|����������������������|���������������������d������������t$����������j���������������������d�S�)Nrh����import time; time.sleep(60);��stdoutrj���r���r"��rl���)r!���r6����Popenrm���rn���r"���r����r����r���� assertTruer��rE���rF���r����rU���r���rB���rL���rM���rN����r9���ro����procs��� r=���� test_misczTestPopen.test_misc��sM�������4�!?�@�� �\�#�j�o�!+��n�F��F��F�� �IM��I�I�K�K�K��N�N�����J�J��O�O�C��I�I�&�&�&����n�g�t�U�C�C�C��N�N���� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� ���� ;����T�Y�Y�q�\�\�F�N�?�;�;�;�;�;����T�Y�Y�q�\�\�6�>�:�:�:�:�:s����BC�C�Cc������������������n����t����������j��������t����������dgt����������j��������t����������j��������t����������j��������t �����������������������5�}|������������������������������������d�d�d��������������n#�1�swxY�w�Y���|j��������j��������sJ��|j ��������j��������sJ��|j ��������j��������sJ��|����������������������|j��������d�������������d�S�)Nz-V)r���rj���r���r���r���) r6���r���r!���rm���rn���r"���r���r����closedrj���r���rB���r���)r9���r���s��� r=����test_ctx_managerzTestPopen.test_ctx_manager/��s������� �\�:�t�,�!+��!+�� *��^�E��E��E�� ��IM������� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� � ��{�!�!�!�!��{�!�!�!�!��z� � � � ������!�,�,�,�,�,s����A%�%A)�,A)c����������������������t�����������ddg}t����������j��������|t����������j��������t����������j��������t �����������������������5�}|������������������������������������|������������������������������������|����������������������t����������j ��������|j���������������������|����������������������t����������j ��������|j ���������������������|����������������������t����������j ��������|j��������t����������j ���������������������t����������r`|����������������������t����������j ��������|j��������t����������j���������������������|����������������������t����������j ��������|j��������t����������j���������������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nrh���r���r���)r!���r6���r���rm���rn���r"���rU���rL���rE���rc���rK���rX���rM���rN���r ����CTRL_C_EVENT�CTRL_BREAK_EVENTr���s��� r=����test_kill_terminatezTestPopen.test_kill_terminate:��sl�������4�!?�@�� �\�#�j�o�!+��n�F��F��F�� ;�IM��N�N�����I�I�K�K�K����f�2�D�N�C�C�C����f�2�D�I�>�>�>����f�2�D�4D�$�n� .�� .�� .��� ;��!�!�&�"6��8H�"(�"5�7��7��7��!�!�&�"6��8H�"(�"9�;��;��;� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;�� ;����� ;�� ;�� ;�� ;�� ;�� ;s����D E�E�EN) r���r���r���r����classmethodr���r���r���r���r0��r?���r=���r���r�����s`��������������'�'�������[��;��;��;�$ -�� -�� -�;��;��;��;��;r?���r����__main__)� run_from_name)Gr���r5��ra���r���r���rC���rM���r ��r]��rm���ry��r���r����r���r��r6���r���r���r���r���r���r ���r ���r���r���r ����psutil._commonr����psutil._compatr���r���r���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,���r-���r.���r/���r0���r2���r���r���r���r����psutil.tests.runnerr����__file__r0��r?���r=����<module>r������s������&��%���������������������������� � � � �� � � � �� � � � ��������������� � � � ���������������������� � � � ��������������������������������������������������������������������������������������������������������������������������$��$��$��$��$��$��������������,��,��,��,��,��,�������������� �� �� �� �� �� ��!��!��!��!��!��!��#��#��#��#��#��#��'��'��'��'��'��'��'��'��'��'��'��'��)��)��)��)��)��)��$��$��$��$��$��$��#��#��#��#��#��#��(��(��(��(��(��(��)��)��)��)��)��)��-��-��-��-��-��-��#��#��#��#��#��#��$��$��$��$��$��$��%��%��%��%��%��%��������������#��#��#��#��#��#��'��'��'��'��'��'��'��'��'��'��'��'��#��#��#��#��#��#��#��#��#��#��#��#��,��,��,��,��,��,��#��#��#��#��#��#��������������*��*��*��*��*��*��&��&��&��&��&��&��)��)��)��)��)��)��������������.��.��.��.��.��.��0��0��0��0��0��0��%��%��%��%��%��%�L.��L.��L.��L.��L.�.��L.��L.��L.�h,� ��.�Y�R�Y�[�[�A� � �,��,��,��,��,�k��,��,��,�h5;��5;��5;��5;��5;���5;��5;��5;�p��z���1�1�1�1�1�1��M�(��������r?���