U |f2 @ s d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm Z dd lmZ dd lmZ ddlm Z ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ G dd deZG dd deZG dd deZ G d d! d!eZ!G d"d# d#eZ"e#d$krdd%l$m%Z% e%e& dS )&zContracts 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_versionc @ sD e Zd Zdd Zdd Zdd Zdd Zee o2e d d d ZdS ) TestAvailConstantsAPIsc C s | ttdtptpt d S )NZPROCFS_PATH)assertEqualhasattrpsutilr r r self r N/opt/alt/python38/lib64/python3.8/site-packages/psutil/tests/test_contracts.pytest_PROCFS_PATH3 s z'TestAvailConstantsAPIs.test_PROCFS_PATHc C sj | j }|ttdt |ttdt |ttdt |ttdt |ttdt |ttdt d S )NZABOVE_NORMAL_PRIORITY_CLASSZBELOW_NORMAL_PRIORITY_CLASSZHIGH_PRIORITY_CLASSZIDLE_PRIORITY_CLASSZNORMAL_PRIORITY_CLASSZREALTIME_PRIORITY_CLASSr r r r r Zaer r r test_win_priority6 s z(TestAvailConstantsAPIs.test_win_priorityc C sJ | j }|ttdt |ttdt |ttdt |ttdt d S )NZIOPRIO_CLASS_NONEZIOPRIO_CLASS_RTZIOPRIO_CLASS_BEZIOPRIO_CLASS_IDLEr r r r r# r r r test_linux_ioprio_linux? s z.TestAvailConstantsAPIs.test_linux_ioprio_linuxc C sJ | j }|ttdt |ttdt |ttdt |ttdt d S )NZIOPRIO_HIGHZ IOPRIO_NORMALZ IOPRIO_LOWZIOPRIO_VERYLOWr" r# r r r test_linux_ioprio_windowsF s z0TestAvailConstantsAPIs.test_linux_ioprio_windows%unsupported on GITHUB_ACTIONS + LINUXc C s | j }|ttdtpt |ttdtp*t |ttdtp>t |ttdtpRt |ttdtpft |ttdtpzt |ttdtpt |ttdtpt |ttd tpt |ttd tpt |ttdtpt |ttdt trt d kr|ttdt t dkr0|ttdt t dkrL|ttdt t dkrh|ttdt t d kr|ttdt |ttdt |ttdt |ttdt d S )NZ RLIM_INFINITYZ RLIMIT_ASZRLIMIT_COREZ RLIMIT_CPUZRLIMIT_DATAZRLIMIT_FSIZEZRLIMIT_MEMLOCKZ RLIMIT_NOFILEZRLIMIT_NPROCZ RLIMIT_RSSZRLIMIT_STACKZRLIMIT_LOCKS) ZRLIMIT_MSGQUEUE)r) r* ZRLIMIT_NICEZ RLIMIT_RTPRIO)r) r* Z RLIMIT_RTTIMEZRLIMIT_SIGPENDINGZRLIMIT_SWAPZ RLIMIT_SBSIZEZRLIMIT_NPTS)r r r r r r r r# r r r test_rlimitM s6 z"TestAvailConstantsAPIs.test_rlimitN)__name__ __module____qualname__r! r$ r&