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

�

h0idI��0�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddl
mZddl
Z
ddlZ
ddl
mZddl
mZddl
mZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!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/dd$lm0Z0dd%lm1Z1dd&lm2Z2dd'lm3Z3Gd(�d)e�Z4Gd*�d+e�Z5Gd,�d-e�Z6Gd.�d/e�Z7Gd0�d1e�Z8e(jrjud2�3�Gd4�d5e��Z;Gd6�d7e�Z<Gd8�d9e�Z=Gd:�d;e�Z>y)<z1Tests for testing utils (psutil.tests namespace).�N)�mock)�FREEBSD)�NETBSD)�POSIX)�open_binary)�	open_text)�
supports_ipv6)�
CI_TESTING)�COVERAGE)�HAS_NET_CONNECTIONS_UNIX)�HERE)�
PYTHON_EXE)�PYTHON_EXE_ENV)�PsutilTestCase)�TestMemoryLeak)�bind_socket)�bind_unix_socket��
call_until)�chdir)�create_sockets)�fake_pytest)�filter_proc_net_connections)�
get_free_port)�
is_namedtuple)�process_namespace)�pytest)�
reap_children)�retry)�retry_on_failure)�
safe_mkdir)�safe_rmpath)�system_namespace)�tcp_socketpair)�	terminate)�unix_socketpair)�
wait_for_file)�wait_for_pidc�,�eZdZejd�d��Zejd�d��Zejd�d��Zejd�d��Zejd�d��Z	ejd�d��Z
y)	�TestRetryDecoratorz
time.sleepc���tddd���fd��}ttd���|�dk(sJ�|jdk(sJ�y)N����retries�interval�logfunc�:���r�j�ddz�r�y�Nr-r��pop��queues��L/opt/hc_python/lib64/python3.12/site-packages/psutil/tests/test_testutils.py�fooz2TestRetryDecorator.test_retry_success.<locals>.fooG� �����	�	���A�����)r�list�range�
call_count��self�sleepr9r7s   @r8�test_retry_successz%TestRetryDecorator.test_retry_successCsQ���
�q�1�T�	2�	�
3�	��U�1�X����u��z��z����1�$�$�$r;c����tddd���fd��}ttd���tjt
�5|�ddd�|jdk(sJ�y#1swY�xYw)Nr,r-r.c�:���r�j�ddz�r�yr3r4r6s�r8r9z2TestRetryDecorator.test_retry_failure.<locals>.fooUr:r;�)rr=r>r�raises�ZeroDivisionErrorr?r@s   @r8�test_retry_failurez%TestRetryDecorator.test_retry_failureRsc���
�q�1�T�	2�	�
3�	��U�1�X���
�]�]�,�
-��E�.����1�$�$�$�.�
-�s�A'�'A0c��ttd��d��}tjt�5|�ddd�|j
dk(sJ�y#1swY�xYw)Nr-)�	exceptionr0c��t��N)�	TypeError�r;r8r9z2TestRetryDecorator.test_exception_arg.<locals>.foocs���Or;r)r�
ValueErrorrrGrNr?�rArBr9s   r8�test_exception_argz%TestRetryDecorator.test_exception_argasP��	��a�	0�	�
1�	��]�]�9�
%��E�&����1�$�$�$�&�
%�s�A�Ac��tddd��d��}tjt�5|�ddd�|jdk(sJ�y#1swY�xYw)Nr,r.c��ddzyr3rOrOr;r8r9z4TestRetryDecorator.test_no_interval_arg.<locals>.fooo�	��
��Er;r�rrrGrHr?rQs   r8�test_no_interval_argz'TestRetryDecorator.test_no_interval_argksU��
�q�4��	5�	�
6�	��]�]�,�
-��E�.����1�$�$�$�.�
-���A�Ac��tddd��d��}tjt�5|�ddd�|jdk(sJ�y#1swY�xYw)Nr,r-r.c��ddzyr3rOrOr;r8r9z0TestRetryDecorator.test_retries_arg.<locals>.fooyrUr;rVrQs   r8�test_retries_argz#TestRetryDecorator.test_retries_argwsS��	�q�1�T�	2�	�
3�	��]�]�,�
-��E�.����1�$�$�$�.�
-�rXc�z�tjt�5tdd��ddd�y#1swYyxYw)Nr,r-)r/�timeout)rrGrPr)rArBs  r8�test_retries_and_timeout_argsz0TestRetryDecorator.test_retries_and_timeout_args�s$��
�]�]�:�
&��!�Q�'�'�
&�
&�s�1�:N)�__name__�
__module__�__qualname__r�patchrCrIrRrWr[r^rOr;r8r*r*Bs����T�Z�Z���%��%��T�Z�Z���%��%��T�Z�Z���%��%��T�Z�Z���	%��	%��T�Z�Z���%��%��T�Z�Z���(��(r;r*c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestSyncTestUtilsc�p�ttj��tt	j
��dz}t
jdtdg���5tjtj�5t|�ddd�ddd�y#1swY�xYw#1swYyxYw)Ni���psutil.tests.retry.__iter__r��return_value)r(�os�getpid�max�psutil�pidsrrb�iterrrG�
NoSuchProcess)rA�nopids  r8�test_wait_for_pidz#TestSyncTestUtils.test_wait_for_pid�ss���R�Y�Y�[�!��F�K�K�M�"�U�*��
�Z�Z�5�D�!��I�
N����v�3�3�4��U�#�5�O�
N�4�4��O�
N�s$�$B,�B �B,� B)	�%B,�,B5c���|j�}t|d�5}|jd�ddd�t|�tj
j
|�rJ�y#1swY�6xYw)N�wr9��
get_testfn�open�writer'ri�path�exists�rA�testfn�fs   r8�test_wait_for_filez$TestSyncTestUtils.test_wait_for_file�sT�����"��
�&�#�
�!�
�G�G�E�N���f���7�7�>�>�&�)�)�)�)��
�s�A$�$A-c���|j�}t|d�5	ddd�t|d��tjj|�rJ�y#1swY�8xYw)NrsT)�empty)rurvr'rirxry�rAr{s  r8�test_wait_for_file_emptyz*TestSyncTestUtils.test_wait_for_file_empty�sL�����"��
�&�#�
����f�D�)��7�7�>�>�&�)�)�)�)��
�s�A�Ac��|j�}tjdtdg���5t	j
t�5t|�ddd�ddd�y#1swY�xYw#1swYyxYw)Nrfrrg)rurrbrnrrG�OSErrorr'r�s  r8�test_wait_for_file_no_filez,TestSyncTestUtils.test_wait_for_file_no_file�sV�����"��
�Z�Z�5�D�!��I�
N����w�'��f�%�(�O�
N�'�'��O�
N�s#�A5�A)�A5�)A2	�.A5�5A>c���|j�}t|d�5}|jd�ddd�t|d��tj
j
|�sJ�y#1swY�8xYw)Nrsr9F)�deletertrzs   r8�test_wait_for_file_no_deletez.TestSyncTestUtils.test_wait_for_file_no_delete�sS�����"��
�&�#�
�!�
�G�G�E�N���f�U�+��w�w�~�~�f�%�%�%��
�s�A&�&A/c��td��y)Nc��y�Nr-rOrOr;r8�<lambda>z3TestSyncTestUtils.test_call_until.<locals>.<lambda>�s��1r;r�rAs r8�test_call_untilz!TestSyncTestUtils.test_call_until�s
���9�r;N)	r_r`rarqr}r�r�r�r�rOr;r8rdrd�s ��$�*�*�&�&�r;rdc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TestFSTestUtilsc�p�tt�5}|jdk(sJ�	ddd�y#1swYyxYw)N�r)r�__file__�mode�rAr|s  r8�test_open_textzTestFSTestUtils.test_open_text�s(��
�x�
 �A��6�6�S�=� �=�!�
 �
 ���,�5c�p�tt�5}|jdk(sJ�	ddd�y#1swYyxYw)N�rb)rr�r�r�s  r8�test_open_binaryz TestFSTestUtils.test_open_binary�s(��
��
"�a��6�6�T�>�!�>�#�
"�
"�r�c���|j�}t|�tjj	|�sJ�t|�tjj	|�sJ�yrM)rur!rirx�isdirr�s  r8�test_safe_mkdirzTestFSTestUtils.test_safe_mkdir�sJ�����"���6���w�w�}�}�V�$�$�$��6���w�w�}�}�V�$�$�$r;c�`�|j�}t|d�j�t|�tj
j
|�rJ�t|�t	j|�t|�tj
j
|�rJ�tjdttjd���5}tjt�5t|�ddd�|jsJ�	ddd�y#1swY�!xYw#1swYyxYw)Nrszpsutil.tests.os.stat�)�side_effect)rurv�closer"rirxry�mkdirrrbr��errno�EINVALrrG�called)rAr{�ms   r8�test_safe_rmpathz TestFSTestUtils.test_safe_rmpath�s������"���V�S����!��F���7�7�>�>�&�)�)�)��F��
������F���7�7�>�>�&�)�)�)�
�Z�Z�"�����b�0I�
�
����w�'��F�#�(��8�8�O�8�
�
�(�'��
�
�s$�D$�,D�8D$�D!	�D$�$D-c�X�|j�}tj�}tj|�t	|�5tj�tj
j
||�k(sJ�	ddd�tj�|k(sJ�y#1swY�#xYwrM)ruri�getcwdr�rrx�join)rAr{�bases   r8�
test_chdirzTestFSTestUtils.test_chdir�sp�����"���y�y�{��
�����
�6�]��9�9�;�"�'�'�,�,�t�V�"<�<�<�<���y�y�{�d�"�"�"��]�s�8B � B)N)r_r`rar�r�r�r�r�rOr;r8r�r��s��!�"�%��(#r;r�c�f�eZdZd�Zd�Zejjed��d��Z	d�Z
y)�TestProcessUtilsc�.�|j�}tj|j�}|j	�sJ�t�|j	�rJ�tjjrJ�tjjrJ�yrM)	�
spawn_subprocrl�Process�pid�
is_runningr�tests�
_pids_started�_subprocesses_started)rA�subp�ps   r8�test_reap_childrenz#TestProcessUtils.test_reap_children�sm���!�!�#���N�N�4�8�8�$���|�|�~��~����<�<�>�!�!��<�<�-�-�-�-��<�<�5�5�5�5�5r;c��|j�\}}|j|jk7sJ�|j�sJ�|j�sJ�tj�j�}||gk(sJ�tj�jd��}t
|�dk(sJ�||vsJ�||vsJ�|j�tj�k(sJ�|j�|jk(sJ�t|�|j�rJ�|j�sJ�t|�|j�rJ�y)NT)�	recursive�)�spawn_children_pairr�r�rlr��children�len�ppidrirjr%)rA�child�
grandchildr�s    r8�test_spawn_children_pairz)TestProcessUtils.test_spawn_children_pair�s8�� �4�4�6���z��y�y�J�N�N�*�*�*����!�!�!��$�$�&�&�&��>�>�#�,�,�.���E�7�"�"�"��>�>�#�,�,�t�,�<���8�}��!�!�!��� � � ��X�%�%�%��z�z�|�r�y�y�{�*�*�*���� �E�I�I�-�-�-��%���#�#�%�%�%��$�$�&�&�&��*���(�(�*�*�*�*r;�
POSIX only��reasonc�p�|j�\}}|j�tjk(sJ�yrM)�spawn_zombie�statusrl�
STATUS_ZOMBIE)rA�_parent�zombies   r8�test_spawn_zombiez"TestProcessUtils.test_spawn_zombie�s.���+�+�-�����}�}��&�"6�"6�6�6�6r;c��|j�}t|�|j|j�t|�t	j
|j�j�}t|�|j|j�t|�tddg}t	j|tjtjt��}t|�|j|j�t|�|j�j}t|�|j|j�t|�tr`|j�\}}t|�t|�|j|j�|j|j�yy)Nz-cz3import time; [time.sleep(0.1) for x in range(100)];)�stdout�stderr�env)
r�r%�assert_pid_goner�rlr�r�Popen�
subprocess�PIPErrr�)rAr��cmdr��parentr�s      r8�test_terminatezTestProcessUtils.test_terminatesG����� ���!�����Q�U�U�#��!���N�N�4�-�-�/�3�3�4���!�����Q�U�U�#��!��
��A�
��

�L�L���?�?��?�?��	
��	�!�����Q�U�U�#��!��� � �"�&�&���#�����Q�U�U�#��#���!�.�.�0�N�F�F��f���f��� � ����,�� � ����,�r;N)r_r`rar�r�r�mark�skipifrr�r�rOr;r8r�r��s;��6�+�*�[�[���E�	�,��7�7�8�7�%-r;r�c�8�eZdZd�Zej
j
ed��d��Zd�Z	ej
j
ed��ej
j
e
xsed��ej
j
ed��d����Z
d	�Zy
)�TestNetUtilsc��t�}td|f��5}|j�d|k(sJ�	ddd�y#1swYyxYw)Nr���addrr-)rr�getsockname)rA�port�ss   r8rzTestNetUtils.bind_socket)s<�����
�r�4�j�
)�Q��=�=�?�1�%��-�-�-�*�
)�
)�s	�<�Ar�r�c�v�|j�}t|�5}|jtjk(sJ�|j
tjk(sJ�|j�|k(sJ�tjj|�sJ�tjtj|�j�sJ�	ddd�|j�}t|tj��5}|j
tjk(sJ�	ddd�y#1swY�^xYw#1swYyxYw)N)�type)rur�family�socket�AF_UNIXr��SOCK_STREAMr�rirxry�stat�S_ISSOCK�st_mode�
SOCK_DGRAM)rA�name�socks   r8�test_bind_unix_socketz"TestNetUtils.test_bind_unix_socket.s������ ��
�d�
#�t��;�;�&�.�.�0�0�0��9�9�� 2� 2�2�2�2��#�#�%��-�-�-��7�7�>�>�$�'�'�'��=�=������!6�!6�7�7�7�$���� ��
�d��):�):�
;�t��9�9�� 1� 1�1�1�1�<�
;�$�
#��<�
;�s�B)D#�9 D/�#D,�/D8c�4�dt�f}ttj|��\}}|5|5|j	�|k(sJ�|j�|k(sJ�|j	�|k7sJ�	ddd�ddd�y#1swY�xYw#1swYyxYw)Nz	127.0.0.1r�)rr$r��AF_INETr��getpeername)rAr��server�clients    r8�test_tcp_socketpairz TestNetUtils.test_tcp_socketpair<s���]�_�-��'����T�B����
�V��%�%�'�4�/�/�/��%�%�'�4�/�/�/��%�%�'�4�/�/�/�	�V�V�V�V��V�V�s#�B�AB�1B�B	�B�Bz*/var/run/log UNIX socket opened by defaultzcan't list UNIX socketsc���tj�}|j�}t|j	d���rJ�|j�}t
|�\}}	tjj|�sJ�tjtj|�j�sJ�|j�|z
dk(sJ�tt|j	d����dk(sJ�|j�|k(sJ�|j�|k(sJ�	|j!�|j!�y#|j!�|j!�wxYw)N�unix)�kindr�)rlr��num_fdsr�net_connectionsrur&rirxryr�r�r�r�r�r�r�)rAr�r�r�r�r�s      r8�test_unix_socketpairz!TestNetUtils.test_unix_socketpairEs/��
�N�N����)�)�+��.�q�/@�/@�f�/@�/M�N�N�N���� ��(��.����	��7�7�>�>�$�'�'�'��=�=������!6�!6�7�7�7��9�9�;��(�A�-�-�-��/��0A�0A�v�0A�0N�O����
��
�%�%�'�4�/�/�/��%�%�'�4�/�/�/��L�L�N��L�L�N��
�L�L�N��L�L�N�s
�!CE�"E%c�r�t�5}tjt�}tjt�}|D]R}||jxxdz
cc<||jtjtj�xxdz
cc<�T|tjdk\sJ�t�r|tjdk\sJ�trtr|tjdk\sJ�|tjdk\sJ�|tj dk\sJ�	ddd�y#1swYyxYw)Nr-r�)r�collections�defaultdict�intr��
getsockoptr��
SOL_SOCKET�SO_TYPEr�r	�AF_INET6rrr�r�r�)rA�socks�fams�typesr�s     r8�test_create_socketsz TestNetUtils.test_create_socketsbs���
�
���*�*�3�/�D��+�+�C�0�E����Q�X�X��!�#���a�l�l�6�#4�#4�f�n�n�E�F�!�K�F������'�1�,�,�,����F�O�O�,��1�1�1��1��F�N�N�+�q�0�0�0���+�+�,��1�1�1���*�*�+�q�0�0�0��
�
�s�DD-�-D6N)r_r`rarrr�r�rr�r�rrrr�rrOr;r8r�r�(s���.�
�[�[���E�	�,��7�2�8�2�0��[�[���E�	�,��7��[�[�����'�"N����[�[���$�$�-F������8��,1r;r��serial�r�c���eZdZe�d��Zd�Ze�ejje	d��ejje
d��d����Zd�Zd�Z
d	�Zy
)�TestMemLeakClassc�T���fd�}ddi�|j|dd���ddk(sJ�y)Nc� ���dxxdz
cc<y)N�cntr-rO)r
s�r8�funz(TestMemLeakClass.test_times.<locals>.funws�����J�!�O�Jr;r
r�
�)�times�warmup_times�)�execute)rArr
s  @r8�
test_timeszTestMemLeakClass.test_timesus7���	��a�j�����S����4��5�z�R���r;c��tjt�5|jd�d��ddd�tjt�5|jd�d��ddd�tjt�5|jd�d��ddd�tjt�5|jd�d�	�ddd�tjt�5|jd
�d��ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�dxYw#1swYyxYw)Nc��y�NrrOrOr;r8r�z1TestMemLeakClass.test_param_err.<locals>.<lambda>����r;r�rc��yrrOrOr;r8r�z1TestMemLeakClass.test_param_err.<locals>.<lambda>�rr;���c��yrrOrOr;r8r�z1TestMemLeakClass.test_param_err.<locals>.<lambda>�rr;)rc��yrrOrOr;r8r�z1TestMemLeakClass.test_param_err.<locals>.<lambda>�rr;)�	tolerancec��yrrOrOr;r8r�z1TestMemLeakClass.test_param_err.<locals>.<lambda>�rr;)r/)rrGrPrr�s r8�test_param_errzTestMemLeakClass.test_param_err~s���
�]�]�:�
&��L�L��!�L�,�'�
�]�]�:�
&��L�L��"�L�-�'�
�]�]�:�
&��L�L���L�4�'�
�]�]�:�
&��L�L��b�L�1�'�
�]�]�:�
&��L�L��B�L�/�'�
&�'�
&��
&�
&��
&�
&��
&�
&��
&�
&�s;�D�D�D(�<D4�2E�D�D%�(D1�4D=�E	z
skipped on CIr�zskipped during test coveragec���g}|fd�}	tjtjjd��5t	j
t
j��5t	jt
j��5|j|d��ddd�ddd�ddd�~y#1swY�xYw#1swY�xYw#1swY~yxYw#~wxYw)Nc�,�|jddz�y)N�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���append��lss r8rz+TestMemLeakClass.test_leak_mem.<locals>.fun�s���I�I�i�$�&�'r;z	extra-mem��match�dr)
rrG�fail�	Exception�
contextlib�redirect_stdout�io�StringIO�redirect_stderrr)rAr)rs   r8�
test_leak_memzTestMemLeakClass.test_leak_mem�s������	(�	����v�{�{�4�4�K�H��/�/��K�K�M���-�-�b�k�k�m�<��L�L��C�L�0�=��I��=�<�����I����sX�/C�(C� (C�B6�C�$C�,C�6B?�;C�C	�C�C�C�C�Cc�������fd�}g�trdnd}tjtjjd|z��5�j|�ddd�y#1swYyxYw)Nc�|��tt�}�j|j��j	|�yrM)rvr��
addCleanupr�r')r|�boxrAs ��r8rz1TestMemLeakClass.test_unclosed_files.<locals>.fun�s'����X��A��O�O�A�G�G�$��J�J�q�Mr;�fd�handlez	unclosed r*)rrrGr-r.r)rArr�r8s`  @r8�test_unclosed_filesz$TestMemLeakClass.test_unclosed_files�sN���	�
���t�(��
�]�]�6�;�;�0�0��d�8J�
K��L�L���L�
K�
K�s�A"�"A+c�h���fd�}g�d}|j||dd��t��|dzk(sJ�y)Nc�.���jddz�y)N�xxxxxxxxxxxxxxxxxxxxxxxxr%r&r(s�r8rz,TestMemLeakClass.test_tolerance.<locals>.fun�s����I�I�h��o�&r;r,ri�)rrrr-)rr�)rArrr)s   @r8�test_tolerancezTestMemLeakClass.test_tolerance�sG���	'���������u�1�8I�	�	
��2�w�%�!�)�#�#�#r;c�t�d�}|jt|�tjt�5|jt|�ddd�d�}tjtj
j�5|jt|�ddd�y#1swY�YxYw#1swYyxYw)Nc��ddzyr3rOrOr;r8�fun_1z2TestMemLeakClass.test_execute_w_exc.<locals>.fun_1�s	��
��Er;c��yrMrOrOr;r8�fun_2z2TestMemLeakClass.test_execute_w_exc.<locals>.fun_2�s��r;)�
execute_w_excrHrrGr�r-r.)rArBrDs   r8�test_execute_w_excz#TestMemLeakClass.test_execute_w_exc�s���	�	
���,�e�4�
�]�]�,�
-����w��.�.�	��]�]�6�;�;�0�0�
1����0�%�8�2�
1�
.�
-��2�
1�s�B"�B.�"B+�.B7N)r_r`rar rr!rr�r�r
rr4r;r?rFrOr;r8r
r
ss|���� �� �
0����[�[���
�?��;��[�[����)G��H��I�<��� 	�	$�9r;r
c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�TestFakePytestc���tj�}|j|�tjt	j
���}|j
|�}|S)N)�stream)�unittest�	TestSuite�addTest�TextTestRunnerr1r2�run)rA�klass�suite�runner�results     r8�run_test_classzTestFakePytest.run_test_class�sE���"�"�$��
�
�
�e���(�(����
�>�����E�"���
r;c���tjt�5}ddzddd�tjt�sJ�tjt
d��5}td��#1swY�LxYw#1swYnxYw	tjt
d��5}td��#1swYnxYw	t
jd�S#t$r}t|�dk(sJ�Yd}~yd}~wwxYw)Nr-rr9r*�bar�exception not raisedz"foo" does not match "bar")
rrGrH�
isinstance�valuerPrr-�AssertionError�str)rA�cm�errs   r8�test_raiseszTestFakePytest.test_raises�s���
�
�
� 1�
2�b�
��E�3��"�(�(�$5�6�6�6�
�
�
�
�%�
8�B��U�#�#�3�
2��9�
8��	7��#�#�J�e�<�� ��'�'�=�<��<�
�;�;�5�6�6���	<��s�8�;�;�;�;��	<�sA�A+�A7�+A4�7B�C
�B+�+B4�0C
�
	C0�C+�+C0c��tjjd��d��}|�dk(sJ�tjjd��Gd�d��}|�j�dk(sJ�y)Nrrc��yr�rOrOr;r8r9z%TestFakePytest.test_mark.<locals>.foo�s��r;r-c��eZdZd�Zy)�%TestFakePytest.test_mark.<locals>.Fooc��yr�rOr�s r8rVz)TestFakePytest.test_mark.<locals>.Foo.bar�s��r;N)r_r`rarVrOr;r8�Foorb�s��
