Hi Thadeu,
CC kunit
On Mon, 5 May 2025 at 14:13, Thadeu Lima de Souza Cascardo cascardo@igalia.com wrote:
On Mon, May 05, 2025 at 09:21:15AM +0200, Geert Uytterhoeven wrote:
On Wed, 30 Apr 2025 at 18:53, Thadeu Lima de Souza Cascardo cascardo@igalia.com wrote:
Since it uses __init symbols, it cannot be a module. Builds with CONFIG_TEST_MISC_MINOR=m will fail with:
ERROR: modpost: "init_mknod" [drivers/misc/misc_minor_kunit.ko] undefined! ERROR: modpost: "init_unlink" [drivers/misc/misc_minor_kunit.ko] undefined!
Reported-by: Stephen Rothwell sfr@canb.auug.org.au Closes: https://lore.kernel.org/linux-next/20250429155404.2b6fe5b1@canb.auug.org.au/ Reported-by: kernel test robot lkp@intel.com Closes: https://lore.kernel.org/oe-kbuild-all/202504160338.BjUL3Owb-lkp@intel.com/ Fixes: 45f0de4f8dc3 ("char: misc: add test cases") Signed-off-by: Thadeu Lima de Souza Cascardo cascardo@igalia.com
Thanks for your patch, which is now commit 20acf4dd46e4c090 ("char: misc: make miscdevice unit test built-in only") in char-misc-next.
--- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2512,7 +2512,7 @@ config TEST_IDA tristate "Perform selftest on IDA functions"
config TEST_MISC_MINOR
tristate "miscdevice KUnit test" if !KUNIT_ALL_TESTS
bool "miscdevice KUnit test" if !KUNIT_ALL_TESTS depends on KUNIT default KUNIT_ALL_TESTS
This means "default y" if KUNIT_ALL_TESTS=m, which is IMHO not what we want.
The precedent for other kunit config options that are bool is that they use "default KUNIT_ALL_TESTS".
Seems like you are right. Looks like none of the boolean ones can be enabled on m68k, which is where I run most of the tests, so I never noticed before :-(
It makes sense that if you choose to build all tests, you would not skip the ones that cannot be built as a module.
You can still enable the test manually if you want. But I think it should not be enabled by default when all other tests that can be modular are built as modules. Unlike for modular tests, enabling builtin tests by default does impact the base kernel.
Perhaps
default KUNIT_ALL_TESTS=y
?
Gr{oetje,eeting}s,
Geert
linux-kselftest-mirror@lists.linaro.org