Re: [PATCH v3 0/1] Add KUnit tests for llist

David Gow
2024-09-20T07:10:39Z

[-- Attachment #1: Type: text/plain, Size: 3101 bytes --]

On Fri, 20 Sept 2024 at 00:01, Shuah Khan <skhan@linuxfoundation.org> wrote:
>
> On 9/16/24 18:51, Artur Alves wrote:
> > Hi all,
> >
> > This is part of a hackathon organized by LKCAMP[1], focused on writing
> > tests using KUnit. We reached out a while ago asking for advice on what
> > would be a useful contribution[2] and ended up choosing data structures
> > that did not yet have tests.
> >
> > This patch adds tests for the llist data structure, defined in
> > include/linux/llist.h, and is inspired by the KUnit tests for the doubly
> > linked list in lib/list-test.c[3].
> >
> > It is important to note that this patch depends on the patch referenced
> > in [4], as it utilizes the newly created lib/tests/ subdirectory.
> >
> > [1] https://lkcamp.dev/about/
> > [2] https://lore.kernel.org/all/Zktnt7rjKryTh9-N@arch/
> > [3] https://elixir.bootlin.com/linux/latest/source/lib/list-test.c
> > [4] https://lore.kernel.org/all/20240720181025.work.002-kees@kernel.org/
> >
> > ---
> > Changes in v3:
> > - Resolved checkpatch warnings:
> > - Renamed tests for macros starting with 'for_each'
>
> Shouldn't this a separate patch to make it easy to review?
>

I think that, if this were renaming these in an already existing test
(like the confusingly similar list test), then yes. But since it's
only a change from v2, I think we're okay.

> > - Removed link from commit message
> > - Replaced hardcoded constants with ENTRIES_SIZE
>
> Shouldn't this a separate patch to make it easy to review?

Again, if we want to change this in other tests (list, hlist) we
should split it into a separate patch, but I think it's okay for llist
to go in with these already cleaned up.

>
> > - Updated initialization of llist_node array
> > - Fixed typos
> > - Update Kconfig.debug message for llist_kunit
>
> Are these changes to existing code or warnings on your added code?

I think these are all changes to the added code since v2. Artur, is that right?

> >
> > Changes in v2:
> > - Add MODULE_DESCRIPTION()
> > - Move the tests from lib/llist_kunit.c to lib/tests/llist_kunit.c
> > - Change the license from "GPL v2" to "GPL"
> >
> > Artur Alves (1):
> > lib/llist_kunit.c: add KUnit tests for llist
> >
> > lib/Kconfig.debug | 11 ++
> > lib/tests/Makefile | 1 +
> > lib/tests/llist_kunit.c | 358 ++++++++++++++++++++++++++++++++++++++++
> > 3 files changed, 370 insertions(+)
> > create mode 100644 lib/tests/llist_kunit.c
> >
>
> You are combining lot of changes in one single patch. Each change as a separate
> patch will help reviewers.
>
> Adding new test should be a separate patch.
>
> - renaming as a separate patch
>

I think given that these are just changes between patch versions, not
renaming/modifying already committed code, that this is okay to go in
as one patch?

The actual patch is only doing one thing: adding a test suite for the
llist structure. I don't see the point in committing a version of it
only to immediately rename things and clean bits up separately in this
case.

Cheers,
-- David

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 5294 bytes --]