ruạṛ
3 �^gn� � @ s d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddl"m#Z# ddl"m$Z$ ddl"m%Z% ddl"m&Z& ddl"m'Z' ddl"m(Z( ddl"m)Z) ddl"m*Z* ddl"m+Z+ ddl"m,Z, ddl"m-Z- ddl"m.Z. ddl"m/Z/ dd l"m0Z0 dd!l"m1Z1 dd"l"m2Z2 dd#l"m3Z3 dd$l"m4Z4 dd%l"m5Z5 dd&l"m6Z6 dd'l"m7Z7 dd(l"m8Z8 dd)l"m9Z9 dd*l"m:Z: dd+l"m;Z; dd,l"m<Z< dd-l"m=Z= dd.l"m>Z> dd/l"m?Z? dd0l"m@Z@ dd1l"mAZA dd2l"mBZB G d3d4� d4e4�ZCe�r�ejD� dk�r�G d5d6� d6eC�ZEG d7d8� d8e4�ZFdS )9zTests for psutil.Process class.� N)�AIX)�BSD)�LINUX)�MACOS)�NETBSD)�OPENBSD)�OSX)�POSIX)�SUNOS)�WINDOWS)� open_text)�PY3)�FileNotFoundError)�long)�redirect_stderr)�super)�APPVEYOR)� CI_TESTING)�GITHUB_ACTIONS)�GLOBAL_TIMEOUT)�HAS_CPU_AFFINITY)�HAS_ENVIRON)� HAS_IONICE)�HAS_MEMORY_MAPS)�HAS_PROC_CPU_NUM)�HAS_PROC_IO_COUNTERS)� HAS_RLIMIT)�HAS_THREADS)�MACOS_11PLUS)�PYPY)� PYTHON_EXE)�PYTHON_EXE_ENV)� QEMU_USER)�PsutilTestCase)� ThreadTask)� call_until)�copyload_shared_lib)�create_c_exe)� create_py_exe)�mock)�process_namespace)�pytest)� reap_children)�retry_on_failure)�sh)�skip_on_access_denied)�skip_on_not_implemented)�wait_for_pidc @ s e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Ze j je dd �dd� �Z dd� Ze j jedd �dd� �Zdd� Zdd� Zdd� Zdd� Zdd� Ze j jedd �d d!� �Ze j jedd �d"d#� �Ze j je d$d �d%d&� �Zd'd(� Ze j je d)d �d*d+� �Ze j je d$d �eed,�d-d.� ��Z e j je! d$d �e j je d/d �d0d1� ��Z"e j je! d$d �e j je# d2d �d3d4� ��Z$e j je% d$d �d5d6� �Z&e j je% d$d �d7d8� �Z'e j je% d$d �d9d:� �Z(e j je% d$d �d;d<� �Z)e j je% d$d �d=d>� �Z*d?d@� Z+e j je# dAd �dBdC� �Z,e j je- d$d �dDdE� �Z.e/� e0e1d,�e j je- d$d �dFdG� ���Z2e/� dHdI� �Z3dJdK� Z4e j je5 d$d �dLdM� �Z6e j je5 d$d �dNdO� �Z7dPdQ� Z8dRdS� Z9e j jedd �dTdU� �Z:dVdW� Z;e j je<dXd �dYdZ� �Z=d[d\� Z>e j je<�ped]d �e j jed^d �d_d`� ��Z?e j je@dad �e j jeAdbd �e j je<dXd �e j jedcd �ddde� ����ZBe j je d)d �dfdg� �ZCe j je d)d �dhdi� �ZDdjdk� ZEe j jedd �dldm� �ZFdndo� ZGdpdq� ZHdrds� ZIe j jeJ d$d �dtdu� �ZKe j jeJ d$d �dvdw� �ZLe j jeJ d$d �dxdy� �ZMe j jeNdzd �e j jeOd{d �d|d}� ��ZPe j jeNdzd �e j jeOd{d �d~d� ��ZQe j je d)d �d�d�� �ZReed,�e j jeS�p�ed�d �d�d�� ��ZTd�d�� ZUd�d�� ZVd�d�� ZWe j jedd �e/� d�d�� ��ZXd�d�� ZYd�d�� ZZd�d�� Z[d�d�� Z\d�d�� Z]d�d�� Z^d�d�� Z_d�d�� Z`d�d�� Zad�d�� Zbd�d�� Zce j je d)d �d�d�� �Zde j je d)d �d�d�� �Zee j je d)d �d�d�� �Zfd�d�� Zgd�d�� Zhe j jei d$d �d�d�� �Zje j jei d$d �e j je d)d �e j jekd�d �e j jed�d �d�d�� ����Zld�S )��TestProcesszTests for psutil.Process class.c O sB | j ||�}ytj|j�S tjk r< | j|j� � Y nX d S )N)�spawn_testproc�psutil�Process�pid� NoSuchProcessZ assertPidGone)�self�args�kwargs�sproc� r<