File: //usr/local/lib64/python3.9/site-packages/psutil/tests/__pycache__/test_testutils.cpython-39.pyc
a
��?h�H � @ s� 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 ddlm 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$lm0Z0 dd%lm1Z1 dd&lm2Z2 dd'lm3Z3 dd(lm4Z4 G d)d*� d*e�Z5G d+d,� d,e�Z6G d-d.� d.e�Z7G d/d0� d0e�Z8G d1d2� d2e�Z9e)j:j;d3d4�G d5d6� d6e��Z<G d7d8� d8e�Z=G d9d:� d:e�Z>G d;d<� d<e�Z?dS )=z1Tests for testing utils (psutil.tests namespace).� N)�FREEBSD)�NETBSD)�POSIX)�open_binary)� open_text)�
supports_ipv6)�PY3)�
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)�mock)�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 @ sx e Zd Ze�d�dd� �Ze�d�dd� �Ze�d�dd� �Ze�d�dd � �Ze�d�d
d� �Z e�d�dd
� �Z
dS )�TestRetryDecoratorz
time.sleepc sF t ddd d�� fdd��}ttd��� |� dks4J �|jdksBJ �d S )N� � ��retries�intervalZlogfunc s � r� � � dd q dS �Nr+ r ��pop� ��queuer2 �G/usr/local/lib64/python3.9/site-packages/psutil/tests/test_testutils.py�fooI s
z2TestRetryDecorator.test_retry_success.<locals>.foo� )r �list�range�
call_count��self�sleepr6 r2 r3 r5 �test_retry_successE s
z%TestRetryDecorator.test_retry_successc sh t ddd d�� fdd��}ttd��� t�t�� |� W d � n1 sL0 Y |jdksdJ �d S )Nr* r+ r, c s � r� � � dd q dS r/ r0 r2 r3 r2 r5 r6 W s
z2TestRetryDecorator.test_retry_failure.<locals>.foo� )r r8 r9 r �raises�ZeroDivisionErrorr: r; r2 r3 r5 �test_retry_failureT s $z%TestRetryDecorator.test_retry_failurec C sV t tdd�dd� �}t�t�� |� W d � n1 s:0 Y |jdksRJ �d S )Nr+ )� exceptionr. c S s t �d S �N)� TypeErrorr2 r2 r2 r5 r6 e s z2TestRetryDecorator.test_exception_arg.<locals>.foor )r �
ValueErrorr r@ rE r: r; r2 r2 r5 �test_exception_argc s
$z%TestRetryDecorator.test_exception_argc C sX t dd d d�dd� �}t�t�� |� W d � n1 s<0 Y |jdksTJ �d S )Nr* r, c S s dd d S r/ r2 r2 r2 r2 r5 r6 q s z4TestRetryDecorator.test_no_interval_arg.<locals>.foor �r r r@ rA r: r; r2 r2 r5 �test_no_interval_argm s
$z'TestRetryDecorator.test_no_interval_argc C sX t ddd d�dd� �}t�t�� |� W d � n1 s<0 Y |jdksTJ �d S )Nr* r+ r, c S s dd d S r/ r2 r2 r2 r2 r5 r6 { s z0TestRetryDecorator.test_retries_arg.<locals>.foorH r; r2 r2 r5 �test_retries_argy s
$z#TestRetryDecorator.test_retries_argc C s: t �t�� tddd� W d � n1 s,0 Y d S )Nr* r+ )r- �timeout)r r@ rF r )r<