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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

�bic
l����dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlmZddlm
Z
ddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(ddlm)Z)ddlm*Z*dd lm+Z+dd!lm,Z,dd"lm-Z-dd#lm.Z.Gd$�d%e'��Z/Gd&�d'e'��Z0Gd(�d)e'��Z1Gd*�d+e'��Z2Gd,�d-e'��Z3d.�Z4e.Gd/�d0e'����Z5e6d1krdd2l7m8Z8e8e9��dSdS)3z�Contracts tests. These tests mainly check API sanity in terms of
returned types and APIs availability.
Some of these are duplicates of tests test_system.py and test_process.py
�N)�AIX)�BSD)�FREEBSD)�LINUX)�MACOS)�NETBSD)�OPENBSD)�OSX)�POSIX)�SUNOS)�WINDOWS)�FileNotFoundError)�long)�range)�unicode)�APPVEYOR)�
CI_TESTING)�GITHUB_ACTIONS)�HAS_CPU_FREQ)�HAS_NET_IO_COUNTERS)�HAS_SENSORS_FANS)�HAS_SENSORS_TEMPERATURES)�PYPY)�SKIP_SYSCONS)�VALID_PROC_STATUSES)�PsutilTestCase)�check_connection_ntuple)�create_sockets)�enum)�
is_namedtuple)�kernel_version)�process_namespace)�	serialrunc�^�eZdZd�Zd�Zd�Zd�Zeje	oe
d��d���ZdS)�TestAvailConstantsAPIsc�~�|�ttd��tp
tpt
��dS)N�PROCFS_PATH)�assertEqual�hasattr�psutilrrr��selfs �=/usr/lib/python3/dist-packages/psutil/tests/test_contracts.py�test_PROCFS_PATHz'TestAvailConstantsAPIs.test_PROCFS_PATHDs=��������7�7��.�%�.�3�	0�	0�	0�	0�	0�c���|j}|ttd��t��|ttd��t��|ttd��t��|ttd��t��|ttd��t��|ttd��t��dS)N�ABOVE_NORMAL_PRIORITY_CLASS�BELOW_NORMAL_PRIORITY_CLASS�HIGH_PRIORITY_CLASS�IDLE_PRIORITY_CLASS�NORMAL_PRIORITY_CLASS�REALTIME_PRIORITY_CLASS�r(r)r*r
�r,�aes  r-�test_win_priorityz(TestAvailConstantsAPIs.test_win_priorityHs���
�
��
��7�6�8�9�9�7�C�C�C�
��7�6�8�9�9�7�C�C�C�
��7�6�0�1�1�7�;�;�;�
��7�6�0�1�1�7�;�;�;�
��7�6�2�3�3�W�=�=�=�
��7�6�4�5�5�w�?�?�?�?�?r/c�4�|j}|ttd��t��|ttd��t��|ttd��t��|ttd��t��dS)N�IOPRIO_CLASS_NONE�IOPRIO_CLASS_RT�IOPRIO_CLASS_BE�IOPRIO_CLASS_IDLE�r(r)r*rr8s  r-�test_linux_ioprio_linuxz.TestAvailConstantsAPIs.test_linux_ioprio_linuxQs���
�
��
��7�6�.�/�/��7�7�7�
��7�6�,�-�-�u�5�5�5�
��7�6�,�-�-�u�5�5�5�
��7�6�.�/�/��7�7�7�7�7r/c�4�|j}|ttd��t��|ttd��t��|ttd��t��|ttd��t��dS)N�IOPRIO_HIGH�
IOPRIO_NORMAL�
IOPRIO_LOW�IOPRIO_VERYLOWr7r8s  r-�test_linux_ioprio_windowsz0TestAvailConstantsAPIs.test_linux_ioprio_windowsXs���
�
��
��7�6�=�)�)�7�3�3�3�
��7�6�?�+�+�W�5�5�5�
��7�6�<�(�(�'�2�2�2�
��7�6�+�,�,�g�6�6�6�6�6r/�%unsupported on GITHUB_ACTIONS + LINUXc��|j}|ttd��tpt��|ttd��tpt��|ttd��tpt��|ttd��tpt��|ttd��tpt��|ttd��tpt��|ttd��tpt��|ttd��tpt��|ttd	��tpt��|ttd
��tpt��|ttd��tpt��|ttd��t��t
�rt
��d
kr$|ttd��t��t
��dkr$|ttd��t��t
��dkr$|ttd��t��t
��dkr$|ttd��t��t
��d
kr$|ttd��t��|ttd��t��|ttd��t��|ttd��t��dS)N�
RLIM_INFINITY�	RLIMIT_AS�RLIMIT_CORE�
RLIMIT_CPU�RLIMIT_DATA�RLIMIT_FSIZE�RLIMIT_MEMLOCK�
RLIMIT_NOFILE�RLIMIT_NPROC�
RLIMIT_RSS�RLIMIT_STACK�RLIMIT_LOCKS)����RLIMIT_MSGQUEUE)rVrW��RLIMIT_NICE�
RLIMIT_RTPRIO)rVrW��
RLIMIT_RTTIME�RLIMIT_SIGPENDING�RLIMIT_SWAP�
RLIMIT_SBSIZE�RLIMIT_NPTS)r(r)r*rrrr!r8s  r-�test_rlimitz"TestAvailConstantsAPIs.test_rlimit_s����
��
��7�6�?�+�+�U�-=�g�>�>�>�
��7�6�;�'�'��)9�'�:�:�:�
��7�6�=�)�)�5�+;�G�<�<�<�
��7�6�<�(�(�%�*:�7�;�;�;�
��7�6�=�)�)�5�+;�G�<�<�<�
��7�6�>�*�*�E�,<�W�=�=�=�
��7�6�+�,�,�e�.>�w�?�?�?�
��7�6�?�+�+�U�-=�g�>�>�>�
��7�6�>�*�*�E�,<�W�=�=�=�
��7�6�<�(�(�%�*:�7�;�;�;�
��7�6�>�*�*�E�,<�W�=�=�=�
��7�6�>�*�*�E�2�2�2��
	@����9�,�,���7�6�#4�5�5�u�=�=�=����:�-�-���7�6�=�1�1�5�9�9�9����:�-�-���7�6�?�3�3�U�;�;�;����:�-�-���7�6�?�3�3�U�;�;�;����9�,�,���7�6�#6�7�7��?�?�?�
��7�6�=�)�)�7�3�3�3�
��7�6�?�+�+�W�5�5�5�
��7�6�=�)�)�7�3�3�3�3�3r/N)�__name__�
__module__�__qualname__r.r:rArG�unittest�skipIfrrrc�r/r-r%r%Bs�������0�0�0�@�@�@�8�8�8�7�7�7��X�_�^�-��<�>�>�4�4�>�>�4�4�4r/r%c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestAvailSystemAPIsc�b�|�ttd��t��dS)N�win_service_iterr7r+s r-�test_win_service_iterz)TestAvailSystemAPIs.test_win_service_iter�s)�������);�<�<�g�F�F�F�F�Fr/c�b�|�ttd��t��dS)N�win_service_getr7r+s r-�test_win_service_getz(TestAvailSystemAPIs.test_win_service_get�s)�������):�;�;�W�E�E�E�E�Er/c��|�ttd��tptpt
p
tpt��dS)N�cpu_freq)r(r)r*rrr
rr	r+s r-�
test_cpu_freqz!TestAvailSystemAPIs.test_cpu_freq�sL��������4�4��H�%�H�7�H�g�H��	J�	J�	J�	J�	Jr/c�p�|�ttd��tpt��dS)N�sensors_temperatures)r(r)r*rrr+s r-�test_sensors_temperaturesz-TestAvailSystemAPIs.test_sensors_temperatures�s>������F�2�3�3�U�5E�g�	G�	G�	G�	G�	Gr/c�b�|�ttd��t��dS)N�sensors_fansr@r+s r-�test_sensors_fansz%TestAvailSystemAPIs.test_sensors_fans�s(��������8�8�%�@�@�@�@�@r/c��|�ttd��tptp
t
pt��dS)N�sensors_battery)r(r)r*rr
rrr+s r-�test_batteryz TestAvailSystemAPIs.test_battery�sC�������):�;�;��=�'�=�W�=��	?�	?�	?�	?�	?r/N)	rdrerfrnrqrtrwrzr}rir/r-rkrk�s}������G�G�G�F�F�F�J�J�J�G�G�G�A�A�A�?�?�?�?�?r/rkc��eZdZd�Zd�Zd�Zd�Zd�Zej	e
oed��d���Zd�Z
d	�Zd
�Zd�Zd�Zd
�ZdS)�TestAvailProcessAPIsc���|�ttjd��tp0t
p)tp"tptptp
tpt��dS)N�environ)r(r)r*�Processrrr
rrrr	rr+s r-�test_environz!TestAvailProcessAPIs.test_environ�si���������;�;��6�%�6�7�6�c�6�U�6� �6�$+�6�/5�	7�	7�	7�	7�	7r/c�l�|�ttjd��t��dS�N�uids�r(r)r*r�rr+s r-�	test_uidszTestAvailProcessAPIs.test_uids��*���������8�8�%�@�@�@�@�@r/c�l�|�ttjd��t��dSr�r�r+s r-�	test_gidszTestAvailProcessAPIs.test_gids�r�r/c�l�|�ttjd��t��dS)N�terminalr�r+s r-�
test_terminalz"TestAvailProcessAPIs.test_terminal�s*���������<�<�e�D�D�D�D�Dr/c�z�|�ttjd��tpt
��dS)N�ionice)r(r)r*r�rr
r+s r-�test_ionicez TestAvailProcessAPIs.test_ionice�s/���������:�:�E�<L�W�M�M�M�M�Mr/rHc�z�|�ttjd��tpt
��dS)N�rlimit)r(r)r*r�rrr+s r-rcz TestAvailProcessAPIs.test_rlimit�s1��	
�������:�:�E�<L�W�M�M�M�M�Mr/c��ttjd��}|�|tst
rdnd��dS)N�io_countersFT)r)r*r�r(rr�r,�hasits  r-�test_io_countersz%TestAvailProcessAPIs.test_io_counters�s=�����
�6�6������� A�%� A���T�B�B�B�B�Br/c�l�|�ttjd��t��dS)N�num_fdsr�r+s r-�test_num_fdsz!TestAvailProcessAPIs.test_num_fds�s*���������;�;�U�C�C�C�C�Cr/c�l�|�ttjd��t��dS)N�num_handles)r(r)r*r�r
r+s r-�test_num_handlesz%TestAvailProcessAPIs.test_num_handles�s*���������?�?��I�I�I�I�Ir/c��|�ttjd��tp
t
pt��dS)N�cpu_affinity)r(r)r*r�rr
rr+s r-�test_cpu_affinityz&TestAvailProcessAPIs.test_cpu_affinity�s?���������@�@��4�'�4�W�	6�	6�	6�	6�	6r/c��|�ttjd��tp
t
pt��dS)N�cpu_num)r(r)r*r�rrrr+s r-�test_cpu_numz!TestAvailProcessAPIs.test_cpu_num�s?���������;�;��2�'�2�U�	4�	4�	4�	4�	4r/c��ttjd��}|�|tst
ststrdnd��dS)N�memory_mapsFT)r)r*r�r(r	rrrr�s  r-�test_memory_mapsz%TestAvailProcessAPIs.test_memory_maps�sW�����
�6�6������G�G�v�G��G��G�5�5�4�	I�	I�	I�	I�	Ir/N)rdrerfr�r�r�r�r�rgrhrrrcr�r�r�r�r�r�rir/r-rr�s������7�7�7�
A�A�A�A�A�A�E�E�E�N�N�N��X�_�^�-��<�>�>�N�N�>�>�N�C�C�C�D�D�D�J�J�J�6�6�6�4�4�4�I�I�I�I�Ir/rc���eZdZdZed���Zedfd�Zd�Zd�Z	d�Z
d�Zej
eoej��d	kd
��ej
ed��d�����Zd
�Zd�Zej
ed��d���Zd�Zd�Zej
ed��d���Zej
ed��d���Zej
ed��d���Zd�Zd�Z dS)�TestSystemAPITypesz�Check the return types of system related APIs.
    Mainly we want to test we never return unicode on Python 2, see:
    https://github.com/giampaolo/psutil/issues/1039
    c�6�tj��|_dS�N)r*r��proc)�clss r-�
