3
�[g� � b @ s� d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZ ddlmZ ddlmZ yddlZW n ek
�r dZY nX ddl Z ddl m!Z! ddl m"Z" dd l m#Z# dd
l m$Z$ ddl m%Z% ddl m&Z& dd
l m'Z' ddl m(Z( ddl)m*Z* ddl)m+Z+ ddl)m,Z, ddl)m-Z- ddl)m.Z. ddl/m0Z0 ddl/m1Z1 ddl/m2Z2 ddl/m3Z3 ddl/m4Z4 ddl/m5Z5 ddl/m6Z6 yddlm7Z7 W n< ek
�r` ej8� � ej9d� ddl7Z7W dQ R X Y nX e0�rrddl:Z:nddl;ZdZ:e&�r�ddl<m=Z= ddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjgMZ>dkej?kZ@de jAkZBdle jAk�pVdme jAkZCeB�p`eCZDdne jAkZEdoe jAkZFe"�r�eC�r�eGdp��ZHdqeHjI� kZJW dQ R X ndrZJejKd�kZLe
jM� dukZNe,dvdw� �ZOe#�r�eO� d�kZPeO� d�kZQndrZPdrZQdxZRd�ZSd�ZTd{ZUeD�r$eRd}9 ZReUd}9 ZUeSd~9 ZSeTd}9 ZTe jVdk�r>d�e jW� ZXnd�e jW� ZXd�ZYe0�rbd�jZd�d��Z[nd�Z[ej\� j]� d�kZ^e j_j`e j_jae j_jbec�d�d���Zde jAjed�e j_jaedd���Zfe j_j`e j_jbec��Zgehe jid��Zjehe d��Zkehe jid��Zlehe d��Zmehe jid��Znehe jid��Zoe&�oe' Zpehe d��Zqehe jid��Zrehe jid��Zsehe jid��Ztehe d��Zuyeu�o\eve jw� �ZxW n eyk
�rz drZxY nX ehe d��Zzehe d��Z{ehe jid��Z|e#�s�e!�o�e j}� dkZ~d�d�� Ze� \Z�Z�eGe j�d��Z�ej�e�j�� d�d�� e�e �D �Z�e�ed�e�� �Z�e�� Z�e�� Z�G d�dH� dHej��Z�d�d�� Z�e�d�d�dE��Z�e�d�dG� �Z�d�dF� Z�e�d�dB� �Z�e�d�d�� �Z�ej�eUfd�dC�Z�d�d�dD�Z�d�dZ� Z�d�dY� Z�G d�d�� d��Z�e�e j�deUd�d��d�d\� �Z�e�e2e�fdeUd�d��d�d�d]��Z�e�e�deUd�d��d�d[� �Z�d�dU� Z�d�d�� Z�ej�d�dT� �Z�d�dV� Z�d�d�dW�Z�d�d�dX�Z�G d�dS� dS�Z�edk�r<e�ZG d�d�� d�ej��Z�e�e_�G d�dN� dNe��Z�ej�j�e@d�dG d�dM� dMe���Z�d�dQ� Z�d�dR� Z�d�dDŽ Z�G d�dO� dO�Z�G d�dP� dP�Z�eRfd�dL�Z�d�d�dJ�Z�d�d�dK�Z�d�d�d`�Z�eedfd�da�Z�ejfd�db�Z�d�d�dc�Z�d�dd� Z�ej�d�de� �Z�d�d^� Z�d�dք Z�d�d_� Z�d�df� Z�d�dg� Z�d�dh� Z�d�dj� Z�e&�rpej�d�d�di��Z�nej�d�d�di��Z�ej�d�d߄ �Z�e&�r�ejej�d�d� � dS )�zTest utilities.� )�print_functionN)�AF_INET)�AF_INET6)�SOCK_STREAM)�AIX)�LINUX)�MACOS)�NETBSD)�OPENBSD)�POSIX)�SUNOS)�WINDOWS)�bytes2human)�debug)�memoize)�print_color)�
supports_ipv6)�PY3)�FileExistsError)�FileNotFoundError)�range)�super)�unicode)�which)�mock�ignore)�wait_pid�APPVEYOR�DEVNULL�GLOBAL_TIMEOUT�TOLERANCE_SYS_MEM�
NO_RETRIES�PYPY�
PYTHON_EXE�PYTHON_EXE_ENV�ROOT_DIR�SCRIPTS_DIR�
TESTFN_PREFIX�UNICODE_SUFFIX�INVALID_UNICODE_SUFFIX�
CI_TESTING�VALID_PROC_STATUSES�TOLERANCE_DISK_USAGE�IS_64BIT�HAS_CPU_AFFINITY�HAS_CPU_FREQ�HAS_ENVIRON�HAS_PROC_IO_COUNTERS�
HAS_IONICE�HAS_MEMORY_MAPS�HAS_PROC_CPU_NUM�
HAS_RLIMIT�HAS_SENSORS_BATTERY�HAS_BATTERY�HAS_SENSORS_FANS�HAS_SENSORS_TEMPERATURES�HAS_NET_CONNECTIONS_UNIX�MACOS_11PLUS�MACOS_12PLUS�COVERAGE�AARCH64� QEMU_USER�PYTEST_PARALLEL�pyrun� terminate�
reap_children�spawn_testproc�spawn_zombie�spawn_children_pair�
ThreadTask�unittest�skip_on_access_denied�skip_on_not_implemented�retry_on_failure�TestMemoryLeak�PsutilTestCase�process_namespace�system_namespace�
print_sysinfo�is_win_secure_system_proc�fake_pytest�chdir�safe_rmpath�
create_py_exe�create_c_exe�
get_testfn�
get_winver�kernel_version�
call_until�wait_for_pid�
wait_for_file�check_net_address�filter_proc_net_connections�
get_free_port�bind_socket�bind_unix_socket�tcp_socketpair�unix_socketpair�create_sockets�
reload_module�import_module_by_path�warn�copyload_shared_lib�
is_namedtuple�__pypy__�GITHUB_ACTIONS�CIBUILDWHEELZCOVERAGE_RUNZPYTEST_XDIST_WORKERz/proc/1/cmdlinez
/bin/qemu-F� � Zaarch64c C sn t j� d } ttt| jd�d d� ��}|d
krjtjtj dddgd d
idd�} ttt| jd�d d� ��}|S )Nr �.rm �
� z-sSz-cz-import platform; print(platform.mac_ver()[0])ZSYSTEM_VERSION_COMPAT�0T)�env�universal_newlines)rp rq )
�platform�mac_ver�tuple�map�int�split�
subprocess�check_output�sys�
executable)Zversion_str�version� r� �A/usr/local/lib64/python3.6/site-packages/psutil/tests/__init__.py�
macos_version� s r� rp � � � i � � �javaz$psutil-%s-z@psutil-%s-u -ƒőős f���utf8�surrogateescapeu fÀ�ascii�us-asciiz..ZPSUTIL_SCRIPTS_DIR�scripts�cpu_affinity�cpu_freq�environ�
getloadavg�ionice�memory_maps�net_io_counters�cpu_num�io_counters�rlimit�sensors_battery�sensors_fans�sensors_temperatures�threadsc C s� dd� } t jj� }ttdd �}trFtjd
krF|d k rFtj|d< |