On Mon, Jul 05, 2021 at 01:46:33PM +0200, Geert Uytterhoeven wrote:
All but one symbols that select RATIONAL are tristate, but RATIONAL itself is bool. Change it to tristate, so the rational fractions support code can be modular if no builtin code relies on it.
While at it, add support for compile-testing and provide a help text.
...
Exposed by commit b6c75c4afceb8bc0 ("lib/math/rational: add Kunit test cases") and CONFIG_KUNIT_ALL_TESTS=m.
I'm not so happy RATIONAL_KUNIT_TEST selects RATIONAL, as test code should depend on the presence of the feature to test. Else enabling a test may add unneeded code to a production kernel. Perhaps the "if COMPILE_TEST" should be dropped, making RATIONAL visible, so RATIONAL_KUNIT_TEST can depend on RATIONAL instead?
...
- tristate "Rational fractions support" if COMPILE_TEST
Making it tristate is okay, but visible (even for COMPILE_TEST)... why? Just on purpose to be dependent on for test case? I understand your justification above, but it will bring all hidden symbols to be unhidden (due to test cases) and this is not the right thing to do in my opinion.
Why not to complain to KUnit people to fix their infra to avoid tests that tries non-selected feature(s)?