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@xxxxxxxxxxxxx> > > > --- > > > 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