r;rd)rr��xdist_grouprV)rAr9rds   r8�	test_markzTestFakePytest.test_mark�s{��	�	�	�	%�	%�8�	%�	4�	�
5�	��u��z��z�	�	�	�	%�	%�8�	%�	4�	�	�
5�	��u�y�y�{�a���r;c��Gd�dtj�}|j|d��}|j�sJ�t	|j
�dk(sJ�|j
dddk(sJ�Gd�dtj�}|j|d��}|j�sJ�t	|j
�dk(sJ�y)Nc�R�eZdZejjdd��d��Zy)�,TestFakePytest.test_skipif.<locals>.TestCaseTr�r�c��ddk(sJ�yr�rOr�s r8r9z0TestFakePytest.test_skipif.<locals>.TestCase.foo��
���A�v�
�vr;N�r_r`rarr�r�r9rOr;r8�TestCaseri�s*��
�
�
�
$�
$�T�(�
$�
;�
�<�
r;rmr9r-rr�c�R�eZdZejjdd��d��Zy)riFr�r�c��ddk(sJ�yr�rOr�s r8r9z0TestFakePytest.test_skipif.<locals>.TestCase.foo�rkr;NrlrOr;r8rmz,TestFakePytest.test_skipif.<locals>.TestCase�s*��
�
�
�
$�
$�U�8�
$�
<�
�=�
r;�rKrmrT�
wasSuccessfulr��skipped�rArmrSs   r8�test_skipifzTestFakePytest.test_skipif�s���	�x�(�(�	�
�$�$�X�e�_�5���#�#�%�%�%��6�>�>�"�a�'�'�'��~�~�a� ��#�x�/�/�/�	�x�(�(�	�
�$�$�X�e�_�5���#�#�%�%�%��6�>�>�"�a�'�'�'r;c���Gd�dtj�}|j|d��}|j�sJ�t	|j
�dk(sJ�|j
dddk(sJ�y)Nc��eZdZd�Zy)�*TestFakePytest.test_skip.<locals>.TestCasec�<�tjd�ddk(sJ�y)Nr�r-r)r�skipr�s r8r9z.TestFakePytest.test_skip.<locals>.TestCase.foo�s��� � ��*��A�v�
�vr;N)r_r`rar9rOr;r8rmrw�s��
r;rmr9r-rr�rprss   r8�	test_skipzTestFakePytest.test_skip�so��	�x�(�(�	�
�$�$�X�e�_�5���#�#�%�%�%��6�>�>�"�a�'�'�'��~�~�a� ��#�x�/�/�/r;c��|jt��}tj|�t	tj
j
|d�d�5	ddd�t	tj
j
|d�d�5}|jtjd�j��ddd�tjjtjd|�5t!j"t%j&��5t)j*�}ddd�j-�dk(sJ�	ddd�y#1swY��xYw#1swY��xYw#1swY�AxYw#1swYyxYw)N)�dirz__init__.pyrsztest_file.pyz�                import unittest

                class TestCase(unittest.TestCase):
                    def test_passed(self):
                        pass
                r
r-)rur
rir�rvrxr�rw�textwrap�dedent�lstriprrb�objectrlr�r/r3r1r2r�main�countTestCases)rA�tmpdirr|rQs    r8�	test_mainzTestFakePytest.test_mains�����T��*��
�����
�"�'�'�,�,�v�}�5�s�
;��<�
�"�'�'�,�,�v�~�6��
<��
�G�G�H�O�O�%���V�X�

