Hi Shuah and Kees, On 2025-05-05 17:15:18+0200, Thomas Weißschuh wrote: > Nolibc is useful for selftests as the test programs can be very small, > and compiled with just a kernel crosscompiler, without userspace support. > Currently nolibc is only usable with kselftest.h, not the more > convenient to use kselftest_harness.h > This series provides this compatibility by removing the usage of problematic > libc features from the harness.
I'd like to get this series into the next merge window. For that I'd like to expose it to linux-next through the nolibc tree. If you don't have the time for a review or issues crop up, I will drop the patches again. Are you fine with that? The issues reported by Mark have been fixed and tests have been written for them. > Based on nolibc/for-next. > The series is meant to be merged through the nolibc tree. > > Signed-off-by: Thomas Weißschuh <thomas.weisssc...@linutronix.de> > --- > Changes in v4: > - Drop patches for nolibc which where already applied > - Preserve signatures of test functions for tests making assumptions about > them > drop 'selftests: harness: Always provide "self" and "variant"' > add 'selftests: harness: Add "variant" and "self" to test metadata' > adapt 'selftests: harness: Stop using setjmp()/longjmp()' > - Validate test function signatures in harness selftest > - Link to v3: > https://lore.kernel.org/r/20250411-nolibc-kselftest-harness-v3-0-4d9c02958...@linutronix.de > > Changes in v3: > - Send patches to correct kselftest harness maintainers > - Move harness selftest to dedicated directory > - Add harness selftest to MAINTAINERS > - Integrate harness selftest cleanup with the selftest framework > - Consistently use "kselftest harness" in commit messages > - Properly propagate kselftest harness failure > - Link to v2: > https://lore.kernel.org/r/20250407-nolibc-kselftest-harness-v2-0-f8812f76e...@linutronix.de > > Changes in v2: > - Rebase unto v6.15-rc1 > - Rename internal nolibc symbols > - Handle edge case of waitpid(INT_MIN) == ESRCH > - Fix arm configurations for final testing patch > - Clean up global getopt.h variable declarations > - Add Acks from Willy > - Link to v1: > https://lore.kernel.org/r/20250304-nolibc-kselftest-harness-v1-0-adca7cd23...@linutronix.de > > --- > Thomas Weißschuh (14): > selftests: harness: Add kselftest harness selftest > selftests: harness: Use C89 comment style > selftests: harness: Ignore unused variant argument warning > selftests: harness: Mark functions without prototypes static > selftests: harness: Remove inline qualifier for wrappers > selftests: harness: Remove dependency on libatomic > selftests: harness: Implement test timeouts through pidfd > selftests: harness: Don't set setup_completed for fixtureless tests > selftests: harness: Move teardown conditional into test metadata > selftests: harness: Add teardown callback to test metadata > selftests: harness: Add "variant" and "self" to test metadata > selftests: harness: Stop using setjmp()/longjmp() > selftests: harness: Guard includes on nolibc > HACK: selftests/nolibc: demonstrate usage of the kselftest harness > > MAINTAINERS | 1 + > tools/testing/selftests/Makefile | 1 + > tools/testing/selftests/kselftest_harness.h | 175 +- > .../testing/selftests/kselftest_harness/.gitignore | 2 + > tools/testing/selftests/kselftest_harness/Makefile | 7 + > .../selftests/kselftest_harness/harness-selftest.c | 138 ++ > .../kselftest_harness/harness-selftest.expected | 64 + > .../kselftest_harness/harness-selftest.sh | 13 + > tools/testing/selftests/nolibc/Makefile | 15 +- > tools/testing/selftests/nolibc/harness-selftest.c | 1 + > tools/testing/selftests/nolibc/nolibc-test.c | 1715 > +------------------- > tools/testing/selftests/nolibc/run-tests.sh | 2 +- > 12 files changed, 313 insertions(+), 1821 deletions(-) > --- > base-commit: 2051d3b830c0889ae55e37e9e8ff0d43a4acd482 > change-id: 20250130-nolibc-kselftest-harness-8b2c8cac43bf > > Best regards, > -- > Thomas Weißschuh <thomas.weisssc...@linutronix.de> >