[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <613a3c17-1d76-0a21-5ce2-895f46c2247a@riseup.net>
Date: Sun, 31 Jul 2022 19:11:34 -0300
From: Maíra Canal <mairacanal@...eup.net>
To: Sander Vanheule <sander@...nheule.net>,
linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Brendan Higgins <brendanhiggins@...gle.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
David Gow <davidgow@...gle.com>,
Borislav Petkov <bp@...en8.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"H . Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...hat.com>,
Marco Elver <elver@...gle.com>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Valentin Schneider <vschneid@...hat.com>,
Yury Norov <yury.norov@...il.com>
Subject: Re: [PATCH v5 4/5] lib/test: introduce cpumask KUnit test suite
On 7/31/22 12:42, Sander Vanheule wrote:
> 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@...nheule.net>
>>> Reviewed-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
>>> Suggested-by: Yury Norov <yury.norov@...il.com>
>>> Cc: Borislav Petkov <bp@...en8.de>
>>> Cc: Dave Hansen <dave.hansen@...ux.intel.com>
>>> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
>>> Cc: "H. Peter Anvin" <hpa@...or.com>
>>> Cc: Ingo Molnar <mingo@...hat.com>
>>> Cc: Marco Elver <elver@...gle.com>
>>> Cc: Peter Zijlstra <peterz@...radead.org>
>>> Cc: Thomas Gleixner <tglx@...utronix.de>
>>> Cc: Valentin Schneider <vschneid@...hat.com>
>>> Cc: Brendan Higgins <brendanhiggins@...gle.com>
>>> Cc: David Gow <davidgow@...gle.com>
>>> Cc: Maíra Canal <mairacanal@...eup.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.
My mistake!
>
> 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.
I believe this would be the best option as well, as there is many
different types of tests in this folder. Thank you for noticing this!
Best Regards,
- Maíra Canal
>
> [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@...eup.net>
>
> Thank you for testing!
>
> Best,
> Sander
Powered by blists - more mailing lists