Message ID | 20241011072509.3068328-3-davidgow@google.com |
---|---|
State | New |
Headers | show |
Series | [1/6] lib: math: Move kunit tests into tests/ subdir | expand |
Hi all, On Fri, Oct 11, 2024 at 10:59 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > On Fri, Oct 11, 2024 at 9:31 AM David Gow <davidgow@google.com> wrote: > > From: Luis Felipe Hernandez <luis.hernandez093@gmail.com> > > > > This patch is a follow-up task from a discussion stemming from point 3 > > in a recent patch introducing the int_pow kunit test [1] and > > documentation regarding kunit test style and nomenclature [2]. > > > > Colocate all kunit test suites in lib/math/tests/ and > > follow recommended naming convention for files <suite>_kunit.c > > and kconfig entries CONFIG_<name>_KUNIT_TEST. > > > > Link: https://lore.kernel.org/all/CABVgOS=-vh5TqHFCq_jo=ffq8v_nGgr6JsPnOZag3e6+19ysxQ@mail.gmail.com/ [1] > > Link: https://docs.kernel.org/dev-tools/kunit/style.html [2] > > > > Signed-off-by: Luis Felipe Hernandez <luis.hernandez093@gmail.com> > > Acked-by: Nicolas Pitre <npitre@baylibre.com> > > [Rebased on top of mm-nonmm-unstable.] > > Signed-off-by: David Gow <davidgow@google.com> > > --- a/lib/Kconfig.debug > > +++ b/lib/Kconfig.debug > > @@ -2296,7 +2296,7 @@ config TEST_SORT > > > > If unsure, say N. > > > > -config TEST_DIV64 > > +config DIV64_KUNIT_TEST > > tristate "64bit/32bit division and modulo test" > > depends on DEBUG_KERNEL || m > > help > > @@ -2306,7 +2306,7 @@ config TEST_DIV64 > > > > If unsure, say N. > > > > -config TEST_MULDIV64 > > +config MULDIV64_KUNIT_TEST > > tristate "mul_u64_u64_div_u64() test" > > depends on DEBUG_KERNEL || m > > help > > This conflicts with "[PATCH] m68k: defconfig: Update defconfigs for > v6.12-rc1"[1]. Of course the proper way forward would be to add > "default KUNIT_ALL_TESTS" to all tests that still lack it, so I can > just never queue that patch ;-) What's the status of this series? I am asking because I am wondering if I should queue [1] for v6.13, or just drop it, and send a patch to add "default KUNIT_ALL_TESTS" instead. I saw the email from Andrew stating he applied it to his tree[2], but that seems to have been dropped silently, and never made it into linux-next? Thanks! > > @@ -2993,7 +2993,7 @@ config TEST_OBJPOOL > > > > If unsure, say N. > > > > -config INT_POW_TEST > > +config INT_POW_KUNIT_TEST > > tristate "Integer exponentiation (int_pow) test" if !KUNIT_ALL_TESTS > > depends on KUNIT > > default KUNIT_ALL_TESTS > > [1] https://lore.kernel.org/all/4092672cb64b86ec3f300b4cf0ea0c2db2b52e2e.1727699197.git.geert@linux-m68k.org/ [2] https://lore.kernel.org/all/20241015001409.C4A33C4CEC7@smtp.kernel.org/ Gr{oetje,eeting}s, Geert
On Wed, 6 Nov 2024 09:33:55 +0100 Geert Uytterhoeven <geert@linux-m68k.org> wrote: > Hi all, > > This conflicts with "[PATCH] m68k: defconfig: Update defconfigs for > > v6.12-rc1"[1]. Of course the proper way forward would be to add > > "default KUNIT_ALL_TESTS" to all tests that still lack it, so I can > > just never queue that patch ;-) > > What's the status of this series? I am asking because I am wondering if > I should queue [1] for v6.13, or just drop it, and send a patch to add > "default KUNIT_ALL_TESTS" instead. > > I saw the email from Andrew stating he applied it to his tree[2], > but that seems to have been dropped silently, and never made it into > linux-next? Yes, sorry. Believe it or not, I do try to avoid spraying out too many emails. David will recall better than I, but things got messy. https://lkml.kernel.org/r/20241009162719.0adaea37@canb.auug.org.au was perhaps the cause. I'm sure David can being us up to date.
Hi Andrew, On Wed, Nov 6, 2024 at 10:17 PM Andrew Morton <akpm@linux-foundation.org> wrote: > On Wed, 6 Nov 2024 09:33:55 +0100 Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > > This conflicts with "[PATCH] m68k: defconfig: Update defconfigs for > > > v6.12-rc1"[1]. Of course the proper way forward would be to add > > > "default KUNIT_ALL_TESTS" to all tests that still lack it, so I can > > > just never queue that patch ;-) > > > > What's the status of this series? I am asking because I am wondering if > > I should queue [1] for v6.13, or just drop it, and send a patch to add > > "default KUNIT_ALL_TESTS" instead. > > > > I saw the email from Andrew stating he applied it to his tree[2], > > but that seems to have been dropped silently, and never made it into > > linux-next? > > Yes, sorry. Believe it or not, I do try to avoid spraying out too many > emails. David will recall better than I, but things got messy. > https://lkml.kernel.org/r/20241009162719.0adaea37@canb.auug.org.au was > perhaps the cause. Fair enough. > I'm sure David can being us up to date. Probably the best solution is to respin after v6.13-rc1, to be included in v6.13-rc2. Gr{oetje,eeting}s, Geert
On Thu, 7 Nov 2024 at 15:34, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Andrew, > > On Wed, Nov 6, 2024 at 10:17 PM Andrew Morton <akpm@linux-foundation.org> wrote: > > On Wed, 6 Nov 2024 09:33:55 +0100 Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > > > This conflicts with "[PATCH] m68k: defconfig: Update defconfigs for > > > > v6.12-rc1"[1]. Of course the proper way forward would be to add > > > > "default KUNIT_ALL_TESTS" to all tests that still lack it, so I can > > > > just never queue that patch ;-) > > > > > > What's the status of this series? I am asking because I am wondering if > > > I should queue [1] for v6.13, or just drop it, and send a patch to add > > > "default KUNIT_ALL_TESTS" instead. > > > > > > I saw the email from Andrew stating he applied it to his tree[2], > > > but that seems to have been dropped silently, and never made it into > > > linux-next? > > > > Yes, sorry. Believe it or not, I do try to avoid spraying out too many > > emails. David will recall better than I, but things got messy. > > https://lkml.kernel.org/r/20241009162719.0adaea37@canb.auug.org.au was > > perhaps the cause. > > Fair enough. > > > I'm sure David can being us up to date. > > Probably the best solution is to respin after v6.13-rc1, to be included > in v6.13-rc2. > Sorry about the delay, for some reason these were getting caught in my spam filter... Yeah, I think that's probably best. I'll go through and do a new version post rc1. In general, my preferred option is to use the 'default KUNIT_ALL_TESTS' where possible. I'm sure there'll be some tests where it makes sense to _not_ enable them by default, but we should where we can. Ultimately, it's up to the test maintainer, though. -- David -- David
diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig index d01dc47d52ea..7ba9311c084c 100644 --- a/arch/m68k/configs/amiga_defconfig +++ b/arch/m68k/configs/amiga_defconfig @@ -619,7 +619,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig index 46808e581d7b..273fe4032b85 100644 --- a/arch/m68k/configs/apollo_defconfig +++ b/arch/m68k/configs/apollo_defconfig @@ -576,7 +576,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/atari_defconfig b/arch/m68k/configs/atari_defconfig index 4469a7839c9d..9976cda99fc1 100644 --- a/arch/m68k/configs/atari_defconfig +++ b/arch/m68k/configs/atari_defconfig @@ -596,7 +596,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/bvme6000_defconfig b/arch/m68k/configs/bvme6000_defconfig index c0719322c028..f59082c8fe06 100644 --- a/arch/m68k/configs/bvme6000_defconfig +++ b/arch/m68k/configs/bvme6000_defconfig @@ -568,7 +568,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/hp300_defconfig b/arch/m68k/configs/hp300_defconfig index 8d429e63f8f2..6db3556da9ac 100644 --- a/arch/m68k/configs/hp300_defconfig +++ b/arch/m68k/configs/hp300_defconfig @@ -578,7 +578,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/mac_defconfig b/arch/m68k/configs/mac_defconfig index bafd33da27c1..25c06b5c83ee 100644 --- a/arch/m68k/configs/mac_defconfig +++ b/arch/m68k/configs/mac_defconfig @@ -595,7 +595,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig index 6f5ca3f85ea1..35e57e0ee139 100644 --- a/arch/m68k/configs/multi_defconfig +++ b/arch/m68k/configs/multi_defconfig @@ -681,7 +681,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/mvme147_defconfig b/arch/m68k/configs/mvme147_defconfig index d16b328c7136..d253b686119a 100644 --- a/arch/m68k/configs/mvme147_defconfig +++ b/arch/m68k/configs/mvme147_defconfig @@ -567,7 +567,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/mvme16x_defconfig b/arch/m68k/configs/mvme16x_defconfig index 80f6c15a5ed5..62bc6ad63783 100644 --- a/arch/m68k/configs/mvme16x_defconfig +++ b/arch/m68k/configs/mvme16x_defconfig @@ -568,7 +568,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig index 0e81589f0ee2..caba39c61bac 100644 --- a/arch/m68k/configs/q40_defconfig +++ b/arch/m68k/configs/q40_defconfig @@ -585,7 +585,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/sun3_defconfig b/arch/m68k/configs/sun3_defconfig index 8cd785290339..a348f645ed55 100644 --- a/arch/m68k/configs/sun3_defconfig +++ b/arch/m68k/configs/sun3_defconfig @@ -565,7 +565,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/m68k/configs/sun3x_defconfig b/arch/m68k/configs/sun3x_defconfig index 78035369f60f..f8b3cfc3275b 100644 --- a/arch/m68k/configs/sun3x_defconfig +++ b/arch/m68k/configs/sun3x_defconfig @@ -566,7 +566,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_TEST_DHRY=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_REED_SOLOMON_TEST=m CONFIG_ATOMIC64_SELFTEST=m CONFIG_ASYNC_RAID6_TEST=m diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig index a5e3e7f97f4d..f1f21765c0c1 100644 --- a/arch/powerpc/configs/ppc64_defconfig +++ b/arch/powerpc/configs/ppc64_defconfig @@ -435,7 +435,7 @@ CONFIG_KUNIT=m CONFIG_KUNIT_ALL_TESTS=m CONFIG_LKDTM=m CONFIG_TEST_MIN_HEAP=m -CONFIG_TEST_DIV64=m +CONFIG_DIV64_KUNIT_TEST=m CONFIG_BACKTRACE_SELF_TEST=m CONFIG_TEST_REF_TRACKER=m CONFIG_RBTREE_TEST=m diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 856bc9f9c069..3ed6cf950f04 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2296,7 +2296,7 @@ config TEST_SORT If unsure, say N. -config TEST_DIV64 +config DIV64_KUNIT_TEST tristate "64bit/32bit division and modulo test" depends on DEBUG_KERNEL || m help @@ -2306,7 +2306,7 @@ config TEST_DIV64 If unsure, say N. -config TEST_MULDIV64 +config MULDIV64_KUNIT_TEST tristate "mul_u64_u64_div_u64() test" depends on DEBUG_KERNEL || m help @@ -2993,7 +2993,7 @@ config TEST_OBJPOOL If unsure, say N. -config INT_POW_TEST +config INT_POW_KUNIT_TEST tristate "Integer exponentiation (int_pow) test" if !KUNIT_ALL_TESTS depends on KUNIT default KUNIT_ALL_TESTS diff --git a/lib/math/Makefile b/lib/math/Makefile index 3ef11305f8d2..1c489501ff57 100644 --- a/lib/math/Makefile +++ b/lib/math/Makefile @@ -5,7 +5,4 @@ obj-$(CONFIG_CORDIC) += cordic.o obj-$(CONFIG_PRIME_NUMBERS) += prime_numbers.o obj-$(CONFIG_RATIONAL) += rational.o -obj-$(CONFIG_INT_POW_TEST) += tests/int_pow_kunit.o -obj-$(CONFIG_TEST_DIV64) += test_div64.o -obj-$(CONFIG_TEST_MULDIV64) += test_mul_u64_u64_div_u64.o -obj-$(CONFIG_RATIONAL_KUNIT_TEST) += rational-test.o +obj-y += tests/ diff --git a/lib/math/tests/Makefile b/lib/math/tests/Makefile index 6a169123320a..f9a0a0e6b73a 100644 --- a/lib/math/tests/Makefile +++ b/lib/math/tests/Makefile @@ -1,3 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only -obj-$(CONFIG_INT_POW_TEST) += int_pow_kunit.o +obj-$(CONFIG_DIV64_KUNIT_TEST) += div64_kunit.o +obj-$(CONFIG_INT_POW_KUNIT_TEST) += int_pow_kunit.o +obj-$(CONFIG_MULDIV64_KUNIT_TEST) += mul_u64_u64_div_u64_kunit.o +obj-$(CONFIG_RATIONAL_KUNIT_TEST) += rational_kunit.o diff --git a/lib/math/test_div64.c b/lib/math/tests/div64_kunit.c similarity index 100% rename from lib/math/test_div64.c rename to lib/math/tests/div64_kunit.c diff --git a/lib/math/test_mul_u64_u64_div_u64.c b/lib/math/tests/mul_u64_u64_div_u64_kunit.c similarity index 98% rename from lib/math/test_mul_u64_u64_div_u64.c rename to lib/math/tests/mul_u64_u64_div_u64_kunit.c index 58d058de4e73..f61f571a0a2e 100644 --- a/lib/math/test_mul_u64_u64_div_u64.c +++ b/lib/math/tests/mul_u64_u64_div_u64_kunit.c @@ -49,7 +49,7 @@ static test_params test_values[] = { * * #!/bin/sh * sed -ne 's/^{ \+\(.*\), \+\(.*\), \+\(.*\), \+\(.*\) },$/\1 \2 \3 \4/p' \ - * lib/math/test_mul_u64_u64_div_u64.c | + * lib/math/tests/mul_u64_u64_div_u64_kunit.c | * while read a b c r; do * expected=$( printf "obase=16; ibase=16; %X * %X / %X\n" $a $b $c | bc ) * given=$( printf "%X\n" $r ) diff --git a/lib/math/rational-test.c b/lib/math/tests/rational_kunit.c similarity index 100% rename from lib/math/rational-test.c rename to lib/math/tests/rational_kunit.c