Messages in this thread | | | Subject | Re: [PATCH v5 4/5] lib/test: introduce cpumask KUnit test suite | From | Sander Vanheule <> | Date | Sun, 31 Jul 2022 17:42:03 +0200 |
| |
On Sun, 2022-07-31 at 12:23 -0300, Maíra Canal wrote: > Hi Sander > > On 7/29/22 04:01, Sander Vanheule wrote: > > Add a basic suite of tests for cpumask, providing some tests for empty and > > completely filled cpumasks. > > > > Signed-off-by: Sander Vanheule <sander@svanheule.net> > > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > Suggested-by: Yury Norov <yury.norov@gmail.com> > > Cc: Borislav Petkov <bp@alien8.de> > > Cc: Dave Hansen <dave.hansen@linux.intel.com> > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > Cc: "H. Peter Anvin" <hpa@zytor.com> > > Cc: Ingo Molnar <mingo@redhat.com> > > Cc: Marco Elver <elver@google.com> > > Cc: Peter Zijlstra <peterz@infradead.org> > > Cc: Thomas Gleixner <tglx@linutronix.de> > > Cc: Valentin Schneider <vschneid@redhat.com> > > Cc: Brendan Higgins <brendanhiggins@google.com> > > Cc: David Gow <davidgow@google.com> > > Cc: Maíra Canal <mairacanal@riseup.net> > > --- > > Changes since v4: > > - Belated addition of Yury's Suggested-by: > > - Follow KUnit style more closely > > - Drop full check on cpu_possible_mask > > - Update last check on cpu_possible_mask > > - Log masks when starting test > > - Update commit message > > > > Changes since v3: > > - Test for_each_cpu*() over empty mask and cpu_possible_mask > > - Add Andy's Reviewed-by > > - Use num_{online,present,possible}_cpus() for builtin masks > > - Guard against CPU hotplugging during test for dynamic builtin CPU masks > > > > Changes since v2: > > - Rework for_each_* test macros, as suggested by Yury > > > > Changes since v1: > > - New patch > > > > lib/Kconfig.debug | 12 ++++ > > lib/Makefile | 1 + > > lib/cpumask_test.c | 147 +++++++++++++++++++++++++++++++++++++++++++++ > > 3 files changed, 160 insertions(+) > > create mode 100644 lib/cpumask_test.c > > > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > > index 2e24db4bff19..e85e74646178 100644 > > --- a/lib/Kconfig.debug > > +++ b/lib/Kconfig.debug > > @@ -2021,6 +2021,18 @@ config LKDTM > > Documentation on how to use the module can be found in > > Documentation/fault-injection/provoke-crashes.rst > > > > +config CPUMASK_KUNIT_TEST > > + tristate "KUnit test for cpumask" if !KUNIT_ALL_TESTS > > + depends on KUNIT > > + default KUNIT_ALL_TESTS > > + help > > + Enable to turn on cpumask tests, running at boot or module load > > time. > > + > > + 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 TEST_LIST_SORT > > tristate "Linked list sorting test" if !KUNIT_ALL_TESTS > > depends on KUNIT > > diff --git a/lib/Makefile b/lib/Makefile > > index bcc7e8ea0cde..9f9db1376538 100644 > > --- a/lib/Makefile > > +++ b/lib/Makefile > > @@ -59,6 +59,7 @@ obj-$(CONFIG_TEST_BPF) += test_bpf.o > > obj-$(CONFIG_TEST_FIRMWARE) += test_firmware.o > > obj-$(CONFIG_TEST_BITOPS) += test_bitops.o > > CFLAGS_test_bitops.o += -Werror > > +obj-$(CONFIG_CPUMASK_KUNIT_TEST) += cpumask_test.o > > obj-$(CONFIG_TEST_SYSCTL) += test_sysctl.o > > obj-$(CONFIG_TEST_SIPHASH) += test_siphash.o > > obj-$(CONFIG_HASH_KUNIT_TEST) += test_hash.o > > diff --git a/lib/cpumask_test.c b/lib/cpumask_test.c > > new file mode 100644 > > index 000000000000..0f8059a5e93b > > --- /dev/null > > +++ b/lib/cpumask_test.c > > In order to make the tests at lib/ with more compliant naming, it would > make more sense to name it test_cpumask.c.
That's what I had originally, exactly because I copied the naming from other files in lib/. That didn't match the style guide [1] which proposes the _test.c or _kunit.c suffix.
Most files in lib/ use the test_ prefix (45), but some use the _test.c suffix (4), or _kunit.c suffix (6). Of the "test_" ones, only 8 are actually KUnit test suites. I personally think the style guide makes a good argument to use a suffix, as that clearly places the test suite next to the relevant file in an alphabetic listing.
Based on the above, would you agree with using "cpumask_kunit.c" as the filename? That distinguishes it from the non-KUnit test files, and follows the style guide.
[1] https://docs.kernel.org/dev-tools/kunit/style.html#test-file-and-module-names
> > Thank you for the respin to the series! All tests are passing now. > > Tested-by: Maíra Canal <mairacanal@riseup.net>
Thank you for testing!
Best, Sander
| |