On Fri, Jul 18, 2025 at 08:22:26AM +0200, Thomas Weißschuh wrote:
I had my own fair share of problems with kselftests, mostly because of the lack of structure and automated way to run them,
How did you overcome these issues? Why does everbody need to reinvent the wheel here?
Told people to use everything remotely file system related to use xfstests instead, and either ignore or suffer from the rest.
KUnit already exists and provides a lot of structure and tooling.
That's great. Let's reuse it without having to drive running userspace programs from kernel code.
but adding them to the kernel (or a module) is overshooting the target by far.
That's a subjective statement without any reasoning I can engange with.
Well, then we're done here if you can't engage.
I would be happy to do so, but for now I can only say that I disagree. The patches have been on the testing-related lists for some time and so far nobody had an issue with this aspect.
Has anyone actually chimed in and said "it's great that we bloat the kernel to run userspace tests", or have people just mostly ignored it like most things?
If the kernel toolchain is not fit to produce userspace because of a missing libc, the kernel's own nolibc can be used instead.
Is nolibc enough to run all the selftests?
It is not and most probably won't ever be. The maintainers of each testcase will decide which libc to use. Like it is in tools/testing/selftests/ today. Some use glibc, some nolibc and some can do both.
So why do you want to use it here? And how is is related to the rest of the series?
While having this discussion, can we also work on dealing with the symbol exports, as discussed before?
Well, the scope of the entire series makes it pretty clear that this series as is simply should not go in.
You present running pure userspace tests as the solution to a problem you don't even explain, or rather just state very highlevel. Yes, kselftests suck as most people will agree. But the answer is not to add a lot of kernel bloat to treat userspace integration tests like kernel units tests. How about you just fix kselftests, preferably by reusing well known and teststed userland code?