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 <[email protected]>
> ---
>  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/
 
 ifeq ($(CONFIG_DEBUG_KOBJECT),y)
 CFLAGS_kobject.o += -DDEBUG



plus the 'clean-files' addition below.


> 
> diff --git a/lib/kunit/.kunitconfig b/lib/kunit/.kunitconfig
> index 
> 9235b7d42d389d2c7bf912546c7bb084eae99235..b7433e691563a3a8442db69874dea88f3b607332
>  100644
> --- a/lib/kunit/.kunitconfig
> +++ b/lib/kunit/.kunitconfig
> @@ -1,3 +1,5 @@
>  CONFIG_KUNIT=y
> +CONFIG_SHMEM=y
> +CONFIG_TMPFS=y
>  CONFIG_KUNIT_TEST=y
>  CONFIG_KUNIT_EXAMPLE_TEST=y
> 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

> +kunit-example-uapi-userccflags :=    -static
> +kunit-example-uapi-nolibc :=         $(CONFIG_ARCH_HAS_NOLIBC)
> +blobs +=                             kunit-example-uapi.blob.o
> +
> +obj-$(CONFIG_KUNIT_EXAMPLE_TEST) +=  kunit-example-mod.o
> +kunit-example-mod-y +=                       kunit-example-test.o
> +kunit-example-mod-$(CONFIG_KUNIT_UAPI) += kunit-example-uapi.blob.o

-- 
Nicolas Schier

Reply via email to