On Thu, Mar 20, 2025 at 04:21:16PM -0600, Nico Pache wrote:
On Thu, Mar 20, 2025 at 1:14 PM Mark Brown broonie@kernel.org wrote:
On Wed, Mar 19, 2025 at 05:05:39PM -0600, Nico Pache wrote:
config FW_CS_DSP_KUNIT_TEST tristate "KUnit tests for Cirrus Logic cs_dsp" if !KUNIT_ALL_TESTS
depends on KUNIT && REGMAP
depends on KUNIT && REGMAP && FW_CS_DSP default KUNIT_ALL_TESTS
select FW_CS_DSP
This makes no sense to me, the select statement is forcing on the code it's testing which is a library and so is selected by it's users, this
Similarly to eb5c79828cfa ("firmware: cs_dsp: FW_CS_DSP_KUNIT_TEST should not select REGMAP"), We shouldnt force a feature on when using KUNIT_ALL_TESTS.
This feature is not user selectable, at an absolute minimum you would need to make the library available in KUnit test builds.
change will just stop the tests being run unless someone does the dance to enable a driver which relies on the library. That is something that
My config also sets the UML wrapper to enable this FW_CS_DSP config so it will continue to work in that environment.
Simply adding it to the all_tests.config will just result in it getting turned off by Kconfig during the build since it's not a visible option so that's not accomplishing anything. all_tests.config is not UML specific, it's for enabling all the KUnit tests that could run in UML no matter how you're running them.
seems unlikely to change the outcome of the tests when run from KUnit which is independent of any hardware.
KUNIT is supported outside the UML environment, and some distros (like fedora, and downstream flavors), use KUNIT as modules, with KUNIT_ALL_TESTS=m. We only want the tests that are supported by our config to be available, we dont want KUNIT going and enabling other features so the test works.
The point is not that KUnit is frequently run in UML (personally I mostly run it with emulated hardware instead) but rather that this is a library which can be tested independently of having a relevant DSP.