From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Alexandr Moshkov <dtalexundeer@yandex-team.ru>
Cc: qemu-devel@nongnu.org, Cleber Rosa <crosa@redhat.com>,
"yc-core @ yandex-team . ru" <yc-core@yandex-team.ru>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH v4 1/2] tests/functional: add skipLockedMemoryTest decorator
Date: Thu, 17 Apr 2025 10:43:02 +0100 [thread overview]
Message-ID: <aADNJr3eGBJiLt4H@redhat.com> (raw)
In-Reply-To: <20250417072244.147510-2-dtalexundeer@yandex-team.ru>
On Thu, Apr 17, 2025 at 12:22:45PM +0500, Alexandr Moshkov wrote:
> 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>
> ---
> tests/functional/qemu_test/__init__.py | 2 +-
> tests/functional/qemu_test/decorators.py | 19 +++++++++++++++++++
> 2 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/tests/functional/qemu_test/__init__.py b/tests/functional/qemu_test/__init__.py
> index af41c2c6a2..6e666a059f 100644
> --- a/tests/functional/qemu_test/__init__.py
> +++ b/tests/functional/qemu_test/__init__.py
> @@ -15,6 +15,6 @@
> 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
> diff --git a/tests/functional/qemu_test/decorators.py b/tests/functional/qemu_test/decorators.py
> index 50d29de533..9f3062d020 100644
> --- a/tests/functional/qemu_test/decorators.py
> +++ b/tests/functional/qemu_test/decorators.py
> @@ -5,6 +5,7 @@
> import importlib
> import os
> import platform
> +import subprocess
> from unittest import skipIf, skipUnless
>
> from .cmd import which
> @@ -131,3 +132,21 @@ 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):
> + ulimit_memory = subprocess.run(
> + ['bash', '-c', 'ulimit -l'],
> + capture_output=True,
> + text=True,
> + ).stdout
You should be able to use resource.getrlimit() rather than spawning
a process.
> +
> + return skipUnless(ulimit_memory == 'unlimited' or int(ulimit_memory) >= locked_memory,
> + f'Test required {locked_memory} kB of available locked memory')
> --
> 2.34.1
>
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-04-17 9:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-17 7:22 [PATCH v4 0/2] tests/functional: add memlock tests Alexandr Moshkov
2025-04-17 7:22 ` [PATCH v4 1/2] tests/functional: add skipLockedMemoryTest decorator Alexandr Moshkov
2025-04-17 9:43 ` Daniel P. Berrangé [this message]
2025-04-17 7:22 ` [PATCH v4 2/2] tests/functional: add memlock tests Alexandr Moshkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aADNJr3eGBJiLt4H@redhat.com \
--to=berrange@redhat.com \
--cc=crosa@redhat.com \
--cc=dtalexundeer@yandex-team.ru \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=yc-core@yandex-team.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.