__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

"j4g-����SrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKr
SSK
Jr SSK
J
r
 SSK
Jr SSKJr SSKJr SSKJr SS	KJr SS
KJr SSKJr SSKJr SS
KJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJ r  SSKJ!r! SSKJ"r" SSKJ#r# SSKJ$r$ SSKJ%r% SSKJ&r& SSKJ'r' SSKJ(r( SSKJ)r) SSKJ*r* SS KJ+r+ "S!S"\(5r,"S#S$\(5r-"S%S&\(5r."S'S(\(5r/\R`"S)S*5r1"S+S,\(5r2\	Rf"\RhRk\'5(+S-5"S.S/\(55r6\7S0:XaSS1K8J9r9 \9"\:5 gg)2zMiscellaneous tests.�N)�LINUX)�POSIX)�WINDOWS)�bcat)�cat)�debug)�
isfile_strict)�memoize)�memoize_when_activated)�parse_environ_block)�
supports_ipv6)�wrap_numbers)�PY3)�FileNotFoundError)�redirect_stderr)�APPVEYOR)�
CI_TESTING)�HAS_BATTERY)�HAS_MEMORY_MAPS)�HAS_NET_IO_COUNTERS)�HAS_SENSORS_BATTERY)�HAS_SENSORS_FANS)�HAS_SENSORS_TEMPERATURES)�
PYTHON_EXE)�PYTHON_EXE_ENV)�SCRIPTS_DIR)�PsutilTestCase)�mock)�
reload_module)�shc�t�\rSrSrSr\4SjrSrSrSr	Sr
SrS	rS
r
SrSrS
rSrSrSrSrg)�TestSpecialMethods�;c�^�UR[5 [RRRSS-5 SSS5 UR[R5 [R"SS-5 SSS5 g!,(df   NP=f!,(df   g=f)N��)�assertRaises�
OverflowError�psutil�_psplatform�cext�check_pid_range�
NoSuchProcess�Process��selfs �8/usr/lib/python3/dist-packages/psutil/tests/test_misc.py�test_check_pid_range�'TestSpecialMethods.test_check_pid_range<so��
�
�
�}�
-����#�#�3�3�A�s�F�;�.�
�
�
�v�3�3�
4��N�N�1�c�6�"�5�
4�.�
-��
4�
4�s�-B
�*B�
B�
B,c���[R"UR5R5nU"U5nUR	SU5 UR	SUR-U5 UR	S[UR
55-URSS55 UR	SU5 URSU5 UR5 UR5 U"U5nUR	SU5 UR	SU5 [RRS	[R"[R "55S
9 [R"5nU"U5nUR	SUR-U5 UR	SU5 URSU5 SSS5 [RRS	[R""[R "55S
9 [R"5nU"U5nUR	SUR-U5 UR	S
U5 URSU5 SSS5 [RRS	[R$"[R "55S
9 [R"5nU"U5nUR	SUR-U5 URSU5 SSS5 g!,(df   GNx=f!,(df   N�=f!,(df   g=f)Nzpsutil.Processzpid=%sz	name='%s'zname=u'zname='zstatus=z	exitcode=zstatus='terminated'�name��side_effectzstatus='zombie'zname=�
terminated)r)r.�spawn_testproc�pid�assertIn�strr5�replace�assertNotIn�	terminate�waitr�patch�object�
ZombieProcess�os�getpidr-�AccessDenied)r0�func�p�rs    r1�test_process__repr__�'TestSpecialMethods.test_process__repr__Bs����N�N�4�.�.�0�4�4�5����G���
�
�&��*��
�
�h����&��*��
�
��#�a�f�f�h�-�'����9�h�)G�	
�	
�
�
�i��#�����a�(�	���
�	������G���
�
�+�Q�/��
�
�k�1�%�
�Z�Z�
�
��N�N���,�,�R�Y�Y�[�9��
�
��� �A��Q��A��M�M�(�Q�U�U�*�A�.��M�M�+�Q�/����W�a�(�
��Z�Z�
�
��N�N���,�,�R�Y�Y�[�9��
�
��� �A��Q��A��M�M�(�Q�U�U�*�A�.��M�M�,��*����W�a�(�
��Z�Z�
�
��N�N���+�+�B�I�I�K�8��
�
��� �A��Q��A��M�M�(�Q�U�U�*�A�.����W�a�(�
�
�)
�
��
�
��
�
�s'�(A!L:�%A!M�"AM�:
M	�
M�
M+c�*�UR[S9 g)N)rG)rJr<r/s r1�test_process__str__�&TestSpecialMethods.test_process__str__ps���!�!�s�!�+�c�`�UR[[R"55S5 g)Nzpsutil.Error())�assertEqual�reprr)�Errorr/s r1�test_error__repr__�%TestSpecialMethods.test_error__repr__ss������f�l�l�n�-�/?�@rOc�`�UR[[R"55S5 g)N�)rQr<r)rSr/s r1�test_error__str__�$TestSpecialMethods.test_error__str__vs������V�\�\�^�,�b�1rOc
��UR[[R"S55S5 UR[[R"SSSS95S5 g)N�Az=psutil.NoSuchProcess(pid=321, msg='process no longer exists')r5�msg�r5r\z5psutil.NoSuchProcess(pid=321, name='name', msg='msg'))rQrRr)r-r/s r1�test_no_such_process__repr__�/TestSpecialMethods.test_no_such_process__repr__ysP�������%�%�c�*�+�K�	
�	
�����%�%�c��E�B�C�C�	
rOc
��UR[[R"S55S5 UR[[R"SSSS95S5 g)Nr[z"process no longer exists (pid=321)r5r\r]�msg (pid=321, name='name'))rQr<r)r-r/s r1�test_no_such_process__str__�.TestSpecialMethods.test_no_such_process__str__�sP�������$�$�S�)�*�0�	
�	
�����$�$�S�v�5�A�B�(�	
rOc���UR[[R"S55S5 UR[[R"SSSSS95S5 g)Nr[zGpsutil.ZombieProcess(pid=321, msg="PID still exists but it's a zombie")r5�@�foo�r5�ppidr\z?psutil.ZombieProcess(pid=321, ppid=320, name='name', msg='foo'))rQrRr)rCr/s r1�test_zombie_process__repr__�.TestSpecialMethods.test_zombie_process__repr__�sT�������%�%�c�*�+�
*�	
�
	
�����%�%�c��S�e�L�M�M�	
rOc���UR[[R"S55S5 UR[[R"SSSSS95S5 g)Nr[z,PID still exists but it's a zombie (pid=321)r5rerfrgz$foo (pid=321, ppid=320, name='name'))rQr<r)rCr/s r1�test_zombie_process__str__�-TestSpecialMethods.test_zombie_process__str__�sR�������$�$�S�)�*�:�	
�	
�����$�$�S�v�C�U�K�L�2�	
rOc
��UR[[R"S55S5 UR[[R"SSSS95S5 g)Nr[zpsutil.AccessDenied(pid=321)r5r\r]z4psutil.AccessDenied(pid=321, name='name', msg='msg'))rQrRr)rFr/s r1�test_access_denied__repr__�-TestSpecialMethods.test_access_denied__repr__�sP�������$�$�S�)�*�,J�	
�	
�����$�$�S�v�5�A�B�B�	
rOc
��UR[[R"S55S5 UR[[R"SSSS95S5 g)Nr[z	(pid=321)r5r\r]ra)rQr<r)rFr/s r1�test_access_denied__str__�,TestSpecialMethods.test_access_denied__str__�sJ������V�0�0��5�6��D������#�#�C�f�%�@�A�(�	
rOc
��UR[[R"S55S5 UR[[R"SSSS95S5 g)N�z?psutil.TimeoutExpired(seconds=5, msg='timeout after 5 seconds')r[r5�r:r5zUpsutil.TimeoutExpired(pid=321, name='name', seconds=5, msg='timeout after 5 seconds'))rQrRr)�TimeoutExpiredr/s r1�test_timeout_expired__repr__�/TestSpecialMethods.test_timeout_expired__repr__�sR�������&�&�q�)�*�M�	
�	
�����&�&�q�c��?�@�
-�	
rOc
��UR[[R"S55S5 UR[[R"SSSS95S5 g)Nruztimeout after 5 secondsr[r5rvz.timeout after 5 seconds (pid=321, name='name'))rQr<r)rwr/s r1�test_timeout_expired__str__�.TestSpecialMethods.test_timeout_expired__str__�sP�������%�%�a�(�)�+D�	
�	
�����%�%�a�S�v�>�?�<�	
rOc���[R"5n[R"5nURX5 SUlUR	X5 UR	US5 g)N)rrrf)r)r.rQ�_ident�assertNotEqual)r0�p1�p2s   r1�test_process__eq__�%TestSpecialMethods.test_process__eq__�sM��
�^�^�
��
�^�^�
������ ���	����B�#����B��&rOc��[[R"5[R"5/5nUR[	U5S5 g)N�)�setr)r.rQ�len)r0�ss  r1�test_process__hash__�'TestSpecialMethods.test_process__hash__�s3������!�6�>�>�#3�4�5������Q���#rO�N)�__name__�
__module__�__qualname__�__firstlineno__r2rRrJrMrTrXr^rbrirlrorrrxr{r�r��__static_attributes__r�rOr1r"r";sT��#�)-�,)�\,�A�2�
�
�	
�
�
�
�	
�
�'�$rOr"c�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�TestMisc��c���[[5nUH/nUS;aMURS5(aM#[U5 M1 [R
HnURX!5 M g![as U[R
;a[[
[U5nUcM�URb5SURR5;aURSU-5eM�M�M�f=f)N)�long�tests�test�PermissionError�ProcessLookupError�_�
deprecatedz%r not in psutil.__all__)�dirr)�
startswith�
__import__�ImportError�__all__�getattr�__doc__�lower�failr;)r0�
dir_psutilr5�funs    r1�test__all__�TestMisc.test__all__�s�����[�
��D������?�?�3�'�'�O��t�$��6�N�N�D��M�M�$�+�#��#�	O��6�>�>�1�%�f�d�3���;�$��K�K�3� ,�C�K�K�4E�4E�4G� G�"&�)�)�,F��,M�"N�N�!H�4�2�	O�s�A.�.1C+�"?C+�*C+c
��URSR[RVs/sHn[	U5PM sn5[R
5 gs snf)N�.)rQ�joinr)�version_infor<�__version__)r0�xs  r1�test_version�TestMisc.test_version�sB������H�H�f�&9�&9�:�&9��c�!�f�&9�:�;�V�=O�=O�	
��:s�Ac�|�[R"5nSUlURSUR	55 g)N�1rf)r)r.rfr>�as_dict)r0rHs  r1�!test_process_as_dict_no_new_names�*TestMisc.test_process_as_dict_no_new_names�s+���N�N�����������	�	��,rOc��^�U4SjnU"[R"5R55 U"[R"55 U"[R"55 U"[R
"55 U"[R"SS95 U"[R"55 [(a%[RRS5(dO&[(dU"[R"55 U"[R"55 U"[R"[R "555 U"[R""55 g)Nc��>�[b*[R"[R"U55 [R"U5n[R"U5nTR	X5 g�N)�json�loads�dumps�picklerQ)�ret�a�br0s   �r1�check�*TestMisc.test_serialization.<locals>.checksF������
�
�4�:�:�c�?�+����S�!�A����Q��A����S�$rOr)�intervalz/proc/diskstats)r)r.r��virtual_memory�swap_memory�	cpu_times�cpu_times_percent�net_io_countersrrD�path�existsr�disk_io_counters�disk_partitions�
disk_usage�getcwd�users)r0r�s` r1�test_serialization�TestMisc.test_serializations����	%�	�f�n�n��&�&�(�)�
�f�#�#�%�&�
�f� � �"�#�
�f��� �!�
�f�&�&��2�3�
�f�$�$�&�'��5������(9�:�:���8��f�-�-�/�0�
�f�$�$�&�'�
�f����	�	��,�-�
�f�l�l�n�rOc�P�[RR[RS[R
S9n[R"5 UR(deSSS5 [RR[RS[R"S5S9n[R"5 UR(deSSS5 [RR[RS[S9nUR[5 [R"5 SSS5 UR(deSSS5 g!,(df   GN=f!,(df   N�=f!,(df   NN=f!,(df   g=f)N�create_timer6r�)
rrArBr)r.rF�calledrC�
ValueErrorr')r0�meths  r1�test_ad_on_process_creation�$TestMisc.test_ad_on_process_creation%s���Z�Z�
�
��N�N�M�v�7J�7J��
�
��N�N���;�;��;�	
�
�Z�Z�
�
��N�N�M�v�7K�7K�A�7N��
�
��N�N���;�;��;�	
�
�Z�Z�
�
��N�N�M�z��
�
��"�"�:�.���� �/��;�;��;�
�
�
�
��

�
��/�.��
�
�s;�)E#�/)E5�F�(F�>F�#
E2�5
F�
F	�F�
F%c�D�[R"SSS9 UR[5n[	[
5 SSS5 UR
S[WR5R55 SSS5 g!,(df   NJ=f!,(df   g=f)Nzpsutil._psplatform.cext.versionz0.0.0��return_valuezversion conflict)
rrAr'r�rr)r;r<�	exceptionr�)r0�cms  r1�test_sanity_version_check�"TestMisc.test_sanity_version_check9sq��
�Z�Z�-�G�
��"�"�;�/�2��f�%�0��M�M�,�c�"�,�,�.?�.E�.E�.G�H�
�
�0�/��
�
�s!�B�B�;B�
B	�
B�
Br�N)r�r�r�r�r�r�r�r�r�r�r�r�rOr1r�r��s#��,�@
�
-��B�(IrOr�c�L�\rSrSrSr\rSSjrSrSrSr	Sr
S	rS
rSr
g)
�TestMemoizeDecoratoriHc��/Ulgr���callsr/s r1�setUp�TestMemoizeDecorator.setUpIs	����
rONc	��[S5H?nU"5nURURS04/5 UcM.URXB5 MA [S5HCnU"S5nURURS04S04/5 UcM2URXB5 ME [S5HGnU"SSS9nURURS04S04SSS04/5 UcM6URXB5 MI UR[UR5S5 UR	5 U"5nUbURXB5 UR[UR5S5 URUR
S	5 g)
Nr%r�r��r���barr����
My docstring.)�rangerQr�r��cache_clearr�)r0�obj�expected_retvalr�r�s     r1�run_against� TestMemoizeDecorator.run_againstNs^���q��A��%�C����T�Z�Z�2�r�(��4��*�� � ��6�	��q��A��a�&�C����T�Z�Z�2�r�(�T�2�J�)?�@��*�� � ��6�	��q��A��a�Q�-�C�����
�
�b�"�X��b�z�D�5�!�*�3E�F�
��*�� � ��6�
�	
����T�Z�Z��!�,������e���&����S�2�����T�Z�Z��!�,�������o�6rOc�H^�[U4Sj5nUmURUSS9 g)Nc�>>�TRRX45 g�r���r��append��args�kwargs�	baseclasss  �r1rf�/TestMemoizeDecorator.test_function.<locals>.foons���
�O�O�"�"�D�>�2�rOr��r�)r
r�)r0rfr�s  @r1�
test_function�"TestMemoizeDecorator.test_functionms/���	�	�
�	�
�	�����b��1rOc�^�["U4SjS55nUmURUSS9 URU"5R5S5 g)Nc�,>�\rSrSrSrU4SjrSrSrg)�,TestMemoizeDecorator.test_class.<locals>.Fooixr�c�>>�TRRX45 gr�r�)r0r�r�r�s   �r1�__init__�5TestMemoizeDecorator.test_class.<locals>.Foo.__init__|s������&�&��~�6rOc��g)Nr�r�r/s r1r��0TestMemoizeDecorator.test_class.<locals>.Foo.bars��rOr�N)r�r�r�r�r�rr�r��r�s�r1�Foorxs����
7�
rOr
r�r�)r
r�rQr��r0r
r�s  @r1�
test_class�TestMemoizeDecorator.test_classwsL���	�	�	�
�	��	�����d��3���������b�)rOc
���["SS55nURU"5U"55 UR[U"55[U"555 UR[U"S55[U"S555 UR[U"SSS95[U"SSS955 UR	[U"S55[U"S555 g)Nc��\rSrSrSrSrg)�6TestMemoizeDecorator.test_class_singleton.<locals>.Bari�c��gr�r�)r0r�r�s   r1r�?TestMemoizeDecorator.test_class_singleton.<locals>.Bar.__init__�s��rOr�N)r�r�r�r�rr�r�rOr1�Barr�s��
rOrr�r�)rfr%)r
�assertIsrQ�idr)r0rs  r1�test_class_singleton�)TestMemoizeDecorator.test_class_singleton�s���	�	�	�
�	�	
�
�
�c�e�S�U�#�����C�E��B�s�u�I�.�����C��F��R��A��Z�0�����C��q�M�*�B�s�1�!�}�,=�>����B�s�1�v�J��3�q�6�
�3rOc�b^�"U4SjS5nUmURU"5RSS9 g)Nc�6>�\rSrSr\\U4Sj55rSrg)�3TestMemoizeDecorator.test_staticmethod.<locals>.Fooi�c�>>�TRRX45 gr�r�r�s  �r1r��7TestMemoizeDecorator.test_staticmethod.<locals>.Foo.bar��������&�&��~�6�rOr�N)r�r�r�r��staticmethodr
r�r�r	s�r1r
r�s���
�
�
���
rOr
r�r��r�r�rs  @r1�test_staticmethod�&TestMemoizeDecorator.test_staticmethod��-���	�	��	��������B��7rOc�b^�"U4SjS5nUmURU"5RSS9 g)Nc�6>�\rSrSr\\U4Sj55rSrg)�2TestMemoizeDecorator.test_classmethod.<locals>.Fooi�c�>>�TRRX45 gr�r�)�clsr�r�r�s   �r1r��6TestMemoizeDecorator.test_classmethod.<locals>.Foo.bar�rrOr�N)r�r�r�r��classmethodr
r�r�r	s�r1r
r%�s���
�
�
���
rOr
r�r�rrs  @r1�test_classmethod�%TestMemoizeDecorator.test_classmethod�r"rOc�^�[U4Sj5n/m[S5H:nU"5nS04nURX45 UR[T5S5 M< [S5H;nU"S5nS04nURX45 UR[T5S5 M= [S5H<nU"SSS9nSSS04nURX45 UR[T5S5 M> UR	5 U"5nS04nURX45 UR[T5S	5 URUR
S
5 g)Nc�,>�TRS5 X4$)�Foo docstring.N�r�)r�r�r�s  �r1rf�/TestMemoizeDecorator.test_original.<locals>.foo�s���
�L�L����>�!rOr%r�r�r�r�r�r�r�r.)r
r�rQr�r�r�)r0rfr�r��expectedr�s     @r1�
test_original�"TestMemoizeDecorator.test_original�s@���
�	"�
�	"�
���q��A��%�C��B�x�H����S�+����S��Z��+�	��q��A��a�&�C��b�z�H����S�+����S��Z��+�	��q��A��a�Q�-�C��u�a�j�)�H����S�+����S��Z��+�	�	�����e����8������'�����U��Q�'�������&6�7rOr�r�)r�r�r�r�r��tearDownr�r�rrr r*r2r�r�rOr1r�r�Hs1����H�7�>2�
*�4�
8�
8�#8rOr�c�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�TestCommonModulei�c�^�"U4SjS5nU"5n/mUR5 UR5 UR[T5S5 /mURRU5 UR5 UR5 UR[T5S5 /mURR	U5 UR5 UR5 UR[T5S5 g)Nc�,>�\rSrSr\U4Sj5rSrg)�9TestCommonModule.test_memoize_when_activated.<locals>.Fooi�c�(>�TRS5 gr�r/)r0r�s �r1rf�=TestCommonModule.test_memoize_when_activated.<locals>.Foo.foo�s������T�"rOr�N)r�r�r�r�rrfr�r�s�r1r
r9�s���
#�
#�$�
#rOr
r%r�)rfrQr��cache_activate�cache_deactivate)r0r
�fr�s   @r1�test_memoize_when_activated�,TestCommonModule.test_memoize_when_activated�s����	#�	#�

�E����	����	��������U��Q�'���	�����Q��	����	��������U��Q�'���	�����q�!�	����	��������U��Q�'rOc�$�SnUR[S5U"S5S05 UR[S5U"S5SU"S5S05 UR[S5U"S5SU"S5S	05 UR[S
5U"S5SU"S5S05 UR[S5U"S5S05 UR[S5U"S5S05 UR[S
5U"S5S05 g)Nc�<�[(aUR5$U$r�)r�upper)r�s r1�k�4TestCommonModule.test_parse_environ_block.<locals>.k�s�� '��1�7�7�9�.�Q�.rOza=1r�r�z	a=1b=2r��2za=1b=rWz
a=1b=2c=3zxxxa=1z	a=1=b=2za=1b=2)rQr)r0rDs  r1�test_parse_environ_block�)TestCommonModule.test_parse_environ_block�s��	/�	
���,�W�5��#���}�E������/�!�C�&�#�q��v�s�1K�	
�	
����
�.��3���a��f�b�0I�	
�	
���� 3�4�
�s�V�S�!�C�&�#�&�	
�
	
���,�\�:�Q�s�V�S�M�J����,�]�;�a��f�c�]�K����,�Z�8�1�S�6�3�-�HrOc��UR[R5 [5(Ga�[R"S5nSUl[R"5 [5(aeSSS5 [R"5 [R"S[RS9n[5(aeUR(deSSS5 [R"5 [R"S[RS9n[5(ae[R"5 UR(deSSS5 [R"5 [R"S[RS9n[5(ae[R"5 UR(deSSS5 gUR[R5 [R"[R[R5nURS5 UR5 SSS5 g!,(df   GN�=f!,(df   GN�=f!,(df   GN.=f!,(df   g=f!UR5 f=f!,(df   g=f)Nzpsutil._common.socketFzpsutil._common.socket.socketr6z!psutil._common.socket.socket.bind)z::1r)�
addCleanupr
r�rrA�has_ipv6�socket�errorr��gaierrorr'�AF_INET6�SOCK_STREAM�bind�close)r0r��socks   r1�test_supports_ipv6�#TestCommonModule.test_supports_ipv6s������
�1�1�2��?�?����3�4��"��
��)�)�+�(�?�?�*�*�?�5�

�%�%�'����.�F�L�L���(�?�?�*�*��x�x��x�	�
�%�%�'����.�F�O�O���(�?�?�*�*��)�)�+��x�x��x��
�%�%�'����3�"�O�O���(�?�?�*�*��)�)�+��x�x��x�
���"�"�6�<�<�0��}�}�V�_�_�f�6H�6H�I��!��I�I�j�)��J�J�L�1�0�;5�4������������J�J�L��1�0�sT�.I�5%I+�:I=�:J�94J5�.J �?J5�
I(�+
I:�=
J�
J� J2�2J5�5
Kc��[RR[5n[	U5(de[	[RRU55(ae[R"S[[RS5S9 UR[[U5 SSS5 [R"S[[RS5S9 UR[[U5 SSS5 [R"S[[RS5S9 [	U5(aeSSS5 [R"SSS9 [	U5(aeSSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nb=f!,(df   g=f)Nzpsutil._common.os.statrfr6zpsutil._common.stat.S_ISREGFr�)rDr��abspath�__file__r	�dirnamerrA�OSError�errno�EPERMr'�EACCES�ENOENT)r0�	this_files  r1�test_isfile_strict�#TestCommonModule.test_isfile_strict)sA���G�G�O�O�H�-�	��Y�'�'�'�'� �������!;�<�<�<�<�
�Z�Z�$�'�%�+�+�u�2M�
�
���g�}�i�@�
��Z�Z�$�'�%�,�,��2N�
�
���g�}�i�@�
��Z�Z�$�'�%�,�,��2N�
�%�Y�/�/�/�/�/�
��Z�Z�5�E�
J�$�Y�/�/�/�/�/�K�
J�
�
��
�
��
�
��K�
J�s0�F�#F�4F$�%F5�
F�
F!�$
F2�5
Gc�F�[(aSSKJn OSSKJn [U"55n[	S5 SSS5 WR5nUR
S5(dU5eURSU5 UR[RSS5U5 [U"55n[	[S55 SSS5 UR5nURSU5 URS	U5 [U"55n[S
S5nSUl[	U5 SSS5 UR5nURSU5 URSU5 g!,(df   GNA=f!,(df   N�=f!,(df   Nf=f)
Nr)�StringIO�hellozpsutil-debugz.pyc�.pyzthis is an errorzignoring ValueErrorz'this is an error'r%zno such filez/foo)
r�iorcrr�getvaluer�r;rXr=r�rZ�filename)r0rcr>r\�excs     r1�
test_debug�TestCommonModule.test_debug<s.���3�#�)�
�X�Z�
(�A��'�N�)��j�j�l���~�~�n�-�-�2�s�2�-��
�
�g�s�#��
�
�h�&�&�v�u�5�s�;��X�Z�
(�A��*�/�0�1�)��j�j�l���
�
�+�S�1��
�
�*�C�0��X�Z�
(�A��!�^�,�C�!�C�L��#�J�)��j�j�l���
�
�n�c�*��
�
�f�c�"�+)�
(��)�
(��)�
(�s#�E/�2F�F�/
E>�
F�
F c���UR5n[US5nURS5 SSS5 UR[	U5S5 UR[U5S5 UR
[[US-5 UR
[[
US-5 UR[	US-SS9S5 UR[US-SS9S5 g!,(df   N�=f)N�wrfsfooz-invalidr�)�fallback)�
get_testfn�open�writerQrrr'r)r0�testfnr>s   r1�
test_cat_bcat�TestCommonModule.test_cat_bcatYs������"��
�&�#�
�!�
�G�G�E�N������V��e�,�����f��v�.����+�S�&�:�2E�F����+�T�6�J�3F�G�����V�j�0�5�A�5�I�����f�z�1�E�B�E�J��
�s�C$�$
C2r�N)r�r�r�r�r?rGrTr`rjrsr�r�rOr1r6r6�s#��(�4I�,%!�N0�&#�:	KrOr6rfza b cc��\rSrSrSr\rSrSrSrSr	Sr
SrS	rS
r
SrSrS
rSr\R&"\(+S5S5rSrg)�TestWrapNumbersimc�.�[R"5 gr�)rr�r/s r1r��TestWrapNumbers.setUpns��� � �"rOc�Z�S[SSS50nUR[US5U5 g�N�disk1ru�disk_io��ntrQr�r0�inputs  r1�test_first_call�TestWrapNumbers.test_first_callss+���"�Q��1�+�&������e�Y�7��?rOc��S[SSS50nUR[US5U5 UR[US5U5 grzr}rs  r1�test_input_hasnt_changed�(TestWrapNumbers.test_input_hasnt_changedwsB���"�Q��1�+�&������e�Y�7��?�����e�Y�7��?rOc�\�S[SSS50nUR[US5U5 S[SSS50nUR[US5U5 S[SSS50nUR[US5U5 S[SSS50nUR[US5U5 g)	Nr{rur|�
����r}rs  r1�test_increase_but_no_wrap�)TestWrapNumbers.test_increase_but_no_wrap|s����"�Q��1�+�&������e�Y�7��?��"�R��R�.�)������e�Y�7��?��"�R��R�.�)������e�Y�7��?��"�R��R�.�)������e�Y�7��?rOc	���S[SSS50nUR[US5U5 S[SSS50nUR[US5S[SSS505 S[SSS50nUR[US5S[SSS505 S[SSS50nUR[US5S[SSS505 S[SSS50nUR[US5S[SSS	505 S[SSS50nUR[US5S[SSS	505 S[S
SS50nUR[US5S[SSS	505 S[SSS50nUR[US5S[SSS	505 S[SSS50nUR[US5S[SSS	505 g)
Nr{�dr|r��n�Z�r����2��(r}rs  r1�	test_wrap�TestWrapNumbers.test_wrap�s���"�S�#�s�+�,������e�Y�7��?��"�S�#�r�*�+�������	�*�W�b��c�3�6G�,H�	
��"�S�#�r�*�+�������	�*�W�b��c�3�6G�,H�	
��"�S�#�r�*�+�������	�*�W�b��c�3�6G�,H�	
��"�S�#�r�*�+�������	�*�W�b��c�3�6G�,H�	
��"�S�#�r�*�+�������	�*�W�b��c�3�6G�,H�	
��"�R��b�/�*�������	�*�W�b��c�3�6G�,H�	
��"�R��b�/�*�������	�*�W�b��c�3�6G�,H�	
��"�R��b�/�*�������	�*�W�b��c�3�6G�,H�	
rOc��S[SSS50nUR[US5U5 [SSS5[SSS5S.nUR[US5U5 S[SSS50nUR[US5U5 g)Nr{rur|��r{�disk2�r}rs  r1�test_changing_keys�"TestWrapNumbers.test_changing_keys�s����"�Q��1�+�&������e�Y�7��?��Q��1�+��1�a���<������e�Y�7��?��"�Q��1�+�&������e�Y�7��?rOc	���[SSS5[SSS5S.nUR[US5U5 [SSS5[SSS5S.nUR[US5[SSS5[SSS5S.5 S[SSS50nUR[US5U5 [SSS5[SSS5S.nUR[US5U5 [SSS5[SSS5S.nUR[US5U5 [SSS5[SSS5S.nUR[US5[SSS5[SSS5S.5 g)Nr�r�r�r|r�r�r{r}rs  r1�test_changing_keys_w_wrap�)TestWrapNumbers.test_changing_keys_w_wrap�s]���R��R�.�2�c�3��3D�E������e�Y�7��?��R��R�.�2�c�3��3C�D�������	�*���R��n�r�#�s�C�/@�A�	
�
�"�R��R�.�)������e�Y�7��?��R��R�.�2�c�3��3D�E������e�Y�7��?��R��R�.�2�c�3��3D�E������e�Y�7��?��R��R�.�2�c�3��3C�D�������	�*���R��n�r�#�s�C�/@�A�	
rOc���SSSSS.nUR[US5U5 UR[US5U5 SSSSS.n[US5nURUSS	S
5 g)N)	i,���#�R������ȷ)	i�r%itUiirrrr�)	�6r�i�$i�Nr��r�i��)	iU	i�i"r�i�i4i�i�i\)�nvme0n1�	nvme0n1p1�	nvme0n1p2�	nvme0n1p3r|)	r�r�r�r�r�r�r�r�r�r�ri�)rQr)r0�d�outs   r1�test_real_data�TestWrapNumbers.test_real_data�s���M�B�H�L�	
��	
����a��3�Q�7�����a��3�Q�7�N�B�H�L�	
���1�i�(������Y���*�C�0rOc���S[SSS50n[US5 [R"5nURUSSU05 URUSS005 URUSS005 g)Nr{rur|rr�r%�r~r�
cache_inforQ�r0r��caches   r1�test_cache_first_call�%TestWrapNumbers.test_cache_first_call�su���"�Q��1�+�&���U�I�&��'�'�)������q��I�u�#5�6�����q��I�r�?�3�����q��I�r�?�3rOc�,�S[SSS50n[US5 S[SSS50n[US5 [R"5nURUSSU05 URUSSSSSS.05 URUSS005 g)	Nr{rur|r�rr��)r{r)r{r��r{r%r%r�r�s   r1�test_cache_call_twice�%TestWrapNumbers.test_cache_call_twice�s����"�Q��1�+�&���U�I�&��"�R��R�.�)���U�I�&��'�'�)������q��I�u�#5�6�����!�H�
�q���K�L�	
�	
����q��I�r�?�3rOc�^�S[SSS50n[US5 S[SSS50n[US5 [R"5nTRUSSU05 TRUSSSSSS.05 TRUSSS[	S	/5005 U4S
jnS[SSS50n[US5 [R"5nTRUSSU05 U"5 S[SSS50n[US5 [R"5nTRUSSU05 U"5 S[SSS50n[US5 [R"5nTRUSSU05 TRUSSSSS
S.05 TRUSSS[	S	/5005 g)Nr{r�r|r�rr�r�r%r�c�>�[R"5nTRUSSSSSS.05 TRUSSS[S/5005 g)	Nr�r|rr�r�r%r{r�)rr�rQr�)r�r0s �r1�check_cache_info�9TestWrapNumbers.test_cache_wrap.<locals>.check_cache_infosf��� �+�+�-�E�����a���&'�&'�&)� ��	
�
����a��9�w��\�N�0C�&D�E�
rOr�r�r�)r~rr�rQr�)r0r�r�r�s`   r1�test_cache_wrap�TestWrapNumbers.test_cache_wraps�����"�S�#�s�+�,���U�I�&��"�S�#�r�*�+���U�I�&��'�'�)������q��I�u�#5�6�����!�H�
�q���M�N�	
�	
����q��I���l�^�9L�/M�#N�O�	�"�"�S�#�r�*�+���U�I�&��'�'�)������q��I�u�#5�6����"�S�#�r�*�+���U�I�&��'�'�)������q��I�u�#5�6����"�S�#�r�*�+���U�I�&��'�'�)������q��I�u�#5�6�����!�H�
�q���M�N�	
�	
����q��I���l�^�9L�/M�#N�OrOc�D�S[SSS50n[US5 [SSS5[SSS5S.n[US5 [R"5nURUSSU05 URUSSSSSS.05 URUS	S005 g)
Nr{rur|r�r�rr�r�r%r�r�s   r1�test_cache_changing_keys�(TestWrapNumbers.test_cache_changing_keys<s����"�Q��1�+�&���U�I�&��Q��1�+��1�a���<���U�I�&��'�'�)������q��I�u�#5�6�����!�H�
�q���K�L�	
�	
����q��I�r�?�3rOc�&�S[SSS50n[US5 [US5 [R"S5 UR[R"500045 [R"S5 [R"S5 g)Nr{rur|z?!?)r~rr�rQr�rs  r1�test_cache_clear� TestWrapNumbers.test_cache_clearIsq���"�Q��1�+�&���U�I�&��U�I�&�� � ��+�����0�0�2�R��R�L�A�� � ��+�� � ��'rO�
not supportedc��[R"5(a[R"5(dURS5$[R"5 [R"5 [R
"5nUH'nUR
SU5 UR
SU5 M) [RR5 [R
"5nUH'nUR
SU5 URSU5 M) [RR5 [R
"5nURU00045 g)Nzno disks or NICs availablezpsutil.disk_io_counterszpsutil.net_io_counters)
r)r�r��skipTestrr�r;r�r>rQ)r0�cachesr�s   r1�test_cache_clear_public_apis�,TestWrapNumbers.test_cache_clear_public_apisRs���&�&�(�(��0F�0F�0H�0H��=�=�!=�>�>����!���� ��(�(�*���E��M�M�3�U�;��M�M�2�E�:��	���+�+�-��(�(�*���E��M�M�2�E�:����6��>��	���*�*�,��(�(�*������"�b�"��.rOr�N)r�r�r�r�r�r4r�r�r�r�r�r�r�r�r�r�r�r��unittest�skipIfrr�r�r�rOr1rvrvmst��#��H�@�@�
@�+
�Z	@�
�61�*4�4�7P�r4�(��_�_�,�,�o�>�/�?�/rOrvzcan't locate scripts directoryc��\rSrSrSr\S5r\S5rSr\	R"\(+S5S5rSr
S	rS
rSr\	R"\=(a \R&"5(+S5S
5rSrSrSrSr\	R"\(+S5S5rSrSrSrSrSrSr \	R"\!(+S5S5r"Sr#\	R"\$(+S5S5r%\	R"\&(+S5S5r'\	R"\((+S5\	R"\)(+S5S 55r*\	R"\((+S5\	R"\)(+S5S!55r+S"r,g#)$�TestScriptsimz-Tests for scripts in the "scripts" directory.c�z�URS[5 S[RR	[
U5-n[U/nUHnURU5 M [U40UD6R5nU(dU5eU$![a%nS[U5;a[U5sSnA$eSnAff=f)N�envz%srF)�
setdefaultrrDr�r�rrr�r �strip�RuntimeErrorr<)�exer�r��cmd�argr��errs       r1�
assert_stdout�TestScripts.assert_stdoutss������%��0��R�W�W�\�\�+�s�3�3���3����C��J�J�s�O��	��S�#�F�#�)�)�+�C���C��s��
��
�	���S��)��3�x����		�s$�!B�
B:�B5�.B:�4B5�5B:c��[RR[U5n[(a
[USS9O
[U5nUR
5nSSS5 [R"W5 g!,(df   N%=f)N�utf8)�encoding)	rDr�r�rrrp�read�ast�parse)r�r>�srcs   r1�
assert_syntax�TestScripts.assert_syntax�sS���g�g�l�l�;��,��+.�3�T�#��
'�D��I�
=���&�&�(�C�>��	�	�#��>�
=�s�A5�5
Bc�J�[U5n[R"[5HznUR	S5(dMS[R
R
U5S-U;dMFURS[R
R[U5-5e g)Nre�test_rzno test defined for %r script)	r�rD�listdirr�endswithr��splitextr�r�)r0�methsr5s   r1�
test_coverage�TestScripts.test_coverage�sy���D�	���J�J�{�+�D��}�}�U�#�#��R�W�W�-�-�d�3�A�6�6�e�C��)�)�7��'�'�,�,�{�D�9�:���	,rOz
POSIX onlyc�n�[R"[5H�upnUH�nURS5(dMRX5n[R[R"U5[R-(aMyURSU-5e M� g)Nrez%r is not executable)
rD�walkrr�r�r��stat�S_IXUSR�ST_MODEr�)r0�root�dirs�files�filer�s      r1�test_executable�TestScripts.test_executable�sz��!#����!5��D�����=�=��'�'��7�7�<�<��3�D��<�<�"�'�'�$�-����*E�E�E�"�i�i�(>��(E�F�F�	�"6rOc�&�URS5 g)Nz
disk_usage.py�r�r/s r1�test_disk_usage�TestScripts.test_disk_usage�s�����?�+rOc�&�URS5 g)Nzfree.pyrr/s r1�	test_free�TestScripts.test_free�s�����9�%rOc�&�URS5 g)Nz
meminfo.pyrr/s r1�test_meminfo�TestScripts.test_meminfo�������<�(rOc�`�URS[[R"555 g)Nzprocinfo.py�r�r<rDrEr/s r1�
test_procinfo�TestScripts.test_procinfo�s�����=�#�b�i�i�k�*:�;rOzno usersc�&�URS5 g)Nzwho.pyrr/s r1�test_who�TestScripts.test_who�s�����8�$rOc�&�URS5 g)Nzps.pyrr/s r1�test_ps�TestScripts.test_ps�s�����7�#rOc�&�URS5 g)Nz	pstree.pyrr/s r1�test_pstree�TestScripts.test_pstree�������;�'rOc�&�URS5 g)Nz
netstat.pyrr/s r1�test_netstat�TestScripts.test_netstat�r
rOc�&�URS5 g)Nzifconfig.pyrr/s r1�
test_ifconfig�TestScripts.test_ifconfig�s�����=�)rOr�c�`�URS[[R"555 g)Nzpmap.pyrr/s r1�	test_pmap�TestScripts.test_pmap�s�����9�c�"�)�)�+�&6�7rOc��S[R"5R5R;aUR	S5eURS5 g)N�ussr�zprocsmem.py)r)r.�memory_full_info�_fieldsr�r�r/s r1�
test_procsmem�TestScripts.test_procsmem�s=������(�9�9�;�C�C�C��-�-��0�0����=�)rOc�&�URS5 g)Nz
killall.py�r�r/s r1�test_killall�TestScripts.test_killall�r
rOc�&�URS5 g)Nz	nettop.pyr)r/s r1�test_nettop�TestScripts.test_nettop�rrOc�&�URS5 g)Nztop.pyr)r/s r1�test_top�TestScripts.test_top�s�����8�$rOc�&�URS5 g)Nziotop.pyr)r/s r1�
test_iotop�TestScripts.test_iotop�s�����:�&rOc���URS[R"5R55nUR	[[R"55U5 g)Nzpidof.py)r�r)r.r5r;r<rDrE)r0�outputs  r1�
test_pidof�TestScripts.test_pidof�s=���#�#�J����0@�0E�0E�0G�H���
�
�c�"�)�)�+�&��/rOzWINDOWS onlyc�&�URS5 g)Nzwinservices.pyrr/s r1�test_winservices�TestScripts.test_winservices�s�����+�,rOc�&�URS5 g)Nzcpu_distribution.pyr)r/s r1�test_cpu_distribution�!TestScripts.test_cpu_distribution�s�����0�1rOc�|�[R"5(dURS5 URS5 g)Nzno temperaturesztemperatures.py)r)�sensors_temperaturesr�r�r/s r1�test_temperatures�TestScripts.test_temperatures�s-���*�*�,�,��M�M�+�,����,�-rOc�|�[R"5(dURS5 URS5 g)Nzno fanszfans.py)r)�sensors_fansr�r�r/s r1�	test_fans�TestScripts.test_fans�s+���"�"�$�$��M�M�)�$����9�%rOz
no batteryc�&�URS5 g)Nz
battery.pyrr/s r1�test_battery�TestScripts.test_battery����	
���<�(rOc�&�URS5 g)Nz
sensors.pyrr/s r1�test_sensors�TestScripts.test_sensors�rJrOr�N)-r�r�r�r�r�rr�r�r�r�r�rr�rrrr
rr)r�rrrrrrr r&r*r-r0r3r7rr:r=rrArrErrrHrLr�r�rOr1r�r�ms���8����� ����
��_�_��Y��-�G�.�G�,�&�)�<��_�_�Z�6�����$6�
�C�%�D�%�$�(�)�*��_�_��(�/�:�8�;�8�*�
)�(�%�'�0��_�_��[�.�1�-�2�-�2��_�_�1�1�?�C�.�D�.�
�_�_�)�)�?�;�&�<�&�
�_�_�,�,�o�>�
�_�_��_�l�3�)�4�?�)��_�_�,�,�o�>�
�_�_��_�l�3�)�4�?�)rOr��__main__)�
run_from_name);r�r��collectionsr[r�rDr�rLr�r�r)�psutil.testsrrr�psutil._commonrrrr	r
rrr
r�psutil._compatrrrrrrrrrrrrrrrrrr r"r�r�r6�
namedtupler~rvr�r�r�r�r��psutil.tests.runnerrOrXr�rOr1�<module>rVs@���
����	�
�
���
������� �(�"�1�.�(�'��,�*�!�#�$�(�,�,�)�1�#�'�$�'��&��U$��U$�zhI�~�hI�`F8�>�F8�RQK�~�QK�r���E�7�+��x/�n�x/�@
���
�����{�#�#�%E��@)�.�@)��@)�F�z��1��(��rO

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 91.2 KB 0644
__main__.cpython-313.pyc File 295 B 0644
runner.cpython-313.pyc File 17.87 KB 0644
test_aix.cpython-313.pyc File 5.58 KB 0644
test_bsd.cpython-313.pyc File 35.72 KB 0644
test_connections.cpython-313.pyc File 28.36 KB 0644
test_contracts.cpython-313.pyc File 23.74 KB 0644
test_linux.cpython-313.pyc File 138.04 KB 0644
test_memleaks.cpython-313.pyc File 34.66 KB 0644
test_misc.cpython-313.pyc File 54.59 KB 0644
test_osx.cpython-313.pyc File 11.29 KB 0644
test_posix.cpython-313.pyc File 24.29 KB 0644
test_process.cpython-313.pyc File 98.9 KB 0644
test_process_all.cpython-313.pyc File 25.5 KB 0644
test_sunos.cpython-313.pyc File 2.33 KB 0644
test_system.cpython-313.pyc File 56.49 KB 0644
test_testutils.cpython-313.pyc File 29.34 KB 0644
test_unicode.cpython-313.pyc File 17.55 KB 0644
test_windows.cpython-313.pyc File 57.12 KB 0644
Filemanager