On Tue, Nov 1, 2022, 6:53 AM Mauro Carvalho Chehab firstname.lastname@example.org wrote:
Ah, the selection is in kunit.ko itself. kunit.filter_glob, set from kunit.py with
positional arguments: filter_glob Filter which KUnit test suites/tests run at boot-time, e.g. list* or list*.*del_test \
Gah, permissions are 0:
module_param_named(filter_glob, filter_glob_param, charp, 0);
You can't even see what filters were set via sysfs:
$ ls /sys/module/kunit/parameters/ stats_enabled
So, once set, there's no way to change it.
I wonder why this isn't 0x644.
It sounds that, if we want to control it at runtime, we'll need to build with kunit as module, and unload/reload it every time if/when we want to run IGT with a different filtering ruleset.
kunit.filter_glob only works on built-in tests, which is why you can only set it once atm. There is no currently no way for KUnit to run a subset of tests in modules.
The module init code is here: https://elixir.bootlin.com/linux/v6.0/source/lib/kunit/test.c#L620 As you can see, that func it calls just initializes and runs all the suites: https://elixir.bootlin.com/linux/v6.0/source/lib/kunit/test.c#L589
This can of course be changed, just needs some work on the KUnit-side.