setUpClasszTestSystemAPITypes.setUpClass�s���>�#�#����r/Tc��t|��sJ�|D]0}|�||��|r|�|d���1dS�Nr)r �assertIsInstance�assertGreaterEqual)r,�nt�type_�gezero�ns     r-�assert_ntuple_of_numsz(TestSystemAPITypes.assert_ntuple_of_nums�sd���R� � � � � ��	.�	.�A��!�!�!�U�+�+�+��
.��'�'��1�-�-�-��	.�	.r/c��|�tj����tjd���D]}|�|���dS)NT)�percpu)r�r*�	cpu_times)r,r�s  r-�test_cpu_timesz!TestSystemAPITypes.test_cpu_times�s]���"�"�6�#3�#5�#5�6�6�6��"�$�/�/�/�	+�	+�B��&�&�r�*�*�*�*�	+�	+r/c��|�tjd���t��|�tjd���t��dS)N��intervalg�h㈵��>)r�r*�cpu_percent�floatr+s r-�test_cpu_percentz#TestSystemAPITypes.test_cpu_percent�sP�����f�0�$�?�?�?��G�G�G����f�0�'�B�B�B�E�J�J�J�J�Jr/c��|�tjd�����|�tjd�����dS)Nr�g-C��6?)r�r*�cpu_times_percentr+s r-�test_cpu_times_percentz)TestSystemAPITypes.test_cpu_times_percent�sL���"�"�6�#;�T�#J�#J�#J�K�K�K��"�"�6�#;�V�#L�#L�#L�M�M�M�M�Mr/c�^�|�tj��t��dSr�)r�r*�	cpu_count�intr+s r-�test_cpu_countz!TestSystemAPITypes.test_cpu_count�s'�����f�.�0�0�#�6�6�6�6�6r/�arm64zskipped due to #1892z
not supportedc���tj���|�d���|�tj��tt
tf���dS)Nzcpu_freq() returns None�r�)r*rs�skipTestr�r�r�rr+s r-rtz TestSystemAPITypes.test_cpu_freq�sS���?���$��-�-� 9�:�:�:��"�"�6�?�#4�#4�U�C��<N�"�O�O�O�O�Or/c���tjd������D]C\}}|�|t��|�|ttf����DdS)NT)�perdiskr�)r*�disk_io_counters�itemsr��strr�r�r)r,�k�vs   r-�test_disk_io_countersz(TestSystemAPITypes.test_disk_io_counters�so���+�D�9�9�9�?�?�A�A�	=�	=�D�A�q��!�!�!�S�)�)�)��&�&�q��d��&�<�<�<�<�	=�	=r/c��tj��D]�}|�|jt��|�|jt��|�|jt��|�|jt��|�|jt��|�|j
t����dSr�)r*�disk_partitionsr��devicer��
mountpoint�fstype�opts�maxfiler��maxpath)r,�disks  r-�test_disk_partitionsz'TestSystemAPITypes.test_disk_partitions�s����*�,�,�	5�	5�D��!�!�$�+�s�3�3�3��!�!�$�/�3�7�7�7��!�!�$�+�s�3�3�3��!�!�$�)�S�1�1�1��!�!�$�,��4�4�4��!�!�$�,��4�4�4�4�
	5�	5r/z
