Re: [PATCH] kunit: fix Kconfig for build-in tests USB4 and Nitro Enclaves

From: David Gow
Date: Fri Aug 12 2022 - 02:47:54 EST


On Thu, Aug 11, 2022 at 7:41 AM Nico Pache <npache@xxxxxxxxxx> wrote:
>
> Both the USB4 and Nitro Enclaves KUNIT tests are now able to be compiled
> if KUNIT is compiled as a module. This leads to issues if KUNIT is being
> packaged separately from the core kernel and when KUNIT is run baremetal
> without the required driver compiled into the kernel.
>
> Fixes: 635dcd16844b ("thunderbolt: test: Use kunit_test_suite() macro")
> Fixes: fe5be808fa6c ("nitro_enclaves: test: Use kunit_test_suite() macro")
> Signed-off-by: Nico Pache <npache@xxxxxxxxxx>
> ---

This is okay by me, though it's worth noting that this will stop these
tests from building when CONFIG_KUNIT=m, so that the modules being
tested will still load when CONFIG_KUNIT=m was enabled, but the
kunit.ko file is missing.

So if you're relying on being able to run these tests with
CONFIG_KUNIT=m, you'll want to NACK this one.

There's one comment below, but otherwise (assuming the USB4 and
nitro_enclaves folks are okay with this tradeoff):
Reviewed-by: David Gow <davidgow@xxxxxxxxxx>

Cheers,
-- David

> drivers/thunderbolt/Kconfig | 3 +--
> drivers/virt/nitro_enclaves/Kconfig | 2 +-
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/thunderbolt/Kconfig b/drivers/thunderbolt/Kconfig
> index e76a6c173637..f12d0a3ee3e2 100644
> --- a/drivers/thunderbolt/Kconfig
> +++ b/drivers/thunderbolt/Kconfig
> @@ -29,8 +29,7 @@ config USB4_DEBUGFS_WRITE
>
> config USB4_KUNIT_TEST
> bool "KUnit tests" if !KUNIT_ALL_TESTS
> - depends on (USB4=m || KUNIT=y)
> - depends on KUNIT
> + depends on USB4 && KUNIT=y

"USB4 &&" shouldn't be necessary here: this opption is already under
USB4, IIRC...

> default KUNIT_ALL_TESTS
>
> config USB4_DMA_TEST
> diff --git a/drivers/virt/nitro_enclaves/Kconfig b/drivers/virt/nitro_enclaves/Kconfig
> index ce91add81401..dc4d25c26256 100644
> --- a/drivers/virt/nitro_enclaves/Kconfig
> +++ b/drivers/virt/nitro_enclaves/Kconfig
> @@ -17,7 +17,7 @@ config NITRO_ENCLAVES
>
> config NITRO_ENCLAVES_MISC_DEV_TEST
> bool "Tests for the misc device functionality of the Nitro Enclaves" if !KUNIT_ALL_TESTS
> - depends on NITRO_ENCLAVES && KUNIT
> + depends on NITRO_ENCLAVES && KUNIT=y
> default KUNIT_ALL_TESTS
> help
> Enable KUnit tests for the misc device functionality of the Nitro
> --
> 2.36.1
>