Viewing File: /opt/hc_python/lib/python3.12/site-packages/psutil/tests/__pycache__/test_misc.cpython-312.pyc

�

h0i�r���dZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlZddlmZddl
mZddl
mZddl
mZddl
mZdd	l
mZdd
l
mZddl
mZddl
mZdd
l
mZddlmZddlmZddlmZddlmZddlmZddlmZGd�de�ZGd�de�ZGd�de�Z Gd�de�Z!ejDdd�Z#Gd�de�Z$y) zMiscellaneous tests.�N)�mock)�WINDOWS)�bcat)�cat)�debug)�
isfile_strict)�memoize)�memoize_when_activated��parse_environ_block)�
supports_ipv6��wrap_numbers)�HAS_NET_IO_COUNTERS)�PsutilTestCase)�process_namespace)�pytest)�
reload_module)�system_namespacec�j�eZdZd�Zefd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zy)�TestSpecialMethodsc�X�tjt�5tjj
j
ddz�ddd�tjtj�5tjddz�ddd�y#1swY�NxYw#1swYyxYw)N��)	r�raises�
OverflowError�psutil�_psplatform�cext�check_pid_range�
NoSuchProcess�Process��selfs �G/opt/hc_python/lib64/python3.12/site-packages/psutil/tests/test_misc.py�test_check_pid_rangez'TestSpecialMethods.test_check_pid_range+sk��
�]�]�=�
)����#�#�3�3�A�s�F�;�*�
�]�]�6�/�/�
0��N�N�1�c�6�"�1�
0�*�
)��
0�
0�s�-B�2B �B� B)c�J�tj|j�j�}||�}d|vsJ�d|j��|vsJ�d|j	��d�|jdd�vsJ�d|vsJ�d|vsJ�|j
�|j�||�}d|vsJ�d|vsJ�tjjtjd	tjtj���
�5tj�}||�}d|j��|vsJ�d|vsJ�d|vsJ�	ddd�tjjtjd	tjtj���
�5tj�}||�}d|j��|vsJ�d
|vsJ�d|vsJ�	ddd�tjjtjd	tjtj���
�5tj�}||�}d|j��|vsJ�d|vsJ�	ddd�y#1swY��9xYw#1swY��xYw#1swYyxYw)Nzpsutil.Processzpid=zname='�'zname=u'zstatus=z	exitcode=zstatus='terminated'�name��side_effectzstatus='zombie'zname=�
terminated)rr"�
spawn_subproc�pidr)�replace�	terminate�waitr�patch�object�
ZombieProcess�os�getpidr!�AccessDenied)r$�func�p�rs    r%�test_process__repr__z'TestSpecialMethods.test_process__repr__1sr���N�N�4�-�-�/�3�3�4����G���1�$�$�$��a�e�e�W�~��"�"�"������z��#�q�y�y��H�'E�E�E�E��A�~��~��!�#�#�#�	���
�	������G��$��)�)�)��a����
�Z�Z�
�
��N�N���,�,�R�Y�Y�[�9��
�
��� �A��Q��A��!�%�%��>�Q�&�&�&�$��)�)�)��!�#�#�#�
��Z�Z�
�
��N�N���,�,�R�Y�Y�[�9��
�
��� �A��Q��A��!�%�%��>�Q�&�&�&��1�$�$�$��!�#�#�#�
��Z�Z�
�
��N�N���+�+�B�I�I�K�8��
�
��� �A��Q��A��!�%�%��>�Q�&�&�&��!�#�#�#�
�
�)
�
��
�
��
�
�s$�<J�&<J
�6J�J
�
J�J"c�0�|jt��y)N)r8)r;�strr#s r%�test_process__str__z&TestSpecialMethods.test_process__str__]s���!�!�s�!�+�c�H�ttj��dk(sJ�y)Nzpsutil.Error())�reprr�Errorr#s r%�test_error__repr__z%TestSpecialMethods.test_error__repr__`s���F�L�L�N�#�'7�7�7�7r?c�H�ttj��dk(sJ�y)N�)r=rrBr#s r%�test_error__str__z$TestSpecialMethods.test_error__str__cs���6�<�<�>�"�b�(�(�(r?c��ttjd��dk(sJ�ttjddd���dk(sJ�y)N�Az=psutil.NoSuchProcess(pid=321, msg='process no longer exists')r)�msg�r)rIz5psutil.NoSuchProcess(pid=321, name='name', msg='msg'))rArr!r#s r%�test_no_such_process__repr__z/TestSpecialMethods.test_no_such_process__repr__fsV����%�%�c�*�+�N�
O�	
�
O�
��%�%�c��E�B�C�F�
G�	
�
Gr?c��ttjd��dk(sJ�ttjddd���dk(sJ�y)NrHz"process no longer exists (pid=321)r)rIrJ�msg (pid=321, name='name'))r=rr!r#s r%�test_no_such_process__str__z.TestSpecialMethods.test_no_such_process__str__psR����$�$�S�)�*�3�
4�	
�
4�
��$�$�S�v�5�A�B�+�
,�	
�
,r?c��ttjd��dk(sJ�ttjdddd���dk(sJ�y)NrHzGpsutil.ZombieProcess(pid=321, msg="PID still exists but it's a zombie")r)�@�foo�r)�ppidrIz?psutil.ZombieProcess(pid=321, ppid=320, name='name', msg='foo'))rArr4r#s r%�test_zombie_process__repr__z.TestSpecialMethods.test_zombie_process__repr__zsX����%�%�c�*�+�*�
*�	
�
*�

