[PATCH v2 2/9] iommupt/kunit: Skip test configs without supported features
Jason Gunthorpe <[email protected]>
| Newsgroups | dev.linux.lists.iommu,dev.linux.lists.patches,org.infradead.lists.linux-arm-kernel |
|---|---|
| Message-ID | <[email protected]> |
Some of the tests configs can test features we don't currently enable, like TTBR1 on ARMv8. Instead of blowing up, skip the test. When CONFIG_DEBUG_GENERIC_PT is set all features are force enabled during the build so everything can be tested. That is the normal mode for the kunit.py runner. Signed-off-by: Jason Gunthorpe <[email protected]> --- drivers/iommu/generic_pt/kunit_iommu.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/iommu/generic_pt/kunit_iommu.h b/drivers/iommu/generic_pt/kunit_iommu.h index 79d7f9c8e7868f..558e161eacb05f 100644 --- a/drivers/iommu/generic_pt/kunit_iommu.h +++ b/drivers/iommu/generic_pt/kunit_iommu.h @@ -134,6 +134,16 @@ static int pt_kunit_priv_init(struct kunit *test, struct kunit_iommu_priv *priv) #ifdef kunit_fmt_cfgs priv->cfg = kunit_fmt_cfgs[((uintptr_t)test->param_value) - 1]; + /* + * Without CONFIG_DEBUG_GENERIC_PT only the format's compiled-in + * PT_SUPPORTED_FEATURES are available, so cfgs requesting bits outside + * that set cannot be tested. + */ + if (priv->cfg.common.features & ~KUNIT_PT_SUPPORTED_FEATURES) + kunit_skip( + test, + "cfg requires features not built into this format (enable CONFIG_DEBUG_GENERIC_PT)"); + /* * The format can set a list of features that the kunit_fmt_cfgs * controls, other features are default to on. -- 2.43.0