From: Konstantin Khorenko <khorenko@virtuozzo.com>
Subject: Re: [Devel] [PATCH vz10 v2] selftests/iommu: skip when the mock device is not there
Date: Tue, 25 Aug 2026 16:50:45 +0200 [thread overview]
Message-ID: <caf33f83-7e15-4022-b6b1-f7e2e2bf499e@virtuozzo.com> (raw)
In-Reply-To: <20260825115029.1074947-1-eva.kurchatova@virtuozzo.com>
ack
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 8/25/26 13:50, Eva Kurchatova wrote:
> Both iommufd tests need the mock device the iommufd module registers
> under CONFIG_IOMMUFD_TEST, and they open /dev/iommu in every fixture
> without checking, so on a kernel that does not provide it every case
> fails on the open.
>
> Checking the open is not enough on its own. /dev/iommu appears as soon
> as the iommufd module is loaded, which says nothing about the mock
> device: the release config here is CONFIG_IOMMUFD=m with
> CONFIG_IOMMUFD_TEST unset, so the open succeeds and the tests fail later
> in the ioctls that drive the mock device instead. Only the debug config
> sets CONFIG_IOMMUFD_TEST.
>
> /sys/bus/iommufd_mock covers both, it exists only once the module is
> loaded and the kernel was built with CONFIG_IOMMUFD_TEST. Check for it
> once before handing over to the harness, rather than in each of the
> fixtures, and report a skip. test_harness_run() is what TEST_HARNESS_MAIN
> calls anyway, so the tests still run exactly as they did.
>
> https://virtuozzo.atlassian.net/browse/VSTOR-142443
> Feature: fix selftests
> Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
> ---
> tools/testing/selftests/iommu/iommufd.c | 15 ++++++++++++++-
> tools/testing/selftests/iommu/iommufd_fail_nth.c | 15 ++++++++++++++-
> 2 files changed, 28 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/iommu/iommufd.c b/tools/testing/selftests/iommu/iommufd.c
> index de348d641279..5e0309a7ec67 100644
> --- a/tools/testing/selftests/iommu/iommufd.c
> +++ b/tools/testing/selftests/iommu/iommufd.c
> @@ -3523,4 +3523,17 @@ TEST_F(iommufd_device_pasid, pasid_attach)
> test_cmd_mock_domain_replace(self->stdev_id, self->ioas_id);
> }
>
> -TEST_HARNESS_MAIN
> +static bool iommufd_mock_available(void)
> +{
> + return access("/sys/bus/iommufd_mock", F_OK) == 0;
> +}
> +
> +int main(int argc, char **argv)
> +{
> + if (!iommufd_mock_available())
> + ksft_exit_skip("no iommufd mock device, the tests need "
> + "CONFIG_IOMMUFD_TEST=y and the iommufd "
> + "module loaded\n");
> +
> + return test_harness_run(argc, argv);
> +}
> diff --git a/tools/testing/selftests/iommu/iommufd_fail_nth.c b/tools/testing/selftests/iommu/iommufd_fail_nth.c
> index 45c14323a618..a76cd19970c0 100644
> --- a/tools/testing/selftests/iommu/iommufd_fail_nth.c
> +++ b/tools/testing/selftests/iommu/iommufd_fail_nth.c
> @@ -745,4 +745,17 @@ TEST_FAIL_NTH(basic_fail_nth, device)
> return 0;
> }
>
> -TEST_HARNESS_MAIN
> +static bool iommufd_mock_available(void)
> +{
> + return access("/sys/bus/iommufd_mock", F_OK) == 0;
> +}
> +
> +int main(int argc, char **argv)
> +{
> + if (!iommufd_mock_available())
> + ksft_exit_skip("no iommufd mock device, the tests need "
> + "CONFIG_IOMMUFD_TEST=y and the iommufd "
> + "module loaded\n");
> +
> + return test_harness_run(argc, argv);
> +}
prev parent reply other threads:[~2026-08-25 14:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-25 11:50 Eva Kurchatova
2026-08-25 14:50 ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-25 14:50 ` Konstantin Khorenko [this message]
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=caf33f83-7e15-4022-b6b1-f7e2e2bf499e@virtuozzo.com \
--to=khorenko@virtuozzo.com \
/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.