��%�%�c��S�e�L�M��
�	
�
r?c��ttjd��dk(sJ�ttjdddd���dk(sJ�y)NrHz,PID still exists but it's a zombie (pid=321)r)rPrQrRz$foo (pid=321, ppid=320, name='name'))r=rr4r#s r%�test_zombie_process__str__z-TestSpecialMethods.test_zombie_process__str__�sT����$�$�S�)�*�=�
>�	
�
>�
��$�$�S�v�C�U�K�L�5�
6�	
�
6r?c��ttjd��dk(sJ�ttjddd���dk(sJ�y)NrHzpsutil.AccessDenied(pid=321)r)rIrJz4psutil.AccessDenied(pid=321, name='name', msg='msg'))rArr7r#s r%�test_access_denied__repr__z-TestSpecialMethods.test_access_denied__repr__�sL���F�'�'��,�-�1O�O�O�O���$�$�S�v�5�A�B�E�
F�	
�
Fr?c��ttjd��dk(sJ�ttjddd���dk(sJ�y)NrHz	(pid=321)r)rIrJrM)r=rr7r#s r%�test_access_denied__str__z,TestSpecialMethods.test_access_denied__str__�sI���6�&�&�s�+�,��;�;�;���#�#�C�f�%�@�A�+�
,�	
�
,r?c��ttjd��dk(sJ�ttjddd���dk(sJ�y)N�z?psutil.TimeoutExpired(seconds=5, msg='timeout after 5 seconds')rHr)�r.r)zUpsutil.TimeoutExpired(pid=321, name='name', seconds=5, msg='timeout after 5 seconds'))rAr�TimeoutExpiredr#s r%�test_timeout_expired__repr__z/TestSpecialMethods.test_timeout_expired__repr__�sV����&�&�q�)�*��
�	
�
�

��&�&�q�c��?�@�-�
-�	
�
-r?c��ttjd��dk(sJ�ttjddd���dk(sJ�y)Nr\ztimeout after 5 secondsrHr)r]z.timeout after 5 seconds (pid=321, name='name'))r=rr^r#s r%�test_timeout_expired__str__z.TestSpecialMethods.test_timeout_expired__str__�sL���6�(�(��+�,�0I�I�I�I���%�%�a�S�v�>�?�?�
@�	
�
@r?c��tj�}tj�}||k(sJ�d|_||k7sJ�|dk7sJ�y)N)rrrQ)rr"�_ident)r$�p1�p2s   r%�test_process__eq__z%TestSpecialMethods.test_process__eq__�sC��
�^�^�
��
�^�^�
���R�x��x���	��R�x��x��U�{��{r?c�t�tj�tj�h}t|�dk(sJ�y)N�)rr"�len)r$�ss  r%�test_process__hash__z'TestSpecialMethods.test_process__hash__�s*��
�^�^�
�v�~�~�/�0���1�v��{��{r?N)�__name__�
__module__�__qualname__r&rAr;r>rCrFrKrNrTrVrXrZr_rarfrk�r?r%rr*sS��#�)-�*$�X,�8�)�
�
�

�
�
�
�

�
��r?rc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestMiscc��tt�}|D]%}|dvr�|jd�r�	t|��'tj
D]}||vr�J�y#t$rm|tj
vrXt
t|�}|�Y�s|j�8d|jj�vrtj|�d��cYcSY��wxYw)N>�testr�tests�PermissionError�ProcessLookupError�_�
deprecatedz not in psutil.__all__)�dirr�
startswith�
__import__�ImportError�__all__�getattr�__doc__�lowerr�fail)r$�
dir_psutilr)�funs    r%�test__all__zTestMisc.test__all__�s�����[�
��D������?�?�3�'�
��t�$��:�N�N�D��:�%�%�%�#��##���6�>�>�1�%�f�d�3���;�$��K�K�3� ,�C�K�K�4E�4E�4G� G�#)�;�;�#'�(�*@� A�$����s�A�-C�AC�Cc��djtjD�cgc]
}t|���c}�tjk(sJ�ycc}w)N�.)�joinr�version_infor=�__version__)r$�xs  r%�test_versionzTestMisc.test_version�sD���H�H�f�&9�&9�:�&9��c�!�f�&9�:�;��!�!�
"�	
�
"��:s�Ac�b�tj�}d|_d|j�vsJ�y)N�1rQ)rr"rQ�as_dict)r$r9s  r%�!test_process_as_dict_no_new_namesz*TestMisc.test_process_as_dict_no_new_names�s)���N�N�������A�I�I�K�'�'�'r?c
�.�d�}tj�}|tj�j��t|�}|j	|j
d��D]:\}}|j
t|�|��5	|�}||�ddd��<t�}|j	|j
�D]5\}}|dvr�|j
|��5	|�}||�ddd��7tjtjtjddd	�
���}t|tj�sJ�|j dk(sJ�|j"dk(sJ�|j$d	k(sJ�tjtjtj&dddd	����}t|tj&�sJ�|j dk(sJ�|j(dk(sJ�|j"dk(sJ�|j$d	k(sJ�tjtjtjd
dd	�
���}t|tj�sJ�|j d
k(sJ�|j"dk(sJ�|j$d	k(sJ�tjtjtj*ddd����}t|tj*�sJ�|j,dk(sJ�|j dk(sJ�|j"dk(sJ�y#tj$rY���wxYw#1swY��xYw#tj$rY���wxYw#1swY���xYw)Nc��tjtj|��tj|�}tj|�}||k(sJ�y�N)�json�loads�dumps�pickle)�ret�a�bs   r%�checkz*TestMisc.test_serialization.<locals>.check�s<���J�J�t�z�z�#��'����S�!�A����Q��A��!�8�O�8r?T)�clear_cache)�procr)>�win_service_get�win_service_iter)r)i�r)rI)r.r)rI�*)r.r)rSrI�{�!)�secondsr.r))rr"r�r�iter�getters�subTestr=rBrr7r�r�r�r!�
isinstancer.r)rIr4rSr^r�)r$r�r��nsr�r)r�r�s        r%�test_serializationzTestMisc.test_serialization�s��	��~�~���
�f�n�n��&�&�(�)�
�t�
$����������>�I�C�����3�t�9�4��8���%�C��#�J�
9�8�?��
��������,�I�C���>�>�����4��(���%�C��#�J�
)�(�-�
�L�L��L�L��$�$��F��F�
�
��
�!�V�1�1�2�2�2��u�u��}��}��v�v������u�u��~��~��L�L��L�L��$�$��F���O�
�
��
�!�V�1�1�2�2�2��u�u��}��}��v�v��|��|��v�v������u�u��~��~��L�L��L�L��,�,��6�u�M�N�
���!�V�0�0�1�1�1��u�u��|��|��v�v������u�u��~��~��L�L��L�L��%�%�b�d��H�
�
��
�!�V�2�2�3�3�3��y�y�B�����u�u��}��}��v�v������u�|�|�����9�8��"�*�*�����)�(�s`�
M#�M	�M#�'N
�)M0�0N
�	M �M#�M � M#�#M-	�0N�N
�N�N
�
N	c��tjjtjdtj
��5}tj�|jsJ�	ddd�tjjtjdtjd���5}tj�|jsJ�	ddd�tjjtjdt��5}tjt�5tj�ddd�|jsJ�	ddd�tjjtjdtjd���5}tjtj�5tj�ddd�|jsJ�	ddd�y#1swY���xYw#1swY��5xYw#1swY��xYw#1swY��xYw#1swY�SxYw#1swYyxYw)N�
_get_identr*rh)rr2r3rr"r7�calledr4�
ValueErrorrrr!)r$�meths  r%�test_ad_on_process_creationz$TestMisc.test_ad_on_process_creation@s����Z�Z�
�
��N�N�L�f�6I�6I��
�
��N�N���;�;��;�	
��Z�Z�
�
��N�N�L�f�6J�6J�1�6M��
�
��N�N���;�;��;�	
��Z�Z�
�
��N�N�L�j��
�
����z�*���� �+��;�;��;�
��Z�Z�
�
��N�N�L�f�6J�6J�1�6M��
�
����v�3�3�4���� �5��;�;��;�
�
�'
�
��
�
��+�*��
�
��5�4��
�
�s_�#G8�.#H�H�(H�=H�$H6�H*�H6�8H�H�H	�H�H'�*H3	�/H6�6H?c�&�tjdd��5tjt�5}tt�ddd�dtj�j�vsJ�	ddd�y#1swY�:xYw#1swYyxYw)Nzpsutil._psplatform.cext.versionz0.0.0��return_valuezversion conflict)
rr2rrr|rrr=�valuer�)r$�cms  r%�test_sanity_version_checkz"TestMisc.test_sanity_version_check]sm��
�Z�Z�-�G�
����{�+�r��f�%�,�%��R�X�X��)<�)<�)>�>�>�>�
�
�,�+��
�
�s"�B�A;�/B�;B	�B�BN)	rlrmrnr�r�r�r�r�r�ror?r%rqrq�s#�� &�D
�(�L �\�:?r?rqc�B�eZdZd�ZeZd
d�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy)�TestMemoizeDecoratorc��g|_yr���callsr#s r%�setUpzTestMemoizeDecorator.setUpms	����
r?Nc�*�td�D]'}|�}|jdifgk(sJ�|��!||k(r�'J�td�D]+}|d�}|jdifdifgk(sJ�|��%||k(r�+J�td�D]2}|dd��}|jdifdifdddifgk(sJ�|��,||k(r�2J�t|j�dk(sJ�|j�|�}|�||k(sJ�t|j�dk(sJ�|jd	k(sJ�y)
Nrrorh�rh��barr����
My docstring.)�ranger�ri�cache_clearr)r$�obj�expected_retvalrwr�s     r%�run_againstz TestMemoizeDecorator.run_againstrsM���q��A��%�C��:�:�2�r�(��+�+�+��*��o�-�-�-�	��q��A��a�&�C��:�:�2�r�(�T�2�J�!7�7�7�7��*��o�-�-�-�	��q��A��a�Q�-�C��:�:�2�r�(�T�2�J���q�z�8J�!K�K�K�K��*��o�-�-�-�	��4�:�:��!�#�#�#������e���&��/�)�)�)��4�:�:��!�#�#�#��{�{�o�-�-�-r?c�L��t�fd��}|�|j|d��y)Nc�@���jj||f�y�r���r��append��args�kwargs�	baseclasss  �r%rQz/TestMemoizeDecorator.test_function.<locals>.foo�s���
�O�O�"�"�D�&�>�2�r?r��r�)r	r�)r$rQr�s  @r%�
test_functionz"TestMemoizeDecorator.test_function�s/���	�	�
�	�
�	�����b��1r?c���tG�fd�d��}|�|j|d��|�j�dk(sJ�y)Nc�"��eZdZdZ�fd�Zd�Zy)�,TestMemoizeDecorator.test_class.<locals>.Foor�c�@���jj||f�yr�r�)r$r�r�r�s   �r%�__init__z5TestMemoizeDecorator.test_class.<locals>.Foo.__init__�s������&�&��f�~�6r?c��y)Nr�ror#s r%r�z0TestMemoizeDecorator.test_class.<locals>.Foo.bar�s��r?N)rlrmrnrr�r��r�s�r%�Foor��s����
7�
r?r�r�r�)r	r�r��r$r�r�s  @r%�
test_classzTestMemoizeDecorator.test_class�sJ���	�	�	�
�	��	�����d��3��u�y�y�{�b� � � r?c�v�tGd�d��}|�|�usJ�t|��t|��k(sJ�t|d��t|d��k(sJ�t|dd���t|dd���k(sJ�t|d��t|d��k7sJ�y)Nc��eZdZd�Zy)�6TestMemoizeDecorator.test_class_singleton.<locals>.Barc��yr�ro)r$r�r�s   r%r�z?TestMemoizeDecorator.test_class_singleton.<locals>.Bar.__init__�s��r?N)rlrmrnr�ror?r%�Barr��s��
r?r�rhr�)rQr)r	�id)r$r�s  r%�test_class_singletonz)TestMemoizeDecorator.test_class_singleton�s���	�	�	�
�	��u���~��~��#�%�y�B�s�u�I�%�%�%��#�a�&�z�R��A��Z�'�'�'��#�a�Q�-� �B�s�1�!�}�$5�5�5�5��#�a�&�z�R��A��Z�'�'�'r?c�f��G�fd�d�}|�|j|�jd��y)Nc�,��eZdZee�fd���Zy)�3TestMemoizeDecorator.test_staticmethod.<locals>.Fooc�@���jj||f�yr�r�r�s  �r%r�z7TestMemoizeDecorator.test_staticmethod.<locals>.Foo.bar��������&�&��f�~�6�r?N)rlrmrn�staticmethodr	r�r�s�r%r�r��s���
�
�
���
r?r�r�r��r�r�r�s  @r%�test_staticmethodz&TestMemoizeDecorator.test_staticmethod��-���	�	��	��������B��7r?c�f��G�fd�d�}|�|j|�jd��y)Nc�,��eZdZee�fd���Zy)�2TestMemoizeDecorator.test_classmethod.<locals>.Fooc�@���jj||f�yr�r�)�clsr�r�r�s   �r%r�z6TestMemoizeDecorator.test_classmethod.<locals>.Foo.bar�r�r?N)rlrmrn�classmethodr	r�r�s�r%r�r��s���
�
�
���
r?r�r�r�r�r�s  @r%�test_classmethodz%TestMemoizeDecorator.test_classmethod�r�r?c����t�fd��}g�td�D]$}|�}dif}||k(sJ�t��dk(r�$J�td�D]%}|d�}dif}||k(sJ�t��dk(r�%J�td�D])}|dd��}dddif}||k(sJ�t��dk(r�)J�|j�|�}dif}||k(sJ�t��d	k(sJ�|jd
k(sJ�y)Nc�.���jd�||fS)�Foo docstring.N�r�)r�r�r�s  �r%rQz/TestMemoizeDecorator.test_original.<locals>.foo�s���
�L�L����&�>�!r?rrorhr�r�r�r�r�r�)r	r�rir�r)r$rQrwr��expectedr�s     @r%�
test_originalz"TestMemoizeDecorator.test_original�s&���
�	"�
�	"�
���q��A��%�C��B�x�H��(�?�"�?��u�:��?�"�?�	��q��A��a�&�C��b�z�H��(�?�"�?��u�:��?�"�?�	��q��A��a�Q�-�C��u�a�j�)�H��(�?�"�?��u�:��?�"�?�	�	�����e����8���h�����5�z�Q�����{�{�.�.�.�.r?r�)rlrmrnr��tearDownr�r�r�r�r�r�r�ror?r%r�r�ls1����H�.�:2�
!�(�
8�
8�#/r?r�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestCommonModulec����G�fd�d�}|�}g�|j�|j�t��dk(sJ�g�|jj|�|j�|j�t��dk(sJ�g�|jj|�|j�|j�t��dk(sJ�y)Nc�"��eZdZe�fd��Zy)�9TestCommonModule.test_memoize_when_activated.<locals>.Fooc�(���jd�yr�r�)r$r�s �r%rQz=TestCommonModule.test_memoize_when_activated.<locals>.Foo.foo�s������T�"r?N)rlrmrnr
rQr�s�r%r�r��s���
#�
#�$�
#r?r�rrh)rQri�cache_activate�cache_deactivate)r$r��fr�s   @r%�test_memoize_when_activatedz,TestCommonModule.test_memoize_when_activated�s����	#�	#�

�E����	����	�����5�z�Q������	�����Q��	����	�����5�z�Q������	�����q�!�	����	�����5�z�Q���r?c��d�}td�|d�dik(sJ�td�|d�d|d�dik(sJ�td�|d�d|d�d	ik(sJ�td
�|d�d|d�dik(sJ�td�|d�dik(sJ�td�|d�dik(sJ�td
�|d�dik(sJ�y)Nc�2�tr|j�S|Sr�)r�upper)rjs r%�kz4TestCommonModule.test_parse_environ_block.<locals>.ks�� '�1�7�7�9�.�Q�.r?za=1r�r�z	a=1b=2r��2za=1b=rEz
a=1b=2c=3zxxxa=1z	a=1=b=2za=1b=2r)r$rs  r%�test_parse_environ_blockz)TestCommonModule.test_parse_environ_blocks���	/�#�7�+��#���}�<�<�<�"�>�2�
�c�F�C�
�c�F�C�7
�
�	
�
�#�=�1�a��f�c�1�S�6�2�5N�N�N�N�"�#6�7�
�c�F�C�
�c�F�C�<
�
�	
�
�
#�<�0�Q�s�V�S�M�A�A�A�"�=�1�a��f�c�]�B�B�B�"�:�.�1�S�6�3�-�?�?�?r?c��t��rtjd�5}d|_t�rJ�	ddd�tjdt��5}t�rJ�|j
sJ�	ddd�tjdtj��5}t�rJ�|j
sJ�	ddd�tjdtj��5}t�rJ�|j
sJ�	ddd�ytjt�5t
jtjtj�}	|jd�|j�	ddd�y#1swY��TxYw#1swY��"xYw#1swY��xYw#1swYyxYw#|j�wxYw#1swYyxYw)Nzpsutil._common.socketFzpsutil._common.socket.socketr*z!psutil._common.socket.socket.bind)z::1r)r
rr2�has_ipv6�OSErrorr��socket�gaierrorrr�AF_INET6�SOCK_STREAM�bind�close)r$rj�socks   r%�test_supports_ipv6z#TestCommonModule.test_supports_ipv6#s[���?����3�4��"��
�(�?�*�*�?�5����.�G���(�?�*�*��x�x��x�	����.�F�O�O���(�?�*�*��x�x��x�	����3�"�O�O���(�?�*�*��x�x��x������w�'��}�}�V�_�_�f�6H�6H�I��!��I�I�j�)��J�J�L�(�'�/5�4������������J�J�L��(�'�sS�F�F�"F"�+F.�)3G�F:�.G�F�F�"F+�.F7�:G�G�Gc�z�tjjt�}t	|�sJ�t	tjj|��rJ�t
jdt��5tjt�5t	|�ddd�ddd�t
jdt��5t	|�rJ�	ddd�t
jdd��5t	|�rJ�	ddd�y#1swY�rxYw#1swY�vxYw#1swY�PxYw#1swYyxYw)Nzpsutil._common.os.statr*zpsutil._common.stat.S_ISREGFr�)
r5�path�abspath�__file__r�dirnamerr2rurrr
�FileNotFoundError)r$�	this_files  r%�test_isfile_strictz#TestCommonModule.test_isfile_strictCs����G�G�O�O�H�-�	��Y�'�'�'� �������!;�<�<�<�
�Z�Z�0�o�
N����w�'��i�(�(�O��Z�Z�$�2C�
�%�Y�/�/�/�/�
��Z�Z�5�E�
J�$�Y�/�/�/�/�K�
J�
(�'��O�
N��
�
��K�
J�s<�6D�D
�D�D%�5D1�
D	�D�D"�%D.�1D:c��tjjtjdd�5tjtj��5}td�tjj�ddd�ddd�j�}|jd�sJ|��d|vsJ�tj!dd�|vsJ�tjjtjdd�5tjtj��5}tt#d��ddd�ddd�|j�}d|vsJ�d	|vsJ�tjjtjdd�5tjtj��5}t%d
d�}d|_t|�ddd�ddd�|j�}d|vsJ�d|vsJ�y#1swY���xYw#1swY���xYw#1swY��xYw#1swY��xYw#1swY�`xYw#1swY�dxYw)
N�PSUTIL_DEBUGT�hellozpsutil-debugz.pycz.pyzthis is an errorzignoring ValueErrorz'this is an error'rzno such filez/foo)rr2r3r�_common�
contextlib�redirect_stderr�io�StringIOr�sys�stderr�flush�getvaluerzrr/r�r
�filename)r$rrI�excs    r%�
test_debugzTestCommonModule.test_debugQs���
�Z�Z�
�
�v�~�~�~�t�
D��+�+�B�K�K�M�:�a��g���
�
� � �"�;�E��j�j�l���~�~�n�-�2�s�2�-��#�~��~������.�#�5�5�5��Z�Z�
�
�v�~�~�~�t�
D��+�+�B�K�K�M�:�a��j�!3�4�5�;�E��j�j�l��$��+�+�+�#�s�*�*�*��Z�Z�
�
�v�~�~�~�t�
D��+�+�B�K�K�M�:�a��a��0��%����c�
�;�E�
�j�j�l����$�$�$���}��}�1;�:��E�
D��;�:��E�
D��;�:��E�
D�sk�(H"�*H�H"�	(H;�1H/�H;�!(I�	I�(I�H	�H"�"H,�/H8	�4H;�;I�I	�I�Ic��|j�}t|d�5}|jd�ddd�t|�dk(sJ�t	|�dk(sJ�tjt�5t|dz�ddd�tjt�5t	|dz�ddd�t|dzd��dk(sJ�t	|dzd��dk(sJ�y#1swY��xYw#1swY�pxYw#1swY�LxYw)N�wrQsfooz-invalidr�)�fallback)�
get_testfn�open�writerrrrr)r$�testfnrs   r%�
test_cat_bcatzTestCommonModule.test_cat_bcatms������"��
�&�#�
�!�
�G�G�E�N���6�{�e�#�#�#��F�|�v�%�%�%�
�]�]�,�
-����#�$�.�
�]�]�,�
-���*�$�%�.��6�J�&��7�5�@�@�@��F�Z�'�%�8�E�A�A�A��
��.�
-��
-�
-�s#�C"�0C.� C:�"C+�.C7�:DN)	rlrmrnrr
rrr,r4ror?r%r�r��s#���4@�*!�@0��8Br?r�rQza b cc��eZdZd�ZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zej$j'ed��d��Zy)�TestWrapNumbersc�,�tj�yr�)rr�r#s r%r�zTestWrapNumbers.setUp�s��� � �"r?c�D�dtddd�i}t|d�|k(sJ�y�N�disk1r\�disk_io��ntr�r$�inputs  r%�test_first_callzTestWrapNumbers.test_first_call�s)���"�Q��1�+�&���E�9�-��6�6�6r?c�f�dtddd�i}t|d�|k(sJ�t|d�|k(sJ�yr9r<r>s  r%�test_input_hasnt_changedz(TestWrapNumbers.test_input_hasnt_changed�s>���"�Q��1�+�&���E�9�-��6�6�6��E�9�-��6�6�6r?c��dtddd�i}t|d�|k(sJ�dtddd�i}t|d�|k(sJ�dtddd�i}t|d�|k(sJ�dtddd�i}t|d�|k(sJ�y)	Nr:r\r;�
����r<r>s  r%�test_increase_but_no_wrapz)TestWrapNumbers.test_increase_but_no_wrap�s����"�Q��1�+�&���E�9�-��6�6�6��"�R��R�.�)���E�9�-��6�6�6��"�R��R�.�)���E�9�-��6�6�6��"�R��R�.�)���E�9�-��6�6�6r?c��dtddd�i}t|d�|k(sJ�dtddd�i}t|d�dtddd�ik(sJ�dtddd�i}t|d�dtddd�ik(sJ�dtddd�i}t|d�dtddd�ik(sJ�dtddd�i}t|d�dtddd	�ik(sJ�dtddd�i}t|d�dtddd	�ik(sJ�dtd
dd�i}t|d�dtddd	�ik(sJ�dtddd�i}t|d�dtddd	�ik(sJ�dtddd�i}t|d�dtddd	�ik(sJ�y)
Nr:�dr;rD�n�Z�rF���2��(r<r>s  r%�	test_wrapzTestWrapNumbers.test_wrap�s����"�S�#�s�+�,���E�9�-��6�6�6��"�S�#�r�*�+���E�9�-�'�2�c�3��;L�1M�M�M�M��"�S�#�r�*�+���E�9�-�'�2�c�3��;L�1M�M�M�M��"�S�#�r�*�+���E�9�-�'�2�c�3��;L�1M�M�M�M��"�S�#�r�*�+���E�9�-�'�2�c�3��;L�1M�M�M�M��"�S�#�r�*�+���E�9�-�'�2�c�3��;L�1M�M�M�M��"�R��b�/�*���E�9�-�'�2�c�3��;L�1M�M�M�M��"�R��b�/�*���E�9�-�'�2�c�3��;L�1M�M�M�M��"�R��b�/�*���E�9�-�'�2�c�3��;L�1M�M�M�Mr?c���dtddd�i}t|d�|k(sJ�tddd�tddd�d�}t|d�|k(sJ�dtddd�i}t|d�|k(sJ�y)Nr:r\r;��r:�disk2�r<r>s  r%�test_changing_keysz"TestWrapNumbers.test_changing_keys�s����"�Q��1�+�&���E�9�-��6�6�6��Q��1�+��1�a���<���E�9�-��6�6�6��"�Q��1�+�&���E�9�-��6�6�6r?c�`�tddd�tddd�d�}t|d�|k(sJ�tddd�tddd�d�}t|d�tddd�tddd�d�k(sJ�dtddd�i}t|d�|k(sJ�tddd�tddd�d�}t|d�|k(sJ�tddd�tddd�d�}t|d�|k(sJ�tddd�tddd�d�}t|d�tddd�tddd�d�k(sJ�y)NrPrKrVr;rDrLr:r<r>s  r%�test_changing_keys_w_wrapz)TestWrapNumbers.test_changing_keys_w_wrap�s]���R��R�.�2�c�3��3D�E���E�9�-��6�6�6��R��R�.�2�c�3��3C�D���E�9�-���B��^���S�#�&�2
�
�	
�
�
�"�R��R�.�)���E�9�-��6�6�6��R��R�.�2�c�3��3D�E���E�9�-��6�6�6��R��R�.�2�c�3��3D�E���E�9�-��6�6�6��R��R�.�2�c�3��3C�D���E�9�-���B��^���S�#�&�2
�
�	
�
r?c��ddddd�}t|d�|k(sJ�t|d�|k(sJ�ddddd�}t|d�}|dd	d
k(sJ�y)N)	i,���#�R������ȷ)	i�ritUiirrrrX)	�6rei�$i�Nr��rHi��)	iU	i�i"rQi�i4i�i�i\)�nvme0n1�	nvme0n1p1�	nvme0n1p2�	nvme0n1p3r;)	rKr]r^r_r`rarbrcrdrhri�r)r$�d�outs   r%�test_real_datazTestWrapNumbers.test_real_data�s|��M�B�H�L�	
���A�y�)�Q�.�.�.��A�y�)�Q�.�.�.�N�B�H�L�	
���1�i�(���9�~�a� �C�'�'�'r?c��dtddd�i}t|d�tj�}|dd|ik(sJ�|ddiik(sJ�|ddiik(sJ�y)Nr:r\r;rrhr�r=r�
cache_info�r$r?�caches   r%�test_cache_first_callz%TestWrapNumbers.test_cache_first_call�so���"�Q��1�+�&���U�I�&��'�'�)���Q�x�I�u�-�-�-�-��Q�x�I�r�?�*�*�*��Q�x�I�r�?�*�*�*r?c���dtddd�i}t|d�dtddd�i}t|d�tj�}|dd|ik(sJ�|dddddd�ik(sJ�|ddiik(sJ�y)	Nr:r\r;rDrrh�)r:r)r:rh�r:rrrprrs   r%�test_cache_call_twicez%TestWrapNumbers.test_cache_call_twice�s����"�Q��1�+�&���U�I�&��"�R��R�.�)���U�I�&��'�'�)���Q�x�I�u�-�-�-�-��Q�x��a�q��J�
�
�	
�
��Q�x�I�r�?�*�*�*r?c��dtddd�i}t|d�dtddd�i}t|d�tj�}|dd|ik(sJ�|dddddd�ik(sJ�|dddd	hiik(sJ�d
�}dtddd�i}t|d�tj�}|dd|ik(sJ�|�dtddd�i}t|d�tj�}|dd|ik(sJ�|�dtddd�i}t|d�tj�}|dd|ik(sJ�|ddddd
d�ik(sJ�|dddd	hiik(sJ�y)Nr:rKr;rDrrhrvrrwc�j�tj�}|dddddd�ik(sJ�|ddddhiik(sJ�y)	Nrhr;rrKrvrr:rw)rrq)rss r%�check_cache_infoz9TestWrapNumbers.test_cache_wrap.<locals>.check_cache_infos\�� �+�+�-�E���8��"#�"#�"%�� ��
����8�	�G�l�^�+D�E�E�E�Er?rMrFrNrp)r$r?rsr{s    r%�test_cache_wrapzTestWrapNumbers.test_cache_wraps����"�S�#�s�+�,���U�I�&��"�S�#�r�*�+���U�I�&��'�'�)���Q�x�I�u�-�-�-�-��Q�x��a�q��L�
�
�	
�
��Q�x�I��,��'@�A�A�A�A�		F��"�S�#�r�*�+���U�I�&��'�'�)���Q�x�I�u�-�-�-�-����"�S�#�r�*�+���U�I�&��'�'�)���Q�x�I�u�-�-�-�-����"�S�#�r�*�+���U�I�&��'�'�)���Q�x�I�u�-�-�-�-��Q�x��a�q��L�
�
�	
�
��Q�x�I��,��'@�A�A�A�Ar?c��dtddd�i}t|d�tddd�tddd�d�}t|d�tj�}|dd|ik(sJ�|dddddd�ik(sJ�|d	diik(sJ�y)
Nr:r\r;rUrVrrhrvrrprrs   r%�test_cache_changing_keysz(TestWrapNumbers.test_cache_changing_keys:s����"�Q��1�+�&���U�I�&��Q��1�+��1�a���<���U�I�&��'�'�)���Q�x�I�u�-�-�-�-��Q�x��a�q��J�
�
�	
�
��Q�x�I�r�?�*�*�*r?c��dtddd�i}t|d�t|d�tjd�tj�iiifk(sJ�tjd�tjd�y)Nr:r\r;z?!?)r=rr�rqr>s  r%�test_cache_clearz TestWrapNumbers.test_cache_clearFso���"�Q��1�+�&���U�I�&��U�I�&�� � ��+��&�&�(�R��R�L�8�8�8�� � ��+�� � ��'r?z
not supported)�reasonc��tj�rtj�stjd�Stj�tj�tj�}|D]}d|vsJ�d|vr�J�tjj�tj�}|D]}d|vsJ�d|vr�J�tjj�tj�}|iiifk(sJ�y)Nzno disks or NICs availablezpsutil.disk_io_counterszpsutil.net_io_counters)r�disk_io_counters�net_io_countersr�skiprrqr�)r$�cachesrss   r%�test_cache_clear_public_apisz,TestWrapNumbers.test_cache_clear_public_apisOs����&�&�(��0F�0F�0H��;�;�;�<�<����!���� ��(�(�*���E�,��5�5�5�+�u�4�4�4��	���+�+�-��(�(�*���E�+�u�4�4�4�,�E�9�9�9��	���*�*�,��(�(�*���"�b�"��%�%�%r?N)rlrmrnr�r�r@rBrIrSrYr[rnrtrxr|r~r�r�mark�skipifrr�ror?r%r6r6�sz��#��H�7�7�
7�N�:	7�
�6(�*+�
+�0B�d
+�(��[�[���/�/���H�&�I�&r?r6)%r�collectionsr"r$r�r5r�rr&�unittestrrr�psutil._commonrrrrr	r
rr
r�psutil.testsrrrrrrrrqr�r��
namedtupler=r6ror?r%�<module>r�s������	��	�
�
�
��
���� �(�"�1�.�(�'�,�'�*��&�)�Q��Q�ra?�~�a?�RD/�>�D/�NEB�~�EB�Z�[���E�7�+��_&�n�_&r?
Back to Directory File Manager