requires rootc	�$�t��5tjd��}|�t	|��t	t|������|D]}t
|��sJ��	ddd��dS#1swxYwYdS)N�all)rr*�net_connectionsr(�len�setr )r,�ret�conns   r-�test_net_connectionsz'TestSystemAPITypes.test_net_connectionss���
�
�
�	+�	+��(��/�/�C����S��X�X�s�3�s�8�8�}�}�5�5�5��
+�
+��$�T�*�*�*�*�*�*�
+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s�A(B�B	�B	c	�@�tj�����D]�\}}|�|t��|D]�}t
�-ts&|�|jt
j��n |�|jt��|�|j
t��|�|jttd��f��|�|j
ttd��f���Ռ�dSr�)r*�net_if_addrsr�r�r�rr�family�IntEnumr��address�netmask�type�	broadcast)r,�ifname�addrs�addrs    r-�test_net_if_addrsz$TestSystemAPITypes.test_net_if_addrss��#�0�2�2�8�8�:�:�		I�		I�M�F�E��!�!�&�#�.�.�.��
I�
I���#�D�#��)�)�$�+�t�|�D�D�D�D��)�)�$�+�s�;�;�;��%�%�d�l�C�8�8�8��%�%�d�l�S�$�t�*�*�4E�F�F�F��%�%�d�n�s�D��J�J�6G�H�H�H�H�
I�		I�		Ir/c���tj�����D]�\}}|�|t��|�|jt��t�&|�|jtj	��n |�|jt��|�|jt��|�|jt����dSr�)
r*�net_if_statsr�r�r��isup�boolr�duplexr�r��speed�mtu)r,r��infos   r-�test_net_if_statsz$TestSystemAPITypes.test_net_if_statss���"�/�1�1�7�7�9�9�	1�	1�L�F�D��!�!�&�#�.�.�.��!�!�$�)�T�2�2�2����%�%�d�k�4�<�@�@�@�@��%�%�d�k�3�7�7�7��!�!�$�*�c�2�2�2��!�!�$�(�C�0�0�0�0�	1�	1r/c��tjd������D] \}}|�|t���!dS)NT)�pernic)r*�net_io_countersr�r�r�)r,r��_s   r-�test_net_io_countersz'TestSystemAPITypes.test_net_io_counters)sT�� �/�t�<�<�<�B�B�D�D�	/�	/�I�F�A��!�!�&�#�.�.�.�.�	/�	/r/c
�F�tj�����D]z\}}|�|t��|D]W}|�|jt��|�|jtttd��f���X�{dSr�)
r*ryr�r�r��label�currentr�r�r��r,�name�units�units    r-rzz$TestSystemAPITypes.test_sensors_fans/s���"�.�0�0�6�6�8�8�	N�	N�K�D�%��!�!�$��,�,�,��
N�
N���%�%�d�j�#�6�6�6��%�%�d�l�U�C��d���4L�M�M�M�M�
N�	N�	Nr/c
��tj�����D]�\}}|�|t��|D]�}|�|jt��|�|jtttd��f��|�|j
tttd��f��|�|jtttd��f���Œ�dSr�)r*rvr�r�r�rrr�r�r��high�criticalrs    r-rwz,TestSystemAPITypes.test_sensors_temperatures8s���"�6�8�8�>�>�@�@�	O�	O�K�D�%��!�!�$��,�,�,��
O�
O���%�%�d�j�#�6�6�6��%�%�d�l�U�C��d���4L�M�M�M��%�%�d�i�%��d�4�j�j�1I�J�J�J��%�%�d�m�e�S�$�t�*�*�5M�N�N�N�N�	
O�	O�	Or/c�^�|�tj��t��dSr�)r�r*�	boot_timer�r+s r-�test_boot_timez!TestSystemAPITypes.test_boot_timeCs'�����f�.�0�0�%�8�8�8�8�8r/c��tj��D]�}|�|jt��|�|jtt
d��f��|�|jtt
d��f��|�|jtt
d��f����dSr�)
r*�usersr�rr�r�r��host�pidr�)r,�users  r-�
test_userszTestSystemAPITypes.test_usersGs����L�N�N�	?�	?�D��!�!�$�)�S�1�1�1��!�!�$�-�#�t�D�z�z�1B�C�C�C��!�!�$�)�c�4��:�:�->�?�?�?��!�!�$�(�S�$�t�*�*�,=�>�>�>�>�		?�	?r/N)!rdrerf�__doc__�classmethodr�r�r�r�r�r�r�rgrhr�platform�machinerrtr�r�rr�r�r�rrrrzrrwr
rrir/r-r�r��s��������
�$�$��[�$�/4�D�.�.�.�.�+�+�+�
K�K�K�N�N�N�7�7�7��X�_�U�<�/�x�/�1�1�W�<�+�-�-��X�_��%��7�7�P�P�8�7�-�-�P�
=�=�=�5�5�5��X�_�\�?�3�3�+�+�4�3�+�I�I�I�
1�
1�
1��X�_�,�,�o�>�>�/�/�?�>�/�
�X�_�)�)�?�;�;�N�N�<�;�N��X�_�1�1�?�C�C�O�O�D�C�O�9�9�9�?�?�?�?�?r/r�c�D�eZdZejed��d���ZdS)�TestProcessWaitTypez	not POSIXc�v�tj|���j��}|���|���}|�|tj��t�"|�
|tj��dS|�
|t��dSr�)
r*r��spawn_testprocr�	terminate�waitr(�signal�SIGTERMrr�r�r�)r,�p�codes   r-�test_negative_signalz(TestProcessWaitType.test_negative_signalRs����N�4�.�.�0�0�4�5�5��	���
�
�
��v�v�x�x���������/�/�/����!�!�$���5�5�5�5�5��!�!�$��,�,�,�,�,r/N)rdrerfrgrhrr"rir/r-rrPs>�������X�_��Y��,�,�-�-�-�,�-�-�-r/rc�����	�
���t�����fd����	��
�fd�}	tj������ddg��}n#tj$ricYSwxYw|d|dc�	�
d�ji}t
���}|�|jd���D]=\}}	|��||<�#tj	$r}�|��	�
��Yd}~�6d}~wwxYw|��|S)Nc�����|j�����|j|��t|tj��r>|j�6��|jd����|j|��n/t|tj��r��	|��t|��dSr�)r(rr�
isinstancer*�
ZombieProcess�ppidr��
NoSuchProcess�assertProcessGoner�)�excr�rr'r�tcases    ��r-�check_exceptionz"proc_info.<locals>.check_exceptionfs����
���#�'�3�'�'�'�
���#�(�D�)�)�)��c�6�/�0�0�	*��x�#��(�(���1�5�5�5��!�!�#�(�D�1�1�1��
��V�1�
2�
2�	*��#�#�D�)�)�)��C�����r/c����dkrC	��d��dS#tj$r}�|�����Yd}~dSd}~wwxYwdSr�)rr*�Error)r*r,rrr'r�s �����r-�do_waitzproc_info.<locals>.do_waitqst����!�8�8�
7��	�	�!��������<�
7�
7�
7����T�4��6�6�6�6�6�6�6�6�6�����
7�����8s� �A�A�Ar'rrF)�clear_cache)
rr*r��as_dictr(rr"�iter�gettersr.)
rr/�dr��ns�fun�fun_namer*r,rr'r�r+s
`       @@@@@r-�	proc_infor8csp�����������E�	�	�	�	�	�	�7�7�7�7�7�7�7�7�7���~�c�"�"���L�L�&�&�)�*�*����������	�	�	������6��A�f�I�J�D�$��4�8��D�	�4�	 �	 �B��������?�?���
��X�	� �S�U�U�D��N�N���|�	�	�	��O�C��t�T�2�2�2��H�H�H�H�����	�����G�I�I�I��Ks)�+A�A%�$A%�3
C�C(�C#�#C(c���eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'S)(�TestFetchAllProcessesz�Test which iterates over all running processes and performs
    some sanity checks against Process API's returned values.
    Uses a process pool to get info about all processes.
    c�H�tstj��|_dSdSr�)r�multiprocessing�Pool�poolr+s r-�setUpzTestFetchAllProcesses.setUp�s*���	/�'�,�.�.�D�I�I�I�	/�	/r/c�|�ts4|j���|j���dSdSr�)rr>r�joinr+s r-�tearDownzTestFetchAllProcesses.tearDown�s@���	��I���!�!�!��I�N�N������	�	r/c���ddlm}ts,|j�|tj����Sg}tj��D] }|�||�����!|S)Nr)r8)�psutil.tests.test_contractsr8rr>�imap_unorderedr*�pids�append)r,r8�lsrs    r-�iter_proc_infoz$TestFetchAllProcesses.iter_proc_info�sx��	:�9�9�9�9�9��	��9�+�+�I�v�{�}�}�E�E�E��B��{�}�}�
*�
*���	�	�)�)�C�.�.�)�)�)�)��Ir/c�`�g}|���D]�}|���D]�\}}t||��}	|||��|ddgddifvr|s
J|����9#t$r�d}|d|�d|d�dt	|���d	�z
}|d
z
}|dtj��zz
}d	�d�|���D����}|d	z
}|�	|��Y��wxYw��|r(|�
d�|�����dS)
Nr��zH
======================================================================
zFAIL: test_z pid=rz, ret=�
zF----------------------------------------------------------------------z
%sc3� K�|]	}d|zV��
dS)z    Nri)�.0�is  r-�	<genexpr>z1TestFetchAllProcesses.test_all.<locals>.<genexpr>�s&����!H�!H�A�7�a�-�!H�!H�!H�!H�!H�!Hr/)rIr��getattr�AssertionError�repr�	traceback�
format_excrA�
splitlinesrG�fail)r,�failuresr�r�value�meth�ss       r-�test_allzTestFetchAllProcesses.test_all�s������'�'�)�)�	,�	,�D�#�z�z�|�|�
,�
,���e��t�T�*�*��
,��D���%�%�%��Q��R��r�2�$>�>�>�$�+�+�e�+�+�+���&�'�'�'�.�A��A����d�5�k�k�k�4��;�;�;�;�8�8�A���M�A���)�"6�"8�"8�8�8�A��	�	�!H�!H������!H�!H�!H�H�H�A���I�A��O�O�A�&�&�&�&�&�'����	
,� �	/��)�)�B�G�G�H�-�-�.�.�.�	/�	/s�A&�&BD�?Dc�|�|�|t��|D]}|�|t���dSr�)r��listr�)r,r�r��parts    r-�cmdlinezTestFetchAllProcesses.cmdline�sJ�����c�4�(�(�(��	-�	-�D��!�!�$��,�,�,�,�	-�	-r/c��|�|tttd��f��|s|�|d��dSt
r|�d��sdStj�	|��s
J|���tr�tj�|��r�ttd��rxttd��re	tj
|tj��sJ�dS#t$r.tj�|��rt"s�YdSYdSwxYwdSdSdSdS)NrLz.exe�access�X_OK)r�r�rr�r(r
�endswith�os�path�isabsr�isfiler)rcrdrS�existsr�r,r�r�s   r-�exezTestFetchAllProcesses.exe�ss�����c�C��$�t�*�*�#=�>�>�>��	"����S�"�%�%�%�%�%��
�s�|�|�F�3�3�
����7�=�=��%�%�*�*�s�*�*�*��
"������,�,�
"��2�x�(�(�"�W�R��-@�-@�"�"�!�y��b�g�6�6�6�6�6�6�6��)�"�"�"��7�>�>�#�.�.�"�z�"�!�"�"�"�"�"�"�"����
"�
"�
"�
"�"�"�"�"s�#!D�1D>�=D>c�h�|�|t��|�|d��dSr��r�r�r�rks   r-rzTestFetchAllProcesses.pid��4�����c�3�'�'�'�����Q�'�'�'�'�'r/c�v�|�|ttf��|�|d��dSr�)r�r�rr�rks   r-r'zTestFetchAllProcesses.ppid�s8�����c�C��;�/�/�/�����Q�'�'�'�'�'r/c��|�|ttf��tr|s|ddkrdSts|sJ�dSdS)N�status�stopped)r�r�rrrrks   r-rzTestFetchAllProcesses.name�s^�����c�C��>�2�2�2��	�C�	�D��N�i�$?�$?��F��	��J�J�J�	�	��Jr/c��|�|t��	|�|d��n/#t$r"tr|dt
jkrn�YnwxYwtjdtj	|����dS)Nrrrz%Y %m %d %H:%M:%S)
r�r�r�rSr	r*�
STATUS_ZOMBIE�time�strftime�	localtimerks   r-�create_timez!TestFetchAllProcesses.create_time�s������c�5�)�)�)�	��#�#�C��+�+�+�+���	�	�	��
�4��>�V�-A�A�A�����	����	
�
�)�4�>�#�+>�+>�?�?�?�?�?s�4�)A �A c��t|��sJ�|D]3}|�|t��|�|d���4dSr�)r r�r�r�)r,r�r��uids    r-r�zTestFetchAllProcesses.uids�s^���S�!�!�!�!�!��	,�	,�C��!�!�#�s�+�+�+��#�#�C��+�+�+�+�	,�	,r/c��t|��sJ�|D]A}|�|t��tsts|�|d���BdSr�)r r�r�rrr�)r,r�r��gids    r-�gidszTestFetchAllProcesses.gidssm���S�!�!�!�!�!��	0�	0�C��!�!�#�s�+�+�+��
0��
0��'�'��Q�/�/�/��	0�	0r/c�D�|�|t��|sJ�dSr�)r�r�rks   r-�usernamezTestFetchAllProcesses.username
s%�����c�3�'�'�'��
�
�
�
�
r/c��|�|t��|sJ�|�|d��|�|t��dS)N�?)r�r��assertNotEqual�assertInrrks   r-rrzTestFetchAllProcesses.statussR�����c�3�'�'�'��
�
�
����C��%�%�%��
�
�c�.�/�/�/�/�/r/c��t|��sJ�|D]@}|�|ttf��|dkr|�|d���AdS)N���r�r r�r�rr�)r,r�r��fields    r-r�z!TestFetchAllProcesses.io_counterssi���S�!�!�!�!�!��	2�	2�E��!�!�%�#�t��5�5�5���{�{��'�'��q�1�1�1��	2�	2r/c���trx|�|jt��|�|jt��|�|jd��|�|jd��dStjtjtj	tj
g}|�|t��|�|d��|�||��dSr�)rr��ioclassr�rZr�r*rFrErDrCr�)r,r�r��choicess    r-r�zTestFetchAllProcesses.ionices����
	(��!�!�#�+�s�3�3�3��!�!�#�)�S�1�1�1��#�#�C�K��3�3�3��#�#�C�I�q�1�1�1�1�1��%��!��$��"�	$�G�

�!�!�#�s�+�+�+��#�#�C��+�+�+��M�M�#�w�'�'�'�'�'r/c��|�|t��tr|s|ddkrdS|�|d��dS)Nrrrs�)r�r�rr�rks   r-�num_threadsz!TestFetchAllProcesses.num_threads+sV�����c�3�'�'�'��	�C�	�D��N�i�$?�$?��F�����Q�'�'�'�'�'r/c�X�|�|t��|D]�}t|��sJ�|�|jd��|�|jd��|�|jd��|D]$}|�|ttf���%��dSr�)	r�r_r r��id�	user_time�system_timer�r�)r,r�r��tr�s     r-�threadszTestFetchAllProcesses.threads1s������c�4�(�(�(��	;�	;�A� ��#�#�#�#�#��#�#�A�D�!�,�,�,��#�#�A�K��3�3�3��#�#�A�M�1�5�5�5��
;�
;���%�%�e�c�5�\�:�:�:�:�
;�	;�	;r/c��t|��sJ�|D]3}|�|t��|�|d���4dSr�)r r�r�r�)r,r�r�r�s    r-r�zTestFetchAllProcesses.cpu_times;s^���S�!�!�!�!�!��	*�	*�A��!�!�!�U�+�+�+��#�#�A�q�)�)�)�)�	*�	*r/c�n�|�|t��d|cxkrdksnJ|���dS)NrKgY@�r�r�rks   r-r�z!TestFetchAllProcesses.cpu_percentBsK�����c�5�)�)�)��c�"�"�"�"�U�"�"�"�"�"�C�"�"�"�"�"r/c	�b�|�|t��tr|dkrdS|�|d��t	j��dkr|�|d��|�|ttt	j��������dS)Nr�rr�)
r�r�rr�r*r�r(r�r_rrks   r-r�zTestFetchAllProcesses.cpu_numFs������c�3�'�'�'��	�s�b�y�y��F�����Q�'�'�'������"�"����S�!�$�$�$��
�
�c�4��f�&6�&8�&8� 9� 9�:�:�;�;�;�;�;r/c��t|��sJ�|D]:}|�|ttf��|�|d���;t
r�|�|j|j��|�|j|j	��|�|j
|j��|�|j|j
��dSdSr�)r r�r�rr�r
�	peak_wset�wset�peak_paged_pool�
paged_pool�peak_nonpaged_pool�
nonpaged_pool�
peak_pagefile�pagefile�r,r�r�rZs    r-�memory_infoz!TestFetchAllProcesses.memory_infoOs����S�!�!�!�!�!��	.�	.�E��!�!�%�#�t��5�5�5��#�#�E�1�-�-�-�-��	E��#�#�C�M�3�8�<�<�<��#�#�C�$7���H�H�H��#�#�C�$:�C�<M�N�N�N��#�#�C�$5�s�|�D�D�D�D�D�		E�	Er/c��t|��sJ�tj��j}|jD]|}t||��}|�|ttf��|�	|d||f���tstr|dvr�a|�|||||f����}tr"|�	|j
|j��dSdS)Nr)�msg)�vms�data)r r*�virtual_memory�total�_fieldsrRr�r�rr�rr
�assertLessEqual�pss�uss)r,r�r�r�rrZs      r-�memory_full_infoz&TestFetchAllProcesses.memory_full_infoZs����S�!�!�!�!�!��%�'�'�-���K�	I�	I�D��C��&�&�E��!�!�%�#�t��5�5�5��#�#�E�1�4��-�#�@�@�@��
��
��� 7� 7��� � ���D�%��3G� �H�H�H�H��	6��#�#�C�G�S�W�5�5�5�5�5�	6�	6r/c��|�|t��|D�]�}|�|jt��|�|jt
��tr|�|jd��n�tr�|�|j	t��|�|j
t
��|�|jt��|�|j	d��|�
|j
d��|�|jd��ntr	|js��/t j�|j��s
J|���	t!j|j��}t%j|j��s
J|������#t*$rY���wxYwdS)Nr�r)�r�w�azr+za+)r�r_�fdr�rgr�r
r(r�position�mode�flagsr�r��
assertGreaterrrfrh�stat�S_ISREG�st_moder)r,r�r��f�sts     r-�
open_filesz TestFetchAllProcesses.open_filesjs������c�4�(�(�(��	3�	3�A��!�!�!�$��,�,�,��!�!�!�&�#�.�.�.��
�� � ���r�*�*�*�*��	
��%�%�a�j�#�6�6�6��%�%�a�f�c�2�2�2��%�%�a�g�s�3�3�3��'�'��
�A�6�6�6��
�
�a�f�&A�B�B�B��"�"�1�7�A�.�.�.�.��
�Q�V�
���7�=�=���(�(�+�+�!�+�+�+�
3��W�Q�V�_�_���|�B�J�/�/�2�2��2�2�2�2��%�
�
�
���
����%	3�	3s�<F:�:
G�Gc�h�|�|t��|�|d��dSr�rnrks   r-r�zTestFetchAllProcesses.num_fds�ror/c	��t��5|�t|��tt|������|D]"}t	|��sJ�t|���#	ddd��dS#1swxYwYdSr�)rr(r�r�r r)r,r�r�r�s    r-�connectionsz!TestFetchAllProcesses.connections�s���
�
�
�	.�	.����S��X�X�s�3�s�8�8�}�}�5�5�5��
.�
.��$�T�*�*�*�*�*�'��-�-�-�-�
.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�A#B�B�Bc��|r�|�|t��tj�|��s
J|���	tj|��}tj|j��sJ�dS#t$rG}tr|j
tjj
vrn|j
tjkr�Yd}~dSYd}~dSd}~wwxYwdSr�)r�r�rfrgrhr��S_ISDIRr��OSErrorr
�errnor*�_psplatform�ACCESS_DENIED_SET�ENOENT)r,r�r�r��errs     r-�cwdzTestFetchAllProcesses.cwd�s����
	0��!�!�#�s�+�+�+��7�=�=��%�%�*�*�s�*�*�*�

