관리-도구
편집 파일: test_windows.cpython-311.pyc
� ���F��ȕ�P����������������������:����d�Z�ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddlm Z �ddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�dd lmZ�dd lmZ�ddlmZ�ddlmZ�dd lmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�e rIesG�ej ����������������������5���ej!��������d�������������ddl"Z"ddl#Z#ddl$Z$ddl%Z%ddd�������������n#�1�swxY�w�Y���ej&��������j'��������Z'd��Z(�ej)��������e �d�������������ej)��������ed�������������ej)��������eoe�d�������������G�d��de������������������������������������������������������Z*�G�d��de*������������Z+�G�d��de*������������Z,�G�d��d e*������������Z-�G�d!��d"e*������������Z.�G�d#��d$e*������������Z/�ej)��������e �d�������������G�d%��d&e��������������������������Z0�ej)��������e �d�������������G�d'��d(e��������������������������Z1�ej)��������e �d�������������G�d)��d*e��������������������������Z2e3d+k����rdd,l4m5Z5��e5e6�������������dS�dS�)-zWindows specific tests.�����N)�WINDOWS)�FileNotFoundError)�super)�APPVEYOR)�GITHUB_ACTIONS)�HAS_BATTERY)�IS_64BIT)�mock)�PsutilTestCase)�PY3)�PYPY)�retry_on_failure)�sh)�spawn_testproc)� terminate)�TOLERANCE_DISK_USAGE)�unittest�ignorec���������������������������fd�}|S�)Nc������������������������� ���|�g|�R�i�|��S�#�t�����������$�rT}ddlm}�|j��������|v�rt ����������j��������d�d��������������|j��������t����������j��������k����rt ����������j��������d�d����������������d�}~ww�xY�w)Nr���)�ACCESS_DENIED_SET)�OSError�psutil._pswindowsr����errno�psutil�AccessDenied�ESRCH� NoSuchProcess)�self�args�kwargs�errr����funs��� ��{/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/psutil/tests/test_windows.py�wrapperz wrap_exceptions.<locals>.wrapper7���s�������� ��3�t�-�d�-�-�-�f�-�-�-���� �� �� �;�;�;�;�;�;��y�-�-�-��)�$��5�5�5��y�E�K�'�'��*�4��6�6�6������ ���s������ A-�AA(�(A-��)r#���r%���s���` r$����wrap_exceptionsr'���6���s#������� �� �� �� �� ���N�����zWINDOWS onlyzpywin32 not available on PYPYzpywin32 broken on GITHUB + PY2c�������������������������e�Zd�ZdS�)�WindowsTestCaseN)�__name__� __module__�__qualname__r&���r(���r$���r*���r*���D���s�������������� � �Dr(���r*���c��������������������n�����e�Zd�Z�ej��������dej��������vd������������d����������������Zd��Zd��Z d��Z d��Zd��Zd S�) �TestCpuAPIs�NUMBER_OF_PROCESSORSz-NUMBER_OF_PROCESSORS env var is not availablec�����������������������t����������t����������j��������d���������������������}|����������������������|t ����������j�����������������������������������d�S�)Nr0���)�int�os�environ�assertEqualr���� cpu_count)r����num_cpuss��� r$����&test_cpu_count_vs_NUMBER_OF_PROCESSORSz2TestCpuAPIs.test_cpu_count_vs_NUMBER_OF_PROCESSORSS���s>������ ��r�z�"8�9�:�:������6�#3�#5�#5�6�6�6�6�6r(���c�����������������������t����������j����������������������d���������}t����������j����������������������}|����������������������||�������������d�S�)N����)�win32api� GetSystemInfor���r6���r5����r���� sys_value�psutil_values��� r$����test_cpu_count_vs_GetSystemInfoz+TestCpuAPIs.test_cpu_count_vs_GetSystemInfo[���sA��������*�,�,�Q�/� ��'�)�)������L�1�1�1�1�1r(���c�����������������������t����������j����������������������}|�����������������������������������d���������}|����������������������t ����������j����������������������|j���������������������d�S��Nr���)�wmi�WMI�Win32_Processorr5���r���r6����NumberOfLogicalProcessors�r����w�procs��� r$����test_cpu_count_logical_vs_wmiz)TestCpuAPIs.test_cpu_count_logical_vs_wmib���sK�������G�I�I��� � �"�"�1�%������)�+�+�T�-K�L�L�L�L�Lr(���c�����������������������t����������j����������������������}|�����������������������������������d���������}|����������������������t ����������j��������d�������������|j���������������������d�S�)Nr���F)�logical)rC���rD���rE���r5���r���r6���� NumberOfCoresrG���s��� r$����test_cpu_count_phys_vs_wmiz&TestCpuAPIs.test_cpu_count_phys_vs_wmig���sP�������G�I�I��� � �"�"�1�%������)�%�8�8�8�$�:L�M�M�M�M�Mr(���c�����������������������|�����������������������t����������j����������������������t����������t����������j��������d��������������������������������������d�S�)NT)�percpu)r5���r���r6����len� cpu_times�r���s��� r$����test_cpu_count_vs_cpu_timesz'TestCpuAPIs.test_cpu_count_vs_cpu_timesl���sH����������)�+�+��V�-�T�:�:�:�;�;� =�� =�� =�� =�� =r(���c������������������$����t����������j����������������������}|�����������������������������������d���������}|����������������������|j��������t����������j����������������������j���������������������|����������������������|j��������t����������j����������������������j ���������������������d�S�rB���) rC���rD���rE���r5����CurrentClockSpeedr����cpu_freq�current� MaxClockSpeed�maxrG���s��� r$���� test_cpu_freqzTestCpuAPIs.test_cpu_freqp���sq�������G�I�I��� � �"�"�1�%������/���1B�1B�1J�K�K�K�����+�V�_�->�->�-B�C�C�C�C�Cr(���N) r+���r,���r-���r����skipIfr3���r4���r8���r@���rJ���rN���rT���r[���r&���r(���r$���r/���r/���Q���s����������������X�_�+�2�:�=�D�F��F�7��7�F��F�7�2��2��2�M��M��M� N��N��N� =��=��=�D��D��D��D��Dr(���r/���c��������������������������e�Zd�Zd��Zd��Z�ej��������ed�������������e��������������d������������������������������Z �e��������������d����������������Z �e��������������d����������������Zd��Zd��Z d ��Zd ��ZdS�)�TestSystemAPIsc������������������ ����t����������d������������}t����������j��������d������������������������������������������������}|D�]I}d|���������������������dd�����������������������������������������������v�r�-||vr|����������������������d|z����������������Jd�S�)Nz ipconfig /allT)�perniczpseudo-interface� �-z-%r nic wasn't found in 'ipconfig /all' output)r���r����net_io_counters�keys�replace�lower�fail)r����out�nics�nics��� r$����test_nic_nameszTestSystemAPIs.test_nic_namesy���s���������!�!���%�T�2�2�2�7�7�9�9���� K�� K�C�!�S�[�[��c�%:�%:�%@�%@�%B�%B�B�B���#�~�~�� � �C�c�I�K��K��K�� K�� Kr(���c������������������������t����������j���������������������������������������������������������d���������}|����������������������t ����������|j��������������������t ����������j����������������������j���������������������d�S�rB���) rC���rD����Win32_ComputerSystemr5���r2����TotalPhysicalMemoryr����virtual_memory�total)r���rH���s��� r$����test_total_phymemz TestSystemAPIs.test_total_phymem����s\�������G�I�I�*�*�,�,�Q�/������Q�2�3�3��.�0�0�6� 8�� 8�� 8�� 8�� 8r(���ztest not relieable on appveyorc������������������������t����������j���������������������������������������������������������}t����������d��|D���������������������������}t����������t ����������j����������������������������������}|����������������������||�������������d�S�)Nc�����������������������g�|�] }|j����������� S�r&����� ProcessId��.0�xs��� r$���� <listcomp>z,TestSystemAPIs.test_pids.<locals>.<listcomp>����s������/�/�/����/�/�/r(���)rC���rD���� Win32_Process�setr����pidsr5���)r���rH����wmi_pids�psutil_pidss��� r$���� test_pidszTestSystemAPIs.test_pids����sf������ � �G�I�I�#�#�%�%���/�/�Q�/�/�/�0�0���&�+�-�-�(�(������;�/�/�/�/�/r(���c����������������������t����������j��������d�������������}t����������j���������������������������������������������������������}|D��]J}|D��]}|j�����������������������������dd������������|j��������k����r�|j��������s��nd|j ��������v�r��n|j��������� ��������������������d������������r�n� �t����������j��������|j��������������������}n#�t����������$�r�Y��n�w�xY�w|�� ��������������������|j��������t����������|j���������������������������������t����������|j��������������������}|�� ��������������������|j��������|�������������t'����������|j��������|z ��������������dk����r |����������������������d|j���������d |����������������n'�� |����������������������d t+����������|������������z�����������������Ld�S�)NT��all�\���cdrom�A:i����zpsutil=z, wmi=zcan't find partition %s)r����disk_partitionsrC���rD����Win32_LogicalDisk�devicere����DeviceID� mountpoint�opts� startswith� disk_usager���r5���rp���r2����Size� FreeSpace�free�absrg����repr)r����ps_parts� wmi_parts�ps_part�wmi_part�usage�wmi_frees��� r$���� test_diskszTestSystemAPIs.test_disks����s�������)�d�3�3�3���G�I�I�/�/�1�1� ��� E�� E�G�%�� E�� E���>�)�)�$��3�3�x�7H�H�H�"�-������'�,�.�.����)�4�4�T�:�:������ &� 1�'�2D� E� E����,����������������$�$�U�[�#�h�m�2D�2D�E�E�E�"�8�#5�6�6�H��$�$�U�Z��:�:�:��5�:��0�1�1�4D�D�D�� � � �!�J�J�J���#2��3��3��3��E�)�I�,�� � �3�d�7�m�m�C�D�D�D��1 E�� Es����B6�6 C�Cc����������������������t����������j����������������������D�]�}d|j��������v�r�t����������j��������|j��������������������}t����������j��������|j��������������������}|����������������������|d���������|j��������t������������������������|����������������������|d���������|j ��������t������������������������|����������������������|j��������|j ��������|j��������z �����������������d�S�)Nr����r�����delta����) r���r����r����r;����GetDiskFreeSpaceExr����r�����assertAlmostEqualr����r���rp���r5����used)r����diskr>���r?���s��� r$����test_disk_usagezTestSystemAPIs.test_disk_usage����s��������*�,�,�� E�� E�D��$�)�#�#�� �3�D�O�D�D�I�!�,�T�_�=�=�L��"�"�9�Q�<��1B�)=�� #�� ?�� ?�� ?��"�"�9�Q�<��1C�)=�� #�� ?�� ?�� ?����\�.�)�/�,�2C�C� E�� E�� E�� E� E�� Er(���c������������������������d��t����������j�������������������������������������������d������������D���������������}d��t����������j��������d�������������D���������������}|����������������������||�������������d�S�)Nc������������������F�����g�|�]}|�|����������������������d��������������|dz�����S�)r����r����)r����rv���s��� r$���ry���z7TestSystemAPIs.test_disk_partitions.<locals>.<listcomp>����sF�������-��-��-���-����d�+�+�-� ��H�-��-��-r(���z\�c������������������P�����g�|�]#}|j������������������������������d��������������|j�����������$S�)r����)r����r����rv���s��� r$���ry���z7TestSystemAPIs.test_disk_partitions.<locals>.<listcomp>����s>�������>��>��>�� �|�6�6�t�<�<�>����>��>��>r(���Tr����)r;����GetLogicalDriveStrings�splitr���r����r5���r=���s��� r$����test_disk_partitionsz#TestSystemAPIs.test_disk_partitions����s~������-��-�&�=�?�?�E�E�h�O�O�-��-��-� �>��>�f�.D��.N�.N�.N��>��>��>������L�1�1�1�1�1r(���c������������������h����t����������t���������������������������������������������������������}t����������j���������������������������������������������������������}t������������������������}|D�]6}|���������������������|j���������������������|���������������������|j����������������������7|�� ��������������������||z��d|�d|���������������d�S�)Nzno common entries in z, ) r{����cext�net_if_statsrC���rD����Win32_NetworkAdapter�add�Name�NetConnectionID� assertTrue)r����ps_names�wmi_adapters� wmi_names�wmi_adapters��� r$����test_net_if_statsz TestSystemAPIs.test_net_if_stats����s��������t�(�(�*�*�+�+���w�y�y�5�5�7�7���E�E� �'�� 7�� 7�K��M�M�+�*�+�+�+��M�M�+�5�6�6�6�6�����9�,�,�9A���9�9�M� O�� O�� O�� O�� Or(���c����������������������t����������j���������������������������������������������������������}|d���������j�����������������������������d������������d���������}t ����������j�����������������������������|d������������}t ����������j�����������������������������t����������j ����������������������������������}t����������||z �������������������������������������������������}|����������������������|d�������������d�S�)Nr����.�%Y%m%d%H%M%S����) rC���rD����Win32_OperatingSystem�LastBootUpTimer�����datetime�strptime� fromtimestampr���� boot_timer����� total_seconds�assertLessEqual)r����wmi_os� wmi_btime_str�wmi_btime_dt� psutil_dt�diffs��� r$����test_boot_timezTestSystemAPIs.test_boot_time����s�����������0�0�2�2���q� �0�6�6�s�;�;�A�>� ��(�1�1��>�+��+���%�3�3�F�4D�4F�4F�G�G� ��L�9�,�;�;�=�=�>�>�����T�1�%�%�%�%�%r(���c����������������������t����������j��������dd�������������5��|����������������������t����������j����������������������d�������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������dd�������������5��|����������������������t����������j����������������������d�������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������dd�������������5��|����������������������t����������j����������������������d�������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������dd�������������5��|����������������������t����������j����������������������d�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nz psutil._pswindows.cext.boot_timer:�����return_value��������iM��)r ����patchr5���r���r����rS���s��� r$����test_boot_time_fluctuationz)TestSystemAPIs.test_boot_time_fluctuation����s9����� �Z�:�� K� K� K�� 4�� 4����V�-�/�/��3�3�3� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4����� 4�� 4�� 4�� 4� �Z�:�� K� K� K�� 4�� 4����V�-�/�/��3�3�3� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4����� 4�� 4�� 4�� 4� �Z�:�� K� K� K�� 4�� 4����V�-�/�/��3�3�3� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4����� 4�� 4�� 4�� 4� �Z�:�� M� M� M�� 6�� 6����V�-�/�/��5�5�5� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6����� 6�� 6�� 6�� 6�� 6�� 6sG����(A�A�A�,(B � B$�'B$�(C5�5C9�<C9�(E�E�EN)r+���r,���r-���rk���rq���r���r\���r���r���r���r����r����r����r����r����r����r&���r(���r$���r^���r^���w���s�������������K��K��K�8��8��8�"��X�_�X�?�@�@�����0��0�����A�@�0������E��E����E�:�����E��E����E�2��2��2�O��O��O�&��&��&� 6�� 6�� 6�� 6�� 6r(���r^���c�������������������������e�Zd�Zd��Z�ej��������e�d������������d����������������Z�ej��������e�d������������d����������������Zd��Z d��Z d��Zd��Zd S�) �TestSensorsBatteryc������������������������t����������j����������������������d���������r(|����������������������t����������j�����������������������������������d�S�|����������������������t����������j�����������������������������������d�S�)N�SystemBatteriesPresent)r;����GetPwrCapabilities�assertIsNotNoner����sensors_battery�assertIsNonerS���s��� r$����test_has_batteryz#TestSensorsBattery.test_has_battery����s_�������&�(�(�)A�B�� 8�� � ��!7�!9�!9�:�:�:�:�:����f�4�6�6�7�7�7�7�7r(���z no batteryc������������������������t����������j����������������������}|���������������������d������������d���������}t����������j����������������������}|����������������������|j��������|j��������d��������������d�S�)N�select * from Win32_Batteryr���r����r����)rC���rD����queryr���r����r�����percent�EstimatedChargeRemaining�r���rH����battery_wmi�battery_psutils��� r$����test_percentzTestSensorsBattery.test_percent����sg�������G�I�I���g�g�;�<�<�Q�?���/�1�1������"�K�$H��� �� �� �� �� �� r(���c������������������������t����������j����������������������}|���������������������d������������d���������}t����������j����������������������}|����������������������|j��������|j��������dk�����������������d�S�)Nr����r�������)rC���rD���r����r���r����r5���� power_plugged� BatteryStatusr����s��� r$����test_power_pluggedz%TestSensorsBattery.test_power_plugged��sf�������G�I�I���g�g�;�<�<�Q�?���/�1�1��� ����5�$�2�a�7� 9�� 9�� 9�� 9�� 9r(���c������������������������t����������j��������dd�������������5�}|����������������������t����������j�����������������������������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N�&psutil._pswindows.cext.sensors_battery)r�������r���r���r����)r ���r����r����r���r�����called�r����ms��� r$����test_emulate_no_batteryz*TestSensorsBattery.test_emulate_no_battery��s������� �Z�@�%3�5��5��5�� �89����f�4�6�6�7�7�7��8�O�O�8�O� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s����0A�A�Ac������������������������t����������j��������dd�������������5�}|����������������������t����������j����������������������j��������t����������j���������������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nr����)r����r���r���r���r�����r ���r����r5���r���r�����secsleft�POWER_TIME_UNLIMITEDr����r����s��� r$����test_emulate_power_connectedz/TestSensorsBattery.test_emulate_power_connected��������� �Z�@�%1�3��3��3�� �67����V�3�5�5�>�#�8� :�� :�� :��8�O�O�8�O� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� �����A�A%�%A)�,A)c������������������������t����������j��������dd�������������5�}|����������������������t����������j����������������������j��������t����������j���������������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nr����)r�������r���r���r����r����r����s��� r$����test_emulate_power_chargingz.TestSensorsBattery.test_emulate_power_charging��r����r����c������������������������t����������j��������dd�������������5�}|����������������������t����������j����������������������j��������t����������j���������������������|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nr����)r���r���r������r����)r ���r����r5���r���r����r�����POWER_TIME_UNKNOWNr����r����s��� r$����test_emulate_secs_left_unknownz1TestSensorsBattery.test_emulate_secs_left_unknown%��s������� �Z�@�%2�4��4��4�� �78����V�3�5�5�>�#�6� 8�� 8�� 8��8�O�O�8�O� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� r����N) r+���r,���r-���r����r���r\���r���r����r����r����r����r����r����r&���r(���r$���r����r��������s���������������8��8��8���X�_��_�l�3�3�����4�3����X�_��_�l�3�3�9��9��4�3�9������������������������r(���r����c��������������������������e�Zd�Zed����������������Zed����������������Zd��Zd��Zd��Zd��Z �e j��������ej ��������dk�����d������������d ����������������Zd ��Zd��Zd��Zd ��Zd��Zd��Zd��Zd��Zd��Zd��ZdS�)�TestProcessc������������������6�����t������������������������j��������|�_��������d�S��N�r����pid��clss��� r$���� setUpClasszTestProcess.setUpClass4��������� �"�"�&����r(���c������������������.�����t����������|�j���������������������d�S�r�����r���r��r��s��� r$���� tearDownClasszTestProcess.tearDownClass8����������#�'�����r(���c������������������x�����t����������j��������d������������}|����������������������t�����������j��������|j���������������������d�S�rB���)r����Process�assertRaisesr����kill�r����ps��� r$���� test_issue_24zTestProcess.test_issue_24<��s2�������N�1�������&�-�q�v�6�6�6�6�6r(���c�����������������������t����������j��������d������������}|����������������������|�����������������������������������d�������������t ����������|�������������|������������������������������������|����������������������|�����������������������������������dk����������������� �|�����������������������������������d�d����������\��}}|����������������������|dk�����������������d�S�#�t�����������j ��������$�r �t����������j����������������������d���������dvr��Y�d�S�w�xY�w)Nr�����Systemg��������r����r���r����)�vistazwin-7�win7)r���r��r5����name�str�usernamer�����create_time�memory_infor����platform�uname)r���r���rss�vmss��� r$����test_special_pidzTestProcess.test_special_pid@��s��������N�1������������8�,�,�,�� �A���� � � �������� � ���3�.�/�/�/� %��}�}���r��r�*�H�C��� �O�O�C�!�G�$�$�$�$�$����"�� �� �� ��>�#�#�A�&�*D�D�D���E�D�D� ���s����C��+C5�4C5c�����������������������t����������j��������|�j��������������������}|����������������������t����������|j��������t����������j���������������������d�S�r����)r���r��r��r��� ValueError�send_signal�signal�SIGINTr��s��� r$����test_send_signalzTestProcess.test_send_signalQ��s5�������N�4�8�$�$�����*�a�m�V�]�C�C�C�C�Cr(���c����������������������t����������j��������t����������j����������������������������������}|�����������������������������������}t����������j��������t����������j��������t����������j ��������t����������j����������������������������������}|�����������������������������������}|�� ��������������������||dz����������������t����������j��������|�������������|�� ��������������������|�����������������������������������|�������������d�S�)Nr����)r���r��r3����getpid�num_handlesr;����OpenProcess�win32con�PROCESS_QUERY_INFORMATION�FALSEr5����CloseHandle)r���r���before�handle�afters��� r$����test_num_handles_incrementz&TestProcess.test_num_handles_incrementU��s��������N�2�9�;�;�'�'���������%�h�&H�&.�n�b�i�k�k�C��C��� � ���������� �+�+�+���V�$�$�$���������&�1�1�1�1�1r(���)r��������zCTRL_* signals not supportedc�����������������������t����������j��������|������������������������������������j��������������������}|���������������������t ����������j���������������������|���������������������t ����������j���������������������|������������������������������������|� �����������������������������������|�� ��������������������t�����������j��������|j��������t ����������j���������������������|�� ��������������������t�����������j��������|j��������t ����������j���������������������d�S�r����)r���r��r���r��r!��r"���CTRL_C_EVENT�CTRL_BREAK_EVENTr ���waitr��r���r��s��� r$����test_ctrl_signalszTestProcess.test_ctrl_signals_��s�������� �N�4�.�.�0�0�4�5�5�� � � �f�)�*�*�*� � � �f�-�.�.�.� ������ ���������&�.��-��)<� >�� >�� >����&�.��-��)@� B�� B�� B�� B�� Br(���c�����������������������|�����������������������t����������j���������������������������������������������������������t ����������j��������t����������j���������������������������������d�S�r����)r5���r���r��r��r;���� GetUserNameExr)���NameSamCompatiblerS���s��� r$���� test_usernamezTestProcess.test_usernamel��sP�����������)�)�2�2�4�4�!�/��0J�K�K� M�� M�� M�� M�� Mr(���c����������������������t����������j��������ddt����������j���������������������������������������������������������������������}d���������������������t ����������j���������������������������������������������������������������������}|�� ��������������������||�������������d�S�)Nz +ra���) �re�subr;����GetCommandLine�strip�joinr���r���cmdliner5���r=���s��� r$����test_cmdlinezTestProcess.test_cmdlinep��sk�������F�4��h�&=�&?�&?�@�@�F�F�H�H� ��x�x��� 0� 0� 8� 8� :� :�;�;������L�1�1�1�1�1r(���c������������������Z����t����������j��������t����������j��������t����������j��������t����������j����������������������������������}|����������������������t�����������j��������|�������������t����������j ��������|������������}t����������j����������������������� ����������������������������������}|����������������������||�������������d�S�r����)r;���r(��r)��r*��r+��r3���r&��� addCleanupr,���win32process�GetPriorityClassr���r���nicer5����r���r.��r>���r?���s��� r$���� test_nicezTestProcess.test_nice���s��������%�h�&H�&.�n�b�i�k�k�C��C������,�f�5�5�5� �1�&�9�9� ��~�'�'�,�,�.�.������y�1�1�1�1�1r(���c����������������������t����������j��������t����������j��������t����������j��������|�j��������������������}|����������������������t�����������j��������|�������������t����������j ��������|������������}t����������j��������|�j�������������������������������������������������������}|�� ��������������������|d���������|j���������������������|�� ��������������������|d���������|j���������������������|�� ��������������������|d���������|j���������������������|�� ��������������������|d���������|j���������������������|�� ��������������������|d���������|j���������������������|�� ��������������������|d���������|j���������������������|�� ��������������������|d���������|j���������������������|�� ��������������������|d���������|j���������������������|�� ��������������������|j��������|j���������������������|�� ��������������������|j��������|j���������������������d�S�) N�PeakWorkingSetSize�WorkingSetSize�QuotaPeakPagedPoolUsage�QuotaPagedPoolUsage�QuotaPeakNonPagedPoolUsage�QuotaNonPagedPoolUsage� PagefileUsage�PeakPagefileUsage)r;���r(��r)��r*��r+��r��rD��r,��rE���GetProcessMemoryInfor���r��r��r5���� peak_wset�wset�peak_paged_pool� paged_pool�peak_nonpaged_pool� nonpaged_pool�pagefile� peak_pagefiler��r��rH��s��� r$����test_memory_infozTestProcess.test_memory_info���s�������%�h�&H�&.�n�d�h�@��@������,�f�5�5�5� �5�f�=�=� ��~�d�h�/�/�;�;�=�=������*�+�\�-C� E�� E�� E�����&�'��):� <�� <�� <�����/�0�,�2N� P�� P�� P�����+�,�l�.E� G�� G�� G�����2�3��+� -�� -�� -�� ����.�/��1K� M�� M�� M�����o�&��(=� ?�� ?�� ?�����)�*�L�,F� H�� H�� H�� ����)�<�+<�=�=�=�����)�<�+@�A�A�A�A�Ar(���c������������������z����t����������j��������t����������j��������t����������j��������|�j��������������������}|����������������������t�����������j��������|�������������t����������j ��������|�j��������������������}|� �����������������������������������|�����������������������������������}t����������j ��������|������������}|����������������������||�������������d�S�r����)r;���r(��r)��r*��r+��r��rD��r,��r���r��r���r5��rE���GetExitCodeProcessr5���)r���r.��r��r?���r>���s��� r$���� test_waitzTestProcess.test_wait���s��������%�h�&H�&.�n�d�h�@��@������,�f�5�5�5��N�4�8�$�$�� ��� � � ��v�v�x�x�� �3�F�;�;� �����y�1�1�1�1�1r(���c������������������r����d��}t����������j��������t����������j��������t����������j��������|�j��������������������}|����������������������t�����������j��������|��������������|t����������j ��������|������������d���������������������}t����������j��������|�j�������������������������������������������������������}|�� ��������������������||�������������d�S�)Nc������������������:���������fd�t����������d������������D���������������S�)Nc������������������$������g�|�]}d�|z���z��� |�� S�)r����r&���)rw����irx���s��� �r$���ry���zGTestProcess.test_cpu_affinity.<locals>.from_bitmask.<locals>.<listcomp>���s&�������9�9�9�!�Q�!�V�q�L�9�A�9�9�9r(����@���)�range)rx���s���`r$����from_bitmaskz3TestProcess.test_cpu_affinity.<locals>.from_bitmask���s#�������9�9�9�9�u�R�y�y�9�9�9�9r(���r���)r;���r(��r)��r*��r+��r��rD��r,��rE���GetProcessAffinityMaskr���r���cpu_affinityr5���)r���rf��r.��r>���r?���s��� r$����test_cpu_affinityzTestProcess.test_cpu_affinity���s������� :�� :�� :���%�h�&H�&.�n�d�h�@��@������,�f�5�5�5� �L��/��7�7��:�<��<� ��~�d�h�/�/�<�<�>�>������y�1�1�1�1�1r(���c����������������������t����������j��������t����������j��������t����������j��������t����������j����������������������������������}|����������������������t�����������j��������|�������������t����������j ��������|������������}t����������j����������������������� ����������������������������������}|����������������������|j��������|d����������������������|����������������������|j��������|d����������������������|����������������������|j��������|d����������������������|����������������������|j��������|d����������������������|����������������������|j��������|d����������������������|����������������������|j��������|d����������������������d�S�)N�ReadOperationCount�WriteOperationCount�ReadTransferCount�WriteTransferCount�OtherOperationCount�OtherTransferCount)r;���r(��r)��r*��r+��r3���r&��rD��r,��rE���GetProcessIoCountersr���r���io_countersr5���� read_count�write_count� read_bytes�write_bytes�other_count�other_bytesrH��s��� r$����test_io_counterszTestProcess.test_io_counters���sj������%�h�&H�&.�n�b�i�k�k�C��C������,�f�5�5�5� �5�f�=�=� ��~�'�'�3�3�5�5������#�Y�/C�%D� F�� F�� F�����$�i�0E�&F� H�� H�� H�����#�Y�/B�%C� E�� E�� E�����$�i�0D�&E� G�� G�� G�����$�i�0E�&F� H�� H�� H�����$�i�0D�&E� G�� G�� G�� G�� Gr(���c�����������������������dd�l�}dd�l}d}|j��������j�����������������������������|d|�j��������������������}|����������������������|j��������j��������j��������|�������������|j��������� ����������������������������������}|j��������j��������� ��������������������||���������������������|�������������������������|j��������}t����������j��������|�j�������������������������������������������������������}|����������������������||�������������d�S�)Nr�������)�ctypes�ctypes.wintypes�windll�kernel32r(��r��rD��r,���wintypes�DWORD�GetProcessHandleCount�byref�valuer���r��r'��r5���)r���r|��r*��r.���hndcntr>���r?���s��� r$����test_num_handleszTestProcess.test_num_handles���s�������� � � �����$)�!���'�3�3�%�q�$�(�4��4������ �.�:�F�C�C�C���&�&�(�(��� ��4�4��F�L�L��(�(� *�� *�� *��L� ��~�d�h�/�/�;�;�=�=������y�1�1�1�1�1r(���c����������������������t������������������������}d|_��������t����������j��������d|�������������5��t����������j��������d������������5�}t ����������j����������������������}|����������������������t����������j��������|j���������������������d�d�d��������������n#�1�swxY�w�Y���d�d�d��������������n#�1�swxY�w�Y���|�� ��������������������|j ��������d�������������d�S�)Ni+��z psutil._psplatform.cext.proc_cwd��side_effectz time.sleepr:���)�WindowsError�winerrorr ���r����r���r��r��r����cwd�assertGreaterEqual� call_count)r����excr����r��s��� r$����test_error_partial_copyz#TestProcess.test_error_partial_copy���s'������n�n����� �Z�:�� L� L� L�� >�� >���L�)�)�� >�Q��N�$�$���!�!�&�"5�q�u�=�=�=� >�� >�� >�� >�� >�� >�� >�� >�� >�� >�� >����� >�� >�� >�� >� >�� >�� >�� >�� >�� >�� >�� >�� >�� >�� >����� >�� >�� >�� >�� �����a�0�0�0�0�0s5����B�9B�:B�B � B� B �B�B!�$B!c������������������������t����������j����������������������d���������dz���}t�����������j�����������������������������|������������}|����������������������t�����������j��������|j���������������������d�S�)Nr����i���)r���r|����_psplatformr��r��r����exe)r���r��rI���s��� r$����test_exezTestProcess.test_exe���sP��������k�m�m�B��%�'���!�)�)�#�.�.�����&�.���9�9�9�9�9r(���N)r+���r,���r-����classmethodr��r��r��r��r$��r0��r���r\����sys�version_infor6��r:��rB��rI��r\��r_��ri��ry��r���r���r���r&���r(���r$���r����r����2��se��������������'��'���[�'��������[��7��7��7�%��%��%�"D��D��D�2��2��2���X�_��)�V�3�3�3�5��5� B�� B�5��5� B�M��M��M�2��2��2�(2��2��2�B��B��B�62��2��2� 2�� 2�� 2�G��G��G�& 2�� 2�� 2�1��1��1�:��:��:��:��:r(���r����c��������������������������e�Zd�ZdZed����������������Zed����������������Zd��Z�ej ��������e d������������d����������������Zd��Zd��Z �e��������������d ����������������Z�e��������������d ����������������Zd��ZdS�) �TestProcessWMIz%Compare Process API results with WMI.c������������������6�����t������������������������j��������|�_��������d�S�r����r���r��s��� r$���r��zTestProcessWMI.setUpClass���r��r(���c������������������.�����t����������|�j���������������������d�S�r����r��r��s��� r$���r��zTestProcessWMI.tearDownClass���r ��r(���c�����������������������t����������j�������������������������������������������|�j���������������������d���������}t ����������j��������|�j��������������������}|����������������������|�����������������������������������|j���������������������d�S��Nrt���r���) rC���rD���rz���r��r���r��r5���r���Caption�r���rH���r��s��� r$���� test_namezTestProcessWMI.test_name���s\�������G�I�I�#�#�d�h�#�7�7��:���N�4�8�$�$����������1�9�-�-�-�-�-r(���z!unreliable path on GITHUB_ACTIONSc������������������>����t����������j�������������������������������������������|�j���������������������d���������}t ����������j��������|�j��������������������}|����������������������|����������������������������������������������������������������������|j ��������������������������������������������������������d�S�r���) rC���rD���rz���r��r���r��r5���r���rf����ExecutablePathr���s��� r$���r���zTestProcessWMI.test_exe��ss�������G�I�I�#�#�d�h�#�7�7��:���N�4�8�$�$��� ������������!�*:�*@�*@�*B�*B�C�C�C�C�Cr(���c������������������D����t����������j�������������������������������������������|�j���������������������d���������}t ����������j��������|�j��������������������}|����������������������d���������������������|�����������������������������������������������|j ��������� ��������������������dd�������������������������d�S�)Nrt���r���ra����"r����)rC���rD���rz���r��r���r��r5���r@��rA���CommandLinere���r���s��� r$���rB��zTestProcessWMI.test_cmdline ��s��������G�I�I�#�#�d�h�#�7�7��:���N�4�8�$�$��������!�)�)�+�+�.�.���.�.�s�B�7�7� 9�� 9�� 9�� 9�� 9r(���c������������������*����t����������j�������������������������������������������|�j���������������������d���������}t ����������j��������|�j��������������������}|�����������������������������������\��}}}|�d|��}|����������������������|�����������������������������������|�������������d�S�)Nrt���r���r����) rC���rD���rz���r��r���r���GetOwnerr5���r��)r���rH���r���domain�_r��s��� r$���r:��zTestProcessWMI.test_username��s~�������G�I�I�#�#�d�h�#�7�7��:���N�4�8�$�$���j�j�l�l����8�%�v�v�x�x�0����������x�0�0�0�0�0r(���c����������������������t����������j�������������������������������������������|�j���������������������d���������}t ����������j��������|�j��������������������}|�����������������������������������j��������}|����������������������|t����������|j ���������������������������������d�S�r���)rC���rD���rz���r��r���r��r��r��r5���r2���rL��)r���rH���r��r��s��� r$����test_memory_rsszTestProcessWMI.test_memory_rss��sm�������G�I�I�#�#�d�h�#�7�7��:���N�4�8�$�$���m�m�o�o�!������c�!�"2�3�3�4�4�4�4�4r(���c������������������R����t����������j�������������������������������������������|�j���������������������d���������}t ����������j��������|�j��������������������}|�����������������������������������j��������}t����������|j ��������������������}||k����r&||dz��k����r|�� ��������������������d|�d|���������������d�S�d�S�d�S�)Nrt���r���r{��zwmi=z , psutil=)rC���rD���rz���r��r���r��r��r��r2���� PageFileUsagerg���)r���rH���r��r��� wmi_usages��� r$����test_memory_vmszTestProcessWMI.test_memory_vms��s��������G�I�I�#�#�d�h�#�7�7��:���N�4�8�$�$���m�m�o�o�!�� ����(�(� ��9���3�)�d�*:�#:�#:��I�I�I�Y�Y�Y���<�=�=�=�=�=�� ��#:�#:r(���c����������������������t����������j�������������������������������������������|�j���������������������d���������}t ����������j��������|�j��������������������}t ����������|j�����������������������������d������������d���������������������}t����������j ��������dt����������j��������|�����������������������������������������������������������}|�� ��������������������||�������������d�S�)Nrt���r���r����r����)rC���rD���rz���r��r���r��r���CreationDater�����time�strftime� localtimer��r5���)r���rH���r���wmic_create� psutil_creates��� r$����test_create_timezTestProcessWMI.test_create_time+��s��������G�I�I�#�#�d�h�#�7�7��:���N�4�8�$�$���!�.�.�.�s�3�3�A�6�7�7��� �n�&*�n�Q�]�]�_�_�&E�&E�G��G� �����m�4�4�4�4�4r(���N)r+���r,���r-����__doc__r���r��r��r���r���r\���r���r���rB��r:��r���r���r���r���r&���r(���r$���r���r������s�������������/�/��'��'���[�'��������[��.��.��.���X�_�^�%H�I�I�D��D��J�I�D�9��9��9�1��1��1������5��5����5������ >�� >���� >�5��5��5��5��5r(���r���c��������������������b�����e�Zd�ZdZed����������������Zed����������������Zd��Zd��Zd��Z d��Z d��Zd ��Zd S�)�TestDualProcessImplementationa{�� Certain APIs on Windows have 2 internal implementations, one based on documented Windows APIs, another one based NtQuerySystemInformation() which gets called as fallback in case the first fails because of limited permission error. Here we test that the two methods return the exact same value, see: https://github.com/giampaolo/psutil/issues/304 c������������������6�����t������������������������j��������|�_��������d�S�r����r���r��s��� r$���r��z(TestDualProcessImplementation.setUpClassC��r��r(���c������������������.�����t����������|�j���������������������d�S�r����r��r��s��� r$���r��z+TestDualProcessImplementation.tearDownClassG��r ��r(���c����������������������t����������j��������|�j�������������������������������������������������������}t ����������j��������dt ����������t����������j��������d�������������������������5�}t����������j��������|�j�������������������������������������������������������}|�� ��������������������t����������|������������t����������|�������������������������t����������t����������|������������������������D�]^}|����������������������||���������d�������������|����������������������||���������d�������������|�� ��������������������||���������||���������d���������������_|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nz(psutil._psplatform.cext.proc_memory_info�msgr���r���i���r����)r���r��r��r��r ���r����r���r����EPERMr5���rQ���re��r���r����r����)r����mem_1r#����mem_2rc��s��� r$���r\��z.TestDualProcessImplementation.test_memory_infoK��su�������t�x�(�(�4�4�6�6�� �Z�B�$+�E�K��$?�$?�A��A��A�� �DG��N�4�8�,�,�8�8�:�:�E����S��Z�Z��U���4�4�4��3�u�:�:�&�&�� F�� F���'�'��a��!�4�4�4��'�'��a��!�4�4�4��&�&�u�Q�x��q���&�E�E�E�E��:���:�� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s����C E�E�Ec������������������|����t����������j��������|�j�������������������������������������������������������}t ����������j��������dt ����������t����������j��������d�������������������������5�}|�� ��������������������t����������j��������|�j�������������������������������������������������������|�������������|j ��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)N�"psutil._psplatform.cext.proc_timesr���r���)r���r��r��r��r ���r����r���r���r���r5���r����)r����ctimer#���s��� r$���r���z.TestDualProcessImplementation.test_create_timeW��s���������t�x�(�(�4�4�6�6�� �Z�<�$+�E�K��$?�$?�A��A��A�� �DG����V�^�D�H�5�5�A�A�C�C�U�K�K�K��:���:�� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� �����A B1�1B5�8B5c�����������������������t����������j��������|�j�������������������������������������������������������}t ����������j��������dt ����������t����������j��������d�������������������������5�}t����������j��������|�j�������������������������������������������������������}|j ��������sJ��|�� ��������������������|j��������|j��������d��������������|�� ��������������������|j��������|j��������d��������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nr���r���r���g{�G�z�?r����) r���r��r��rR���r ���r����r���r���r���r����r�����user�system)r����cpu_times_1r#����cpu_times_2s��� r$����test_cpu_timesz,TestDualProcessImplementation.test_cpu_times^��sD������n�T�X�.�.�8�8�:�:�� �Z�<�$+�E�K��$?�$?�A��A��A�� D�DG� �.���2�2�<�<�>�>�K��:���:��"�"�� �+�"2�$�� #�� @�� @�� @��"�"��"�K�$6�d�� #�� D�� D�� D� D�� D�� D�� D�� D�� D�� D�� D�� D�� D�� D�� D����� D�� D�� D�� D�� D�� Ds����A9C � C$�'C$c�����������������������t����������j��������|�j�������������������������������������������������������}t ����������j��������dt ����������t����������j��������d�������������������������5�}t����������j��������|�j�������������������������������������������������������}t����������t����������|������������������������D�]&}|����������������������||���������||���������d���������������'|j��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nz(psutil._psplatform.cext.proc_io_countersr���r���r:���r����) r���r��r��rr��r ���r����r���r���r���re��rQ���r����r����)r���� io_counters_1r#���� io_counters_2rc��s��� r$���ry��z.TestDualProcessImplementation.test_io_countersi��s2�������t�x�0�0�<�<�>�>� � �Z�B�$+�E�K��$?�$?�A��A��A�� �DG�"�N�4�8�4�4�@�@�B�B�M��3�}�-�-�.�.�� A�� A���&�&�!�!�$�m�A�&6�a��'��A��A��A��A��:���:�� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s����A8C � C$�'C$c������������������|����t����������j��������|�j�������������������������������������������������������}t ����������j��������dt ����������t����������j��������d�������������������������5�}|�� ��������������������t����������j��������|�j�������������������������������������������������������|�������������|j ��������sJ�� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nz(psutil._psplatform.cext.proc_num_handlesr���r���)r���r��r��r'��r ���r����r���r���r���r5���r����)r���r'��r#���s��� r$���r���z.TestDualProcessImplementation.test_num_handless��s��������n�T�X�.�.�:�:�<�<�� �Z�B�$+�E�K��$?�$?�A��A��A�� �DG����V�^�D�H�5�5�A�A�C�C�(� *�� *�� *��:���:�� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� r���c������������������n����ddl�m}�t����������j����������������������D�]�} �t�������������������������������|d�������������}t�������������������������������|d�������������}|����������������������||��������������R#�t����������$�r<}�||������������}t����������|t����������j ��������t����������j ��������f������������s��Y�d�}~��d�}~ww�xY�wd�S�)Nr���)�convert_oserrorT)�use_pebF)r���r���r���r|���r�����proc_cmdliner5���r���� isinstancer���r���)r���r���r���a�br"���s��� r$���rB��z*TestDualProcessImplementation.test_cmdline{��s�������5�5�5�5�5�5��;�=�=�� '�� '�C� '��%�%�c�4�%�8�8���%�%�c�5�%�9�9���� � ��A�&�&�&�&�� ��� �� �� �%�o�c�*�*��!�#��(;�(.�(<�(>��?��?����������������� ���� '�� 's����8A,�, B2�62B-�-B2N) r+���r,���r-���r���r���r��r��r\��r���r���ry��r���rB��r&���r(���r$���r���r���7��s��������������������'��'���[�'��������[�� �� �� ������ D�� D�� D�����������'��'��'��'��'r(���r���c��������������������n�������e�Zd�ZdZed����������������ZddgZ��fd�Z��fd�Zd��Z d��Z d ��Zd ��Zd��Z d��Z��xZS�) �RemoteProcessTestCasez�Certain functions require calling ReadProcessMemory. This trivially works when called on the current process. Check that this works on other processes, especially when they have a different bitness. c�������������������$����d}�t����������j���������d������������D�]x}t����������j��������|d|�gt����������j��������t����������j���������������������}|�����������������������������������\��}}|������������������������������������|t����������t�����������������������k����r|c�S��yd�S�)Nz6import sys; sys.stdout.write(str(sys.maxsize > 2**32))zC:\Python*\python.exe�-c)r ����stdout�stderr) �glob� subprocess�Popen�PIPE�STDOUT�communicater5��r��r ���)�code�filenamerI����outputr���s��� r$����find_other_interpreterz,RemoteProcessTestCase.find_other_interpreter���s��������H���� �":�;�;�� �� �H��#�(�D�$�)?�+5�?�+5�+<�>��>��>�D���(�(�*�*�I�F�A��I�I�K�K�K����\�*�*�*�*������+� �� r(���r���zimport sys; sys.stdin.read()c������������������b�����t������������������������������������������������������������|������������������������������������}|�t����������j��������d�������������t ����������rt����������j��������|�_��������||�_ ��������n||�_��������t����������j��������|�_ ��������t����������j�������������������������������������������}t����������t����������j����������������������������������|d<���|����������������������|�j ��������g|�j��������z���|t"����������j���������������������|�_��������|����������������������|�j��������g|�j��������z���|t"����������j���������������������|�_��������d�S�)Nz0could not find interpreter with opposite bitness�THINK_OF_A_NUMBER)�env�stdin)r����setUpr���r����SkipTestr ���r���� executable�python64�python32r3���r4����copyr��r&��r���� test_argsr���r����proc32�proc64)r����other_pythonr���� __class__s��� �r$���r���zRemoteProcessTestCase.setUp���s������ ��� � �����2�2�4�4�����#�B�D��D�� D��� +��N�D�M�(�D�M�M�(�D�M��N�D�M��j�o�o����#&�r�y�{�{�#3�#3��� ��)�)� �]�O�d�n�,���/��*��#��#�����)�)� �]�O�d�n�,���/��*��#��#����r(���c������������������������t������������������������������������������������������������|�j��������������������������������������������|�j��������������������������������������������d�S�r����)r����tearDownr���r���r���)r���r���s��� �r$���r���zRemoteProcessTestCase.tearDown���sG������� ������������!�!�!�����!�!�!�!�!r(���c����������������������t����������j��������|�j��������j��������������������}|����������������������t����������|�����������������������������������������������d�������������|����������������������|�����������������������������������dd�����������|�j���������������������d�S��Nr����r����)r���r��r���r��r5���rQ���rA��r���r��s��� r$����test_cmdline_32z%RemoteProcessTestCase.test_cmdline_32����i�������N�4�;�?�+�+������Q�Y�Y�[�[�)�)�1�-�-�-���������Q�R�R��$�.�9�9�9�9�9r(���c����������������������t����������j��������|�j��������j��������������������}|����������������������t����������|�����������������������������������������������d�������������|����������������������|�����������������������������������dd�����������|�j���������������������d�S�r���)r���r��r���r��r5���rQ���rA��r���r��s��� r$����test_cmdline_64z%RemoteProcessTestCase.test_cmdline_64���r���r(���c�����������������������t����������j��������|�j��������j��������������������}|����������������������|�����������������������������������t ����������j�����������������������������������d�S�r����)r���r��r���r��r5���r���r3����getcwdr��s��� r$����test_cwd_32z!RemoteProcessTestCase.test_cwd_32����?�������N�4�;�?�+�+����������"�)�+�+�.�.�.�.�.r(���c�����������������������t����������j��������|�j��������j��������������������}|����������������������|�����������������������������������t ����������j�����������������������������������d�S�r����)r���r��r���r��r5���r���r3���r���r��s��� r$����test_cwd_64z!RemoteProcessTestCase.test_cwd_64���r��r(���c������������������ ����t����������j��������|�j��������j��������������������}|�����������������������������������}|����������������������d|�������������|����������������������|d���������t����������t����������j �����������������������������������������������d�S�)Nr���) r���r��r���r��r4����assertIn�assertEqualsr��r3���r&��)r���r���es��� r$����test_environ_32z%RemoteProcessTestCase.test_environ_32���sg�������N�4�;�?�+�+�� �I�I�K�K��� � �)�1�-�-�-����!�/�0�#�b�i�k�k�2B�2B�C�C�C�C�Cr(���c�����������������������t����������j��������|�j��������j��������������������} �|������������������������������������d�S�#�t�����������j��������$�r�Y�d�S�w�xY�wr����)r���r��r���r��r4���r���r��s��� r$����test_environ_64z%RemoteProcessTestCase.test_environ_64���sP�������N�4�;�?�+�+�� � �I�I�K�K�K�K�K���"�� �� �� ��D�D� ���s����6��A �A )r+���r,���r-���r����staticmethodr���r���r���r���r���r���r���r��r��r ��� __classcell__)r���s���@r$���r���r������s��������������������� �� ���\� ���5�6�I�#��#��#��#��#�2"��"��"��"��"� :��:��:� :��:��:� /��/��/�/��/��/�D��D��D�������������r(���r���c�������������������������e�Zd�Zd��Zd��ZdS�)�TestServicesc�����������������������t����������g�d�������������}t����������g�d�������������}t����������g�d�������������}t����������j����������������������D��]/}|�����������������������������������}|����������������������|d���������t �����������������������|����������������������|d��������������������������������������������d�������������|����������������������|d���������t �����������������������|����������������������|d���������t �����������������������|����������������������|d���������|�������������|d ����������t����������j ��������|d ����������������������|����������������������|d ���������t �����������������������|����������������������|d���������t �����������������������|����������������������|d���������t �����������������������|����������������������|d���������|�������������|����������������������|d���������|�������������|����������������������|d���������t �����������������������|� ����������������������������������}|�;t����������j ��������|������������}|����������������������|������������������������������������������������t����������j ��������|�����������������������������������������������}|����������������������||���������������1d�S�) N)�running�paused�start�pause�continue�stop�stopped)� automatic�manual�disabled)r��r��� start_pending� pause_pending�continue_pending�stop_pendingr��r��r�����display_namer���statusr���binpath� start_type�description)r{���r����win_service_iter�as_dict�assertIsInstancer���assertNotEqualr?��r��r��r��r����� is_running�win_service_getr��r5���)r����valid_statuses�valid_start_types�serv�datar��r���ss��� r$����test_win_service_iterz"TestServices.test_win_service_iter���sG������� �� �� ������� ��! ��! ��! ������ ��� �� �� ��������+�-�-�� &�� &�D��<�<�>�>�D��!�!�$�v�,��4�4�4�����V�� 2� 2� 4� 4�b�9�9�9��!�!�$�~�"6��<�<�<��!�!�$�z�"2�C�8�8�8��M�M�$�x�.�.�9�9�9��E�{�&���t�E�{�+�+�+��!�!�$�y�/�3�7�7�7��!�!�$�z�"2�C�8�8�8��!�!�$�|�"4�c�:�:�:��M�M�$�|�,�.?�@�@�@��M�M�$�x�.�.�9�9�9��!�!�$�}�"5�s�;�;�;��(�(�*�*�C����N�3�'�'����������/�/�/��&�t�y�y�{�{�3�3�A����T�1�%�%�%�%�- &�� &r(���c������������������x����t�����������j��������j��������j��������}t�����������j��������j��������j��������}t����������t����������j���������������������������������������������������������������������}|����������������������t�����������j ��������������������5�}t����������j ��������|dz����������������d�d�d��������������n#�1�swxY�w�Y���|����������������������|j��������j��������|dz����������������t����������j ��������|������������}t����������rddd|f}n|df}t����������|��}t����������j��������d|�������������5��|����������������������t�����������j ��������|j���������������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������d|�������������5��|����������������������t�����������j ��������|j���������������������d�d�d��������������n#�1�swxY�w�Y���t����������rddd|f}n|df}t����������|��}t����������j��������d|�������������5��|����������������������t�����������j��������|j���������������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������d|�������������5��|����������������������t�����������j��������|j���������������������d�d�d��������������n#�1�swxY�w�Y���|����������������������|�����������������������������������t+����������|�������������������������|����������������������|�����������������������������������t+����������|�������������������������|����������������������|�����������������������������������t/����������|�������������������������|����������������������|�����������������������������������t/����������|�������������������������d�S�)Nz???r���r���z/psutil._psplatform.cext.winservice_query_statusr���z/psutil._psplatform.cext.winservice_query_config)r���r���r�����ERROR_SERVICE_DOES_NOT_EXIST�ERROR_ACCESS_DENIED�nextr#��r��r��r���r(��r5���� exceptionr���r���r ���r����r��r��r���r��r��r��r����)r���r0��r1��r���cm�servicer ���r���s��� r$����test_win_service_getz!TestServices.test_win_service_get��se�������#�@�� %�$�0�5�I���F�+�-�-�.�.�3�3�5�5�� � � �v�3� 4� 4�� 1���"�4�%�<�0�0�0� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1����� 1�� 1�� 1�� 1������*�D�5�L�9�9�9���(��.�.���� 9��u�a�!=�>�D�D�0�%�8�D��D�!�� �Z�I�$'�)��)��)�� D�� D����f�2�G�N�C�C�C� D�� D�� D�� D�� D�� D�� D�� D�� D�� D�� D����� D�� D�� D�� D���Z�I�$'�)��)��)�� F�� F����f�2�G�4D�E�E�E� F�� F�� F�� F�� F�� F�� F�� F�� F�� F�� F����� F�� F�� F�� F� ��� 0��u�a�!4�5�D�D�'��/�D��D�!�� �Z�I�$'�)��)��)�� C�� C����f�1�7�>�B�B�B� C�� C�� C�� C�� C�� C�� C�� C�� C�� C�� C����� C�� C�� C�� C���Z�I�$'�)��)��)�� E�� E����f�1�7�3C�D�D�D� E�� E�� E�� E�� E�� E�� E�� E�� E�� E�� E����� E�� E�� E�� E� � � � �g�l�l�n�n�c�'�l�l�3�3�3�� � �g�*�*�,�,�c�'�l�l�;�;�;�� � �g�l�l�n�n�d�7�m�m�4�4�4�� � �g�*�*�,�,�d�7�m�m�<�<�<�<�<sZ����>B"�"B&�)B&�&E�E�E�(&F�F�!F�&H�H�H�)&I�I�"IN)r+���r,���r-���r.��r6��r&���r(���r$���r��r�����s3��������������.&��.&��.&�`)=��)=��)=��)=��)=r(���r���__main__)� run_from_name)7r���r����r���r���r3���r��r<��r"��r���r���r����warningsr���r����psutil._compatr���r����psutil.testsr���r���r���r ���r ���r���r���r ���r���r���r���r���r���r����catch_warnings�simplefilterr;���r)��rE��rC���r���r����r'���r\���r*���r/���r^���r����r����r���r���r���r��r+����psutil.tests.runnerr8���__file__r&���r(���r$����<module>r@�����s"������������������������ � � � ������� � � � �� � � � ���������� � � � ������������ � � � ��������������,��,��,��,��,��,�� �� �� �� �� �� ��!��!��!��!��!��!��'��'��'��'��'��'��$��$��$��$��$��$��!��!��!��!��!��!��������������'��'��'��'��'��'��������������������������)��)��)��)��)��)��������������'��'��'��'��'��'��"��"��"��"��"��"��-��-��-��-��-��-��!��!��!��!��!��!�����4��� �� � "� "��������h�'�'�'�������������� � � �����������������������������������������������W��n�-�-�����6�7�7�����+��G�-M�N�N� �� �� �� �� �n�� �� ��O�N��8�7��.�-� �#D��#D��#D��#D��#D�/��#D��#D��#D�Lw6��w6��w6��w6��w6�_��w6��w6��w6�~4��4��4��4��4���4��4��4�x|:��|:��|:��|:��|:�/��|:��|:��|:�~@5��@5��@5��@5��@5�_��@5��@5��@5�L����W��n�-�-�O'��O'��O'��O'��O'�N��O'��O'��.�-�O'�d����W��n�-�-�T��T��T��T��T�N��T��T��.�-�T�x����W��n�-�-�[=��[=��[=��[=��[=�>��[=��[=��.�-�[=�|��z���1�1�1�1�1�1��M�(��������s����,!C�C� C