�=��Z�Z�
�
�v�|�|�V�V�
<��+�+�B�K�K�M�:�#�(�(�*��;��'�'�)�Q�.�.�.�=�
<�<�
;��
<�
<��;�:��=�
<�s<�E�
3E%�4(E=�E1�1E=�E"�%E.�1E:	�6E=�=Fc���tjt�5tjdtd��ddd�	tjt�5tjdt
d��ddd�t
jd�S#1swY�]xYw#1swY�*xYw#t$rYnwxYwtjtd��5tjdtd��ddd�n#1swYnxYw	tjtd��5tjdtd��ddd�n#1swYnxYwt
jd�S#t$rYywxYw)Nr9r-)�
stacklevelrWr*rV)	r�warns�UserWarning�warnings�warn�DeprecationWarningrr-rZr�s r8�
test_warnszTestFakePytest.test_warnss��
�
�
�{�
+��M�M�%���;�,�	7��"�"�;�/��
�
�e�%7�A�F�0�
�;�;�5�6�6�,�
+��
0�/���	��	���
�
�{�%�
8��M�M�%���;�9�
8�
8��	7��"�"�;�e�<��
�
�e�[�Q�?�=�<�<��
�;�;�5�6�6���	��	�sk�B�B+�B�6B+�B�B(�$B+�+	B7�6B7�C;�;D�E*�#E	�	E*�	E�E*�*	E6�5E6c��tjtjj�5tjd��#1swYyxYw)Nr�)rrGr-r.r�s r8�	test_failzTestFakePytest.test_fail5s6��
�
�
�� 0� 0� :� :�
;��"�"�8�,�,�<�
;�s�A�A
N)r_r`rarTr^rfrtrzr�r�r�rOr;r8rHrH�s*���7�  �(�(	0�/�$7�6-r;rHc��eZdZd�Zd�Zy)�TestTestingUtilsc���tj�}t|�}|j�t	d�|j|j�D��d}|�|j�k(sJ�y)Nc3�2K�|]}|ddk(s�|���y�w)r-r�NrO��.0�xs  r8�	<genexpr>z:TestTestingUtils.test_process_namespace.<locals>.<genexpr>?s����D�1��Q�q�T�V�^�1�1���
�r)rlr�r�test�nextrn�gettersr�)rAr��nsrs    r8�test_process_namespacez'TestTestingUtils.test_process_namespace;sY���N�N���
�q�
!��
���	��D�b�g�g�b�j�j�1�D�D�Q�G���u����� � � r;c��t�}td�|j|j�D��d}|�t	j
�k(sJ�y)Nc3�2K�|]}|ddk(s�|���y�w)r-�net_if_addrsNrOr�s  r8r�z9TestTestingUtils.test_system_namespace.<locals>.<genexpr>Ds����L�1��Q�q�T�^�5K�1�1�r�r)r#r�rnr�rlr�)rAr�rs   r8�test_system_namespacez&TestTestingUtils.test_system_namespaceBsE��
�
���L�b�g�g�b�j�j�1�L�L�Q�O���u��+�+�-�-�-�-r;N)r_r`rar�r�rOr;r8r�r�:s��!�.r;r�c��eZdZd�Zy)�TestOtherUtilsc��ttjdd�ddd��sJ�tt��rJ�y)Nr9za b cr-r�r<)rr��
namedtuple�tupler�s r8�test_is_namedtuplez!TestOtherUtils.test_is_namedtupleIs<���C�[�3�3�E�7�C�A�q�!�L�M�M�M� ���)�)�)�)r;N)r_r`rar�rOr;r8r�r�Hs��*r;r�)?�__doc__r�r/r�r1rir�r�r�r}rKr�rrl�psutil.testsrrr�psutil._commonrrr	r
rrr
rrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r*rdr�r�r�r�rer
rHr�r�rOr;r8�<module>r�s?��8����	�	�
�������
�����&�$�(�#�!�1��#�'�'�'�$�)�#��'�$�4�&�&�*��&��)�#�$�)�'�"�(�&�%�B(��B(�J$��$�P*#�n�*#�ZI-�~�I-�XH1�>�H1�V�����h��'�K9�~�K9�(�K9�\u-�^�u-�p.�~�.�*�^�*r;
Back to Directory File Manager