0��W�S�\�\���|�B�J�/�/�/�/�/�/�/���
�
�
���s�y��*�<� =� =���Y�%�,�.�.��/�.�.�.�.�.��D�D�D�D�D�����
����
	0�
	0s�A9�9
C
�6C�C
c�n�|�|t��d|cxkrdksnJ|���dS)Nr�dr�rks   r-�memory_percentz$TestFetchAllProcesses.memory_percent�s=�����c�5�)�)�)��C�����3�����������r/c�<�|�|t��dSr�)r�r�rks   r-�
is_runningz TestFetchAllProcesses.is_running�s�����c�4�(�(�(�(�(r/c�"�|�|t��|gks
J|���tttj������}|D]3}|�|t
��|�||���4dSr�)r�r_rr*r�r�r�)r,r�r��cpusr�s     r-r�z"TestFetchAllProcesses.cpu_affinity�s������c�4�(�(�(��b�y�y�y�#�y�y�y��E�&�*�,�,�-�-�.�.���	#�	#�A��!�!�!�S�)�)�)��M�M�!�T�"�"�"�"�	#�	#r/c��|�|ttd��f��|�Rtj�|��s
J|���tj�|��sJ|���dSdSr�)r�r�r�rfrgrhrjrks   r-r�zTestFetchAllProcesses.terminal�sy�����c�C��d���#4�5�5�5��?��7�=�=��%�%�*�*�s�*�*�*��7�>�>�#�&�&�+�+��+�+�+��?�+�+r/c��|D�]K}|�|jt��|�|jt��|�|jt��|jD]�}t
||��}|dkrI|�d��s3tj�	|j��sJ|j����a|dkr|sJt|�������|dkr!ts|sJt|�������|�|ttf��|�|d�����MdS)Nrg)�[zanon_inode:r��permsr)r�r�r�r�rgr�rR�
startswithrfrhrTr
r�rr�)r,r�r�r��fnamerZs      r-r�z!TestFetchAllProcesses.memory_maps�sX���	6�	6�B��!�!�"�'�3�/�/�/��!�!�"�(�C�0�0�0��!�!�"�'�3�/�/�/���
6�
6����E�*�*���F�?�?� �+�+�,@�A�A�?�!�w�}�}�R�W�5�5�>�>�r�w�>�>�>���f�_�_� �-�-�$�u�+�+�-�-�-�-��g�%�%�"�2�$�1�1�d�5�k�k�1�1�1���)�)�%�#�t��=�=�=��+�+�E�1�5�5�5�5�
6�		6�	6r/c�h�|�|t��|�|d��dSr�rnrks   r-r�z!TestFetchAllProcesses.num_handles�ror/c��|�|t��trd|cxkrdksnJ|���dSd�tt��D��}|�||��tjdkr"|�|tj	��dS|�|t��dS)Ni���c�b�g|],}|�d���tt|����-S)�_PRIORITY_CLASS)rerRr*)rO�xs  r-�
<listcomp>z.TestFetchAllProcesses.nice.<locals>.<listcomp>�sC��<�<�<���Z�Z�(9�:�:�<�'�&�!�,�,�<�<�<r/)��)
r�r�r�dirr*r��sys�version_inforr�)r,r�r��
prioritiess    r-�nicezTestFetchAllProcesses.nice�s������c�3�'�'�'��		0��#�#�#�#�#��#�#�#�#�#�S�#�#�#�#�#�<�<�c�&�k�k�<�<�<�J��M�M�#�z�*�*�*���&�(�(��%�%�c�4�<�8�8�8�8�8��%�%�c�3�/�/�/�/�/r/c��t|��sJ�|D]:}|�|ttf��|�|d���;dSr�r�r�s    r-�num_ctx_switchesz&TestFetchAllProcesses.num_ctx_switches�sb���S�!�!�!�!�!��	.�	.�E��!�!�%�#�t��5�5�5��#�#�E�1�-�-�-�-�	.�	.r/c���|�|t��|�t|��d��|�|dd��|�|dd��dS)NrVrr�r�)r��tupler(r�r�rks   r-r�zTestFetchAllProcesses.rlimit�sn�����c�5�)�)�)�����S���1�%�%�%�����A���+�+�+�����A���+�+�+�+�+r/c���|�|t��|���D];\}}|�|t��|�|t���<dSr�)r��dictr�r�)r,r�r�r�r�s     r-r�zTestFetchAllProcesses.environ�sl�����c�4�(�(�(��I�I�K�K�	*�	*�D�A�q��!�!�!�S�)�)�)��!�!�!�S�)�)�)�)�	*�	*r/N))rdrerfrr?rBrIr]rarlrr'rryr�r~r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rir/r-r:r:�sO��������
/�/�/����
���/�/�/�,-�-�-�
"�"�"�((�(�(�(�(�(����@�@�@� ,�,�,�0�0�0����0�0�0�2�2�2�(�(�(� (�(�(�;�;�;�*�*�*�(�(�(�<�<�<�	E�	E�	E�6�6�6� 3�3�3�2(�(�(�.�.�.�0�0�0� $�$�$�)�)�)�#�#�#�,�,�,�6�6�6�,(�(�(�0�0�0�.�.�.�,�,�,�*�*�*�*�*r/r:�__main__)�
run_from_name):rr�r<rfrrr�r�rvrUrgr*rrrrrrr	r
rrr
�psutil._compatrrrr�psutil.testsrrrrrrrrrrrrrrr r!r"r#r%rkrr�rr8r:rd�psutil.tests.runnerr��__file__rir/r-�<module>r�s=����

��������	�	�	�	�����
�
�
�
�����
�
�
�
�������������
�
�
�
�������������������������������������������������������������������,�,�,�,�,�,������� � � � � � �"�"�"�"�"�"�!�!�!�!�!�!�#�#�#�#�#�#�'�'�'�'�'�'�%�%�%�%�%�%�,�,�,�,�,�,�)�)�)�)�)�)�1�1�1�1�1�1�������%�%�%�%�%�%�,�,�,�,�,�,�'�'�'�'�'�'�0�0�0�0�0�0�'�'�'�'�'�'�������&�&�&�&�&�&�'�'�'�'�'�'�*�*�*�*�*�*�"�"�"�"�"�"�<4�<4�<4�<4�<4�^�<4�<4�<4�~?�?�?�?�?�.�?�?�?�0-I�-I�-I�-I�-I�>�-I�-I�-I�j?�?�?�?�?��?�?�?�D-�-�-�-�-�.�-�-�-�&'�'�'�T�\*�\*�\*�\*�\*�N�\*�\*���\*�~
�z���1�1�1�1�1�1��M�(�������r/

Youez - 2016 - github.com/yon3zu
LinuXploit