On Mon, May 26, 2025 at 04:50:19PM +0200, Thomas Weißschuh wrote:
On Mon, May 26, 2025 at 04:22:02PM +0200, Nicolas Schier wrote:
On Mon, Apr 07, 2025 at 09:42:46AM +0200, Thomas Weißschuh wrote:
Extend the example to show how to run a userspace executable.
Signed-off-by: Thomas Weißschuh thomas.weissschuh@linutronix.de
lib/kunit/.kunitconfig | 2 ++ lib/kunit/Makefile | 9 ++++++++- lib/kunit/kunit-example-test.c | 15 +++++++++++++++ lib/kunit/kunit-example-uapi.c | 22 ++++++++++++++++++++++ 4 files changed, 47 insertions(+), 1 deletion(-)
Adding this diff allows 'make clean' to clean up the UAPI test binary:
diff --git a/lib/Makefile b/lib/Makefile --- a/lib/Makefile +++ b/lib/Makefile @@ -112,8 +112,6 @@ CFLAGS_REMOVE_test_fpu_impl.o += $(CC_FLAGS_NO_FPU) # Some KUnit files (hooks.o) need to be built-in even when KUnit is a module, # so we can't just use obj-$(CONFIG_KUNIT). -ifdef CONFIG_KUNIT -obj-y += kunit/ -endif +obj-$(if $(CONFIG_KUNIT),y) += kunit/
Wouldn't the following be sufficient?
obj-y += kunit/
The the kunit Makefile doesn't do anything if CONFIG_KUNIT=y and AFAIK for directories obj-m and obj-y should do the same.
that's wrong. In lib/kunit/Makefile there is
obj-y += hooks.o
thus, lib/kunit/hooks.o would then be built unconditionally (even w/o CONFIG_KUNIT).
Iff we would add 'obj-y += kunit/' in lib/Makefile we'd have to adjust the hooks.o line in lib/kunit/Makefile appropriately.
ifeq ($(CONFIG_DEBUG_KOBJECT),y) CFLAGS_kobject.o += -DDEBUG
plus the 'clean-files' addition below.
<snip>
diff --git a/lib/kunit/Makefile b/lib/kunit/Makefile index 989933dab9ad2267f376db470b876ce2a88711b4..1b6be12676f89cafa34f0093d8136b36f4cf5532 100644 --- a/lib/kunit/Makefile +++ b/lib/kunit/Makefile @@ -30,4 +30,11 @@ obj-$(CONFIG_KUNIT_TEST) += string-stream-test.o obj-$(CONFIG_KUNIT_TEST) += assert_test.o endif -obj-$(CONFIG_KUNIT_EXAMPLE_TEST) += kunit-example-test.o +userprogs += kunit-example-uapi
clean-files += kunit-example-uapi
This shouldn't be necessary as $(userprogs) is automatically added to __clean-files in scripts/Makefile.clean.
oh yes, you're right. Please do not any of these 'clean-files' lines.
Kind regards, Nicolas