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