[PATCH v2] [RFC] selftests: alsa - add PCM test
Jaroslav Kysela
perex at perex.cz
Tue Nov 29 09:58:26 CET 2022
On 28. 11. 22 20:55, Mark Brown wrote:
> On Tue, Nov 08, 2022 at 12:59:14PM +0100, Jaroslav Kysela wrote:
>
>> --- a/tools/testing/selftests/alsa/Makefile
>> +++ b/tools/testing/selftests/alsa/Makefile
>> @@ -7,6 +7,8 @@ ifeq ($(LDLIBS),)
>> LDLIBS += -lasound
>> endif
>>
>> -TEST_GEN_PROGS := mixer-test
>> +TEST_GEN_PROGS := mixer-test pcm-test
>> +
>> +pcm-test: pcm-test.c conf.c
>>
>> include ../lib.mk
>
> This breaks out of tree kselftest builds - if you specify an output
> directory with O= (as all the main automated test systems do) then any
> target specific rules need to prepend $(OUTPUT)/ to specify the right
> location for the output (this also works fine with in tree builds, a
> default OUTPUT is generated). Unfortunately looking at this just now
> simply fixing that is causing only pcm-test to be built and not the
> existing mixer-test, and explicitly specifying commands for mixer-test
> causes that to be built and not pcm-test even explicitly asking to build
> "all" as the target for reasons I'm not yet clear on.
>
> You can see an example failure in:
>
> https://storage.kernelci.org/next/master/next-20221128/arm64/defconfig/gcc-10/logs/kselftest.log
>
> The whole kselftest build setup is rather fragile and frustrating to
> work with unfortunately, especially with tests built from multiple
> objects. The only fix I've come up with thus far is to inline conf.c
> into pcm-test.c (a #include will do the trick) which isn't great.
Thanks Mark for the feedback. I tried to resolve this issue using the rules
found in the rseq tests programs - create a shared library and link both test
programs to this library. It seems working for me. Patch [1].
Jaroslav
[1] https://lore.kernel.org/alsa-devel/20221129085306.2345763-1-perex@perex.cz/
--
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
More information about the Alsa-devel
mailing list