On Mon 2025-02-03 06:48:05, Tamir Duberstein wrote:
> Convert the scanf() self-test to a KUnit test.
> 
> In the interest of keeping the patch reasonably-sized this doesn't
> refactor the tests into proper parameterized tests - it's all one big
> test case.
> 
> Signed-off-by: Tamir Duberstein <tam...@gmail.com>
> Acked-by: Geert Uytterhoeven <ge...@linux-m68k.org> # m68k
> ---
> This is one of just 3 remaining "Test Module" kselftests (the others
> being bitmap and printf), the rest having been converted to KUnit. In
> addition to the enclosed patch, please consider this an RFC on the
> removal of the "Test Module" kselftest machinery.
> 
> I tested this using:
> 
> $ tools/testing/kunit/kunit.py run --arch arm64 --make_options LLVM=1 scanf

Fortunately, the following still works ;-)

        $ modprobe scanf_kunit

Just the messages in dmesg are in the ktap format.

Anyway, I do not have strong opinion. I am fine with this change
when similar tests are being tranformed to kunit tests.

Acked-by: Petr Mladek <pmla...@suse.com>

Should this go via the printk tree, please?
Or is David going to take it via the kunit tree?

Also see a nit below.

> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -2427,6 +2427,23 @@ config ASYNC_RAID6_TEST
>  config TEST_HEXDUMP
>       tristate "Test functions located in the hexdump module at runtime"
>  
> +config SCANF_KUNIT_TEST
> +     tristate "KUnit test scanf() family of functions at runtime" if 
> !KUNIT_ALL_TESTS
> +     depends on KUNIT
> +     default KUNIT_ALL_TESTS
> +     help
> +       Enable this option to test the scanf functions at boot.
> +
> +       KUnit tests run during boot and output the results to the debug log
> +       in TAP format (http://testanything.org/). Only useful for kernel devs
> +       running the KUnit test harness, and not intended for inclusion into a
> +       production build.
> +
> +       For more information on KUnit and unit tests in general please refer
> +       to the KUnit documentation in Documentation/dev-tools/kunit/.
> +
> +       If unsure, say N.
> +
>  config STRING_KUNIT_TEST
>       tristate "KUnit test string functions at runtime" if !KUNIT_ALL_TESTS
>       depends on KUNIT
> @@ -2443,9 +2460,6 @@ config TEST_KSTRTOX
>  config TEST_PRINTF
>       tristate "Test printf() family of functions at runtime"
>  
> -config TEST_SCANF
> -     tristate "Test scanf() family of functions at runtime"
> -
>  config TEST_BITMAP
>       tristate "Test bitmap_*() family of functions at runtime"
>       help
> diff --git a/lib/Makefile b/lib/Makefile
> index d5cfc7afbbb8..a53cf6dd1505 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -85,7 +85,6 @@ obj-$(CONFIG_TEST_STATIC_KEYS) += test_static_keys.o
>  obj-$(CONFIG_TEST_STATIC_KEYS) += test_static_key_base.o
>  obj-$(CONFIG_TEST_DYNAMIC_DEBUG) += test_dynamic_debug.o
>  obj-$(CONFIG_TEST_PRINTF) += test_printf.o
> -obj-$(CONFIG_TEST_SCANF) += test_scanf.o
>  
>  obj-$(CONFIG_TEST_BITMAP) += test_bitmap.o
>  ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_KASAN),yy)
> @@ -373,8 +372,9 @@ CFLAGS_bitfield_kunit.o := $(DISABLE_STRUCTLEAK_PLUGIN)
>  obj-$(CONFIG_BITFIELD_KUNIT) += bitfield_kunit.o
>  obj-$(CONFIG_CHECKSUM_KUNIT) += checksum_kunit.o
>  obj-$(CONFIG_UTIL_MACROS_KUNIT) += util_macros_kunit.o
> -obj-$(CONFIG_LIST_KUNIT_TEST) += list-test.o
>  obj-$(CONFIG_HASHTABLE_KUNIT_TEST) += hashtable_test.o
> +obj-$(CONFIG_LIST_KUNIT_TEST) += list-test.o

This looks like an unrelated change.

> +obj-$(CONFIG_SCANF_KUNIT_TEST) += scanf_kunit.o
>  obj-$(CONFIG_LINEAR_RANGES_TEST) += test_linear_ranges.o
>  obj-$(CONFIG_BITS_TEST) += test_bits.o
>  obj-$(CONFIG_CMDLINE_KUNIT_TEST) += cmdline_kunit.o

Best Regards,
Petr

Reply via email to