HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/psutil/tests/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/psutil/tests/__pycache__/test_contracts.cpython-36.pyc
3

�[g!1�@s�dZddlZddlZddlZddlmZddlmZddlmZddlmZddlmZddlm	Z	dd	lm
Z
dd
lmZddlmZddl
mZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZGdd�de�ZGdd�de�ZGdd �d e�Z Gd!d"�d"e�Z!Gd#d$�d$e�Z"dS)%z�Contracts tests. These tests mainly check API sanity in terms of
returned types and APIs availability.
Some of these are duplicates of tests test_system.py and test_process.py.
�N)�AIX)�FREEBSD)�LINUX)�MACOS)�NETBSD)�OPENBSD)�POSIX)�SUNOS)�WINDOWS)�long)�GITHUB_ACTIONS)�HAS_CPU_FREQ)�HAS_NET_IO_COUNTERS)�HAS_SENSORS_FANS)�HAS_SENSORS_TEMPERATURES)�PYPY)�	QEMU_USER)�SKIP_SYSCONS)�PsutilTestCase)�create_sockets)�enum)�
is_namedtuple)�kernel_version)�pytestc@sHeZdZdd�Zdd�Zdd�Zdd�Zejj	e
o4ed	d
�dd��Zd
S)�TestAvailConstantsAPIscCsttd�tptptkst�dS)N�PROCFS_PATH)�hasattr�psutilrr	r�AssertionError)�self�r �G/usr/local/lib64/python3.6/site-packages/psutil/tests/test_contracts.py�test_PROCFS_PATH3sz'TestAvailConstantsAPIs.test_PROCFS_PATHcCsj|j}|ttd�t�|ttd�t�|ttd�t�|ttd�t�|ttd�t�|ttd�t�dS)NZABOVE_NORMAL_PRIORITY_CLASSZBELOW_NORMAL_PRIORITY_CLASSZHIGH_PRIORITY_CLASSZIDLE_PRIORITY_CLASSZNORMAL_PRIORITY_CLASSZREALTIME_PRIORITY_CLASS)�assertEqualrrr
)r�aer r r!�test_win_priority6sz(TestAvailConstantsAPIs.test_win_prioritycCsJ|j}|ttd�t�|ttd�t�|ttd�t�|ttd�t�dS)NZIOPRIO_CLASS_NONEZIOPRIO_CLASS_RTZIOPRIO_CLASS_BEZIOPRIO_CLASS_IDLE)r#rrr)rr$r r r!�test_linux_ioprio_linux?s
z.TestAvailConstantsAPIs.test_linux_ioprio_linuxcCsJ|j}|ttd�t�|ttd�t�|ttd�t�|ttd�t�dS)NZIOPRIO_HIGHZ
IOPRIO_NORMALZ
IOPRIO_LOWZIOPRIO_VERYLOW)r#rrr
)rr$r r r!�test_linux_ioprio_windowsFs
z0TestAvailConstantsAPIs.test_linux_ioprio_windowsz%unsupported on GITHUB_ACTIONS + LINUX)�reasoncCs�|j}|ttd�tpt�|ttd�tp*t�|ttd�tp>t�|ttd�tpRt�|ttd�tpft�|ttd�tpzt�|ttd�tp�t�|ttd�tp�t�|ttd	�tp�t�|ttd
�tp�t�|ttd�tp�t�|ttd�t�t�r�t�dk�r|ttd�t�t�dk�r0|ttd�t�t�dk�rL|ttd�t�t�dk�rh|ttd�t�t�dk�r�|ttd�t�|ttd�t�|ttd�t�|ttd�t�dS)NZ
RLIM_INFINITYZ	RLIMIT_ASZRLIMIT_COREZ
RLIMIT_CPUZRLIMIT_DATAZRLIMIT_FSIZEZRLIMIT_MEMLOCKZ
RLIMIT_NOFILEZRLIMIT_NPROCZ
RLIMIT_RSSZRLIMIT_STACKZRLIMIT_LOCKS���ZRLIMIT_MSGQUEUE�ZRLIMIT_NICEZ
RLIMIT_RTPRIO�Z
RLIMIT_RTTIMEZRLIMIT_SIGPENDINGZRLIMIT_SWAPZ
RLIMIT_SBSIZEZRLIMIT_NPTS)r)r*r+)r)r*r,)r)r*r,)r)r*r-)r)r*r+)r#rrrrrr)rr$r r r!�test_rlimitMs6z"TestAvailConstantsAPIs.test_rlimitN)
�__name__�
__module__�__qualname__r"r%r&r'r�mark�skipifrrr.r r r r!r2s	rc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestAvailSystemAPIscCsttd�tkst�dS)NZwin_service_iter)rrr
r)rr r r!�test_win_service_iterrsz)TestAvailSystemAPIs.test_win_service_itercCsttd�tkst�dS)NZwin_service_get)rrr
r)rr r r!�test_win_service_getusz(TestAvailSystemAPIs.test_win_service_getcCs&ttd�tptptptptks"t�dS)N�cpu_freq)rrrrr
rrr)rr r r!�
test_cpu_freqxsz!TestAvailSystemAPIs.test_cpu_freqcCsttd�tptkst�dS)N�sensors_temperatures)rrrrr)rr r r!�test_sensors_temperatures}sz-TestAvailSystemAPIs.test_sensors_temperaturescCsttd�tkst�dS)N�sensors_fans)rrrr)rr r r!�test_sensors_fans�sz%TestAvailSystemAPIs.test_sensors_fanscCs"ttd�tptptptkst�dS)NZsensors_battery)rrrr
rrr)rr r r!�test_battery�sz TestAvailSystemAPIs.test_batteryN)	r/r0r1r5r6r8r:r<r=r r r r!r4qsr4c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zej	j
eo<edd�d
d��Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�TestAvailProcessAPIscCs4ttjd�tp(tp(tp(tp(tp(tp(t	p(t
ks0t�dS)N�environ)rr�Processrrr
rr	rrrr)rr r r!�test_environ�s
z!TestAvailProcessAPIs.test_environcCsttjd�tkst�dS)N�uids)rrr@rr)rr r r!�	test_uids�szTestAvailProcessAPIs.test_uidscCsttjd�tkst�dS)NrB)rrr@rr)rr r r!�	test_gids�szTestAvailProcessAPIs.test_gidscCsttjd�tkst�dS)N�terminal)rrr@rr)rr r r!�
test_terminal�sz"TestAvailProcessAPIs.test_terminalcCsttjd�tptkst�dS)N�ionice)rrr@rr
r)rr r r!�test_ionice�sz TestAvailProcessAPIs.test_ionicez%unsupported on GITHUB_ACTIONS + LINUX)r(cCsttjd�tptkst�dS)NZrlimit)rrr@rrr)rr r r!r.�sz TestAvailProcessAPIs.test_rlimitcCs"ttjd�}|tptkst�dS)NZio_counters)rrr@rr	r)r�hasitr r r!�test_io_counters�sz%TestAvailProcessAPIs.test_io_counterscCsttjd�tkst�dS)NZnum_fds)rrr@rr)rr r r!�test_num_fds�sz!TestAvailProcessAPIs.test_num_fdscCsttjd�tkst�dS)NZnum_handles)rrr@r
r)rr r r!�test_num_handles�sz%TestAvailProcessAPIs.test_num_handlescCs ttjd�tptptkst�dS)NZcpu_affinity)rrr@rr
rr)rr r r!�test_cpu_affinity�s
z&TestAvailProcessAPIs.test_cpu_affinitycCs ttjd�tptptkst�dS)NZcpu_num)rrr@rrr	r)rr r r!�test_cpu_num�s
z!TestAvailProcessAPIs.test_cpu_numcCs*ttjd�}|tptptptks&t�dS)NZmemory_maps)rrr@rrrrr)rrIr r r!�test_memory_maps�sz%TestAvailProcessAPIs.test_memory_mapsN)r/r0r1rArCrDrFrHrr2r3rrr.rJrKrLrMrNrOr r r r!r>�sr>c@s&eZdZdZedd��Zedfdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zej
jeoZej�dkdd�ej
jedd�dd���Zdd�Zdd�Zej
jedd�dd��Zdd�Zej
jedd�dd ��Zej
jedd�d!d"��Zej
jedd�d#d$��Zej
jedd�d%d&��Z d'd(�Z!d)d*�Z"d+S),�TestSystemAPITypesz�Check the return types of system related APIs.
    Mainly we want to test we never return unicode on Python 2, see:
    https://github.com/giampaolo/psutil/issues/1039.
    cCstj�|_dS)N)rr@�proc)�clsr r r!�
setUpClass�szTestSystemAPITypes.setUpClassTcCs<t|�st�x*|D]"}t||�s$t�|r|dkst�qWdS)Nr)rr�
isinstance)r�nt�type_Zgezero�nr r r!�assert_ntuple_of_nums�s

z(TestSystemAPITypes.assert_ntuple_of_numscCs2|jtj��xtjdd�D]}|j|�qWdS)NT)Zpercpu)rXrZ	cpu_times)rrUr r r!�test_cpu_times�sz!TestSystemAPITypes.test_cpu_timescCs0ttjdd�t�st�ttjdd�t�s,t�dS)N)�intervalg�h㈵��>)rTrZcpu_percent�floatr)rr r r!�test_cpu_percent�sz#TestSystemAPITypes.test_cpu_percentcCs(|jtjdd��|jtjdd��dS)N)rZg-C��6?)rXrZcpu_times_percent)rr r r!�test_cpu_times_percent�sz)TestSystemAPITypes.test_cpu_times_percentcCsttj�t�st�dS)N)rTr�	cpu_count�intr)rr r r!�test_cpu_count�sz!TestSystemAPITypes.test_cpu_countZarm64zskipped due to #1892)r(z
not supportedcCs2tj�dkrtjd��|jtj�tttfd�dS)Nzcpu_freq() returns None)rV)rr7r�skiprXr[r_r)rr r r!r8�s
z TestSystemAPITypes.test_cpu_freqcCsBx<tjdd�j�D](\}}t|t�s(t�|j|ttfd�qWdS)NT)Zperdisk)rV)	rZdisk_io_counters�itemsrT�strrrXr_r)r�k�vr r r!�test_disk_io_counters�sz(TestSystemAPITypes.test_disk_io_counterscCsVxPtj�D]D}t|jt�st�t|jt�s.t�t|jt�s>t�t|jt�s
t�q
WdS)N)	rZdisk_partitionsrT�devicercr�
mountpoint�fstype�opts)rZdiskr r r!�test_disk_partitions�s
z'TestSystemAPITypes.test_disk_partitionsz
requires rootcCsRt��Btjd�}t|�tt|��ks*t�x|D]}t|�s0t�q0WWdQRXdS)N�all)rrZnet_connections�len�setrr)r�retZconnr r r!�test_net_connectionss


z'TestSystemAPITypes.test_net_connectionscCs�x�tj�j�D]�\}}t|t�s$t�x~|D]v}tdk	rPtrPt|jtj	�s`t�nt|jt
�s`t�t|jt�spt�t|jtt
d�f�s�t�t|jtt
d�f�s*t�q*WqWdS)N)rZnet_if_addrsrbrTrcrrr�family�IntEnumr_�address�netmask�type�	broadcast)r�ifname�addrs�addrr r r!�test_net_if_addrss
z$TestSystemAPITypes.test_net_if_addrszQEMU user not supportedcCs�x�tj�j�D]r\}}t|t�s$t�t|jt�s4t�tdk	rPt|j	tj
�s`t�nt|j	t�s`t�t|jt�spt�t|j
t�st�qWdS)N)rZnet_if_statsrbrTrcr�isup�boolr�duplexrrr_�speed�mtu)rrw�infor r r!�test_net_if_statssz$TestSystemAPITypes.test_net_if_statscCs(x"tjdd�D]}t|t�st�qWdS)NT)Zpernic)rZnet_io_countersrTrcr)rrwr r r!�test_net_io_counters"sz'TestSystemAPITypes.test_net_io_counterscCsdx^tj�j�D]N\}}t|t�s$t�x6|D].}t|jt�s>t�t|jtt	t
d�f�s*t�q*WqWdS)N)rr;rbrTrcr�label�currentr[r_ru)r�name�units�unitr r r!r<(s

z$TestSystemAPITypes.test_sensors_fanscCs�x�tj�j�D]�\}}t|t�s$t�xj|D]b}t|jt�s>t�t|jtt	t
d�f�sXt�t|jtt	t
d�f�srt�t|jtt	t
d�f�s*t�q*WqWdS)N)
rr9rbrTrcrr�r�r[r_ru�high�critical)rr�r�r�r r r!r:1s
z,TestSystemAPITypes.test_sensors_temperaturescCsttj�t�st�dS)N)rTrZ	boot_timer[r)rr r r!�test_boot_time<sz!TestSystemAPITypes.test_boot_timecCsnxhtj�D]\}t|jt�st�t|jttd�f�s6t�t|jttd�f�sNt�t|j	t
td�f�s
t�q
WdS)N)rZusersrTr�rcrrEru�host�pidr_)r�userr r r!�
test_users@s
zTestSystemAPITypes.test_usersN)#r/r0r1�__doc__�classmethodrSr[rXrYr\r]r`rr2r3r�platform�machiner
r8rfrkrrprzrr�rr�rr<rr:r�r�r r r r!rP�s(

	rPc@s&eZdZejjedd�dd��ZdS)�TestProcessWaitTypez	not POSIX)r(cCs\tj|j�j�}|j�|j�}|tjks0t�t	dk	rJt
|t	j�sXt�nt
|t�sXt�dS)N)
rr@Zspawn_testprocr��	terminate�wait�signal�SIGTERMrrrTrrr_)r�p�coder r r!�test_negative_signalJsz(TestProcessWaitType.test_negative_signalN)r/r0r1rr2r3rr�r r r r!r�Isr�)#r�r�r�rrrrrrrrr	r
Zpsutil._compatrZpsutil.testsrr
rrrrrrrrrrrrrr4r>rPr�r r r r!�<module>
sB?>