diff options
author | Jason Gunthorpe <[email protected]> | 2023-03-01 15:30:29 -0400 |
---|---|---|
committer | Jason Gunthorpe <[email protected]> | 2023-03-06 13:06:11 -0400 |
commit | 4ed4791afb34c61650b17407846174a72e4034f4 (patch) | |
tree | e98dd71aa2f13ffc8435d082a4ce7d7ade2bda6c | |
parent | 65c619ae06801e1f21cff1a78c7e64923ad17896 (diff) |
iommufd/selftest: Add a selftest for iommufd_device_attach() with a hwpt argument
This can now be covered since we have a full struct device.
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Kevin Tian <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
-rw-r--r-- | tools/testing/selftests/iommu/iommufd.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/testing/selftests/iommu/iommufd.c b/tools/testing/selftests/iommu/iommufd.c index fe20342abfb0..da0443ba1683 100644 --- a/tools/testing/selftests/iommu/iommufd.c +++ b/tools/testing/selftests/iommu/iommufd.c @@ -187,6 +187,7 @@ FIXTURE(iommufd_ioas) int fd; uint32_t ioas_id; uint32_t stdev_id; + uint32_t hwpt_id; uint64_t base_iova; }; @@ -212,7 +213,8 @@ FIXTURE_SETUP(iommufd_ioas) } for (i = 0; i != variant->mock_domains; i++) { - test_cmd_mock_domain(self->ioas_id, &self->stdev_id, NULL); + test_cmd_mock_domain(self->ioas_id, &self->stdev_id, + &self->hwpt_id); self->base_iova = MOCK_APERTURE_START; } } @@ -259,6 +261,16 @@ TEST_F(iommufd_ioas, ioas_destroy) } } +TEST_F(iommufd_ioas, hwpt_attach) +{ + /* Create a device attached directly to a hwpt */ + if (self->stdev_id) { + test_cmd_mock_domain(self->hwpt_id, NULL, NULL); + } else { + test_err_mock_domain(ENOENT, self->hwpt_id, NULL, NULL); + } +} + TEST_F(iommufd_ioas, ioas_area_destroy) { /* Adding an area does not change ability to destroy */ |