mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
tests/functional: add skipLockedMemoryTest decorator
Used in future commit to skipping execution of a tests if the system's locked memory limit is below the required threshold. Signed-off-by: Alexandr Moshkov <dtalexundeer@yandex-team.ru> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250605065908.299979-2-dtalexundeer@yandex-team.ru> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
3f11e5f400
commit
23c90999f6
2 changed files with 19 additions and 1 deletions
|
@ -15,6 +15,6 @@ from .testcase import QemuBaseTest, QemuUserTest, QemuSystemTest
|
|||
from .linuxkernel import LinuxKernelTest
|
||||
from .decorators import skipIfMissingCommands, skipIfNotMachine, \
|
||||
skipFlakyTest, skipUntrustedTest, skipBigDataTest, skipSlowTest, \
|
||||
skipIfMissingImports, skipIfOperatingSystem
|
||||
skipIfMissingImports, skipIfOperatingSystem, skipLockedMemoryTest
|
||||
from .archive import archive_extract
|
||||
from .uncompress import uncompress
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
import importlib
|
||||
import os
|
||||
import platform
|
||||
import resource
|
||||
from unittest import skipIf, skipUnless
|
||||
|
||||
from .cmd import which
|
||||
|
@ -131,3 +132,20 @@ def skipIfMissingImports(*args):
|
|||
|
||||
return skipUnless(has_imports, 'required import(s) "%s" not installed' %
|
||||
", ".join(args))
|
||||
|
||||
'''
|
||||
Decorator to skip execution of a test if the system's
|
||||
locked memory limit is below the required threshold.
|
||||
Takes required locked memory threshold in kB.
|
||||
Example:
|
||||
|
||||
@skipLockedMemoryTest(2_097_152)
|
||||
'''
|
||||
def skipLockedMemoryTest(locked_memory):
|
||||
# get memlock hard limit in bytes
|
||||
_, ulimit_memory = resource.getrlimit(resource.RLIMIT_MEMLOCK)
|
||||
|
||||
return skipUnless(
|
||||
ulimit_memory == resource.RLIM_INFINITY or ulimit_memory >= locked_memory * 1024,
|
||||
f'Test required {locked_memory} kB of available locked memory',
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue