From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eva Kurchatova Date: Fri, 21 Aug 2026 18:05:55 +0300 Subject: [Devel] [PATCH vz10] selftests/iommu: skip when /dev/iommu is not available Message-ID: <20260821150557.792945-1-eva.kurchatova@virtuozzo.com> List-Id: Without iommufd all 237 subtests fail in FIXTURE_SETUP on the open(). https://virtuozzo.atlassian.net/browse/VSTOR-142443 Feature: fix selftests Signed-off-by: Eva Kurchatova --- tools/testing/selftests/iommu/iommufd.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/testing/selftests/iommu/iommufd.c b/tools/testing/selftests/iommu/iommufd.c index de348d641279..0625e1596bbf 100644 --- a/tools/testing/selftests/iommu/iommufd.c +++ b/tools/testing/selftests/iommu/iommufd.c @@ -66,6 +66,8 @@ FIXTURE(iommufd) FIXTURE_SETUP(iommufd) { self->fd = open("/dev/iommu", O_RDWR); + if (self->fd < 0) + SKIP(return, "/dev/iommu is not available"); ASSERT_NE(-1, self->fd); } @@ -254,6 +256,8 @@ FIXTURE_VARIANT(change_process) FIXTURE_SETUP(change_process) { self->fd = open("/dev/iommu", O_RDWR); + if (self->fd < 0) + SKIP(return, "/dev/iommu is not available"); ASSERT_NE(-1, self->fd); drop_cap_ipc_lock(_metadata); @@ -360,6 +364,8 @@ FIXTURE_SETUP(iommufd_ioas) self->fd = open("/dev/iommu", O_RDWR); + if (self->fd < 0) + SKIP(return, "/dev/iommu is not available"); ASSERT_NE(-1, self->fd); test_ioctl_ioas_alloc(&self->ioas_id); @@ -1641,6 +1647,8 @@ FIXTURE_SETUP(iommufd_mock_domain) unsigned int i; self->fd = open("/dev/iommu", O_RDWR); + if (self->fd < 0) + SKIP(return, "/dev/iommu is not available"); ASSERT_NE(-1, self->fd); test_ioctl_ioas_alloc(&self->ioas_id); @@ -2114,6 +2122,8 @@ FIXTURE_SETUP(iommufd_dirty_tracking) } self->fd = open("/dev/iommu", O_RDWR); + if (self->fd < 0) + SKIP(return, "/dev/iommu is not available"); ASSERT_NE(-1, self->fd); mmap_flags = MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED; @@ -2484,6 +2494,8 @@ FIXTURE_SETUP(vfio_compat_mock_domain) }; self->fd = open("/dev/iommu", O_RDWR); + if (self->fd < 0) + SKIP(return, "/dev/iommu is not available"); ASSERT_NE(-1, self->fd); /* Create what VFIO would consider a group */ @@ -2773,6 +2785,8 @@ FIXTURE_VARIANT(iommufd_viommu) FIXTURE_SETUP(iommufd_viommu) { self->fd = open("/dev/iommu", O_RDWR); + if (self->fd < 0) + SKIP(return, "/dev/iommu is not available"); ASSERT_NE(-1, self->fd); test_ioctl_ioas_alloc(&self->ioas_id); test_ioctl_set_default_memory_limit(); @@ -3236,6 +3250,8 @@ FIXTURE_VARIANT(iommufd_device_pasid) FIXTURE_SETUP(iommufd_device_pasid) { self->fd = open("/dev/iommu", O_RDWR); + if (self->fd < 0) + SKIP(return, "/dev/iommu is not available"); ASSERT_NE(-1, self->fd); test_ioctl_ioas_alloc(&self->ioas_id); -- 2.55.0