Re: [PATCH 3/6] lib: Move KUnit tests into tests/ subdirectory

From: Christophe Leroy
Date: Fri Oct 11 2024 - 12:30:05 EST




Le 11/10/2024 à 17:21, Andy Shevchenko a écrit :
[Vous ne recevez pas souvent de courriers de andy.shevchenko@xxxxxxxxx. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]

On Fri, Oct 11, 2024 at 5:20 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
On Fri, Oct 11, 2024 at 3:57 PM Andy Shevchenko <andy@xxxxxxxxxx> wrote:
On Fri, Oct 11, 2024 at 03:38:00PM +0200, Geert Uytterhoeven wrote:
On Fri, Oct 11, 2024 at 12:44 PM Andy Shevchenko <andy@xxxxxxxxxx> wrote:
On Fri, Oct 11, 2024 at 03:25:07PM +0800, David Gow wrote:

...

rename lib/{ => tests}/bitfield_kunit.c (100%)
rename lib/{ => tests}/checksum_kunit.c (100%)
rename lib/{ => tests}/cmdline_kunit.c (100%)
rename lib/{ => tests}/cpumask_kunit.c (100%)
rename lib/{ => tests}/fortify_kunit.c (100%)
rename lib/{ => tests}/hashtable_test.c (100%)
rename lib/{ => tests}/is_signed_type_kunit.c (100%)
rename lib/{ => tests}/kunit_iov_iter.c (100%)
rename lib/{ => tests}/list-test.c (100%)
rename lib/{ => tests}/memcpy_kunit.c (100%)
rename lib/{ => tests}/overflow_kunit.c (100%)
rename lib/{ => tests}/siphash_kunit.c (100%)
rename lib/{ => tests}/slub_kunit.c (100%)
rename lib/{ => tests}/stackinit_kunit.c (100%)
rename lib/{ => tests}/string_helpers_kunit.c (100%)
rename lib/{ => tests}/string_kunit.c (100%)
rename lib/{ => tests}/test_bits.c (100%)
rename lib/{ => tests}/test_fprobe.c (100%)
rename lib/{ => tests}/test_hash.c (100%)
rename lib/{ => tests}/test_kprobes.c (100%)
rename lib/{ => tests}/test_linear_ranges.c (100%)
rename lib/{ => tests}/test_list_sort.c (100%)
rename lib/{ => tests}/test_sort.c (100%)
rename lib/{ => tests}/usercopy_kunit.c (100%)

While I support the idea, I think this adds an additional churn in creating a
duplicate 'test' in the filenames. Why they all can't be cut while removing?
(at least this question is not answered in the commit message)

To avoid duplicate *.ko file names?

With what? Sorry, but I don't see how it's a problem. These are test cases.
Do they use kernel command line parameters? If so, shouldn't KUnit take care
about it in a more proper way?

If .e.g. lib/list_sort.o could be modular, its module would be called
"list_sort.ko", conflicting with the "list_sort.ko" test module.

But as it is now in lib/tests/, the module will also be installed in tests/ subdir, so it shouldn't clash anymore ?

You'd have:

/lib/modules/lib/list_sort.ko and
/lib/modules/lib/tests/list_sort.ko

Or did I miss something ?

Can't this be solved by automatically adding a prefix in Makefile for
kunit tests, for example?

--
With Best Regards,
Andy Shevchenko