umber-kernel/include/kunit
Marie Zhussupova 4b59300ba4 kunit: Add parent kunit for parameterized test context
Currently, KUnit parameterized tests lack a mechanism to share
resources across parameter runs because the same `struct kunit`
instance is cleaned up and reused for each run.

This patch introduces parameterized test context, enabling test
users to share resources between parameter runs. It also allows
setting up resources that need to be available for all parameter
runs only once, which is helpful in cases where setup is expensive.

To establish a parameterized test context, this patch adds a
parent pointer field to `struct kunit`. This allows resources added
to the parent `struct kunit` to be shared and accessible across all
parameter runs.

In kunit_run_tests(), the default `struct kunit` created is now
designated to act as the parameterized test context whenever a test
is parameterized.

Subsequently, a new `struct kunit` is made for each parameter run, and
its parent pointer is set to the `struct kunit` that holds the
parameterized test context.

Link: https://lore.kernel.org/r/20250826091341.1427123-2-davidgow@google.com
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Rae Moar <rmoar@google.com>
Signed-off-by: Marie Zhussupova <marievic@google.com>
Signed-off-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2025-08-26 23:36:03 -06:00
..
assert.h kunit: Rename KUNIT_ASSERT_FAILURE to KUNIT_FAIL_AND_ABORT for readability 2024-07-12 10:12:05 -06:00
attributes.h kunit: Add ability to filter attributes 2023-07-26 13:29:15 -06:00
clk.h clk: test: Forward-declare struct of_phandle_args in kunit/clk.h 2025-05-06 14:50:01 -07:00
device.h kunit: Add APIs for managing devices 2023-12-18 13:28:08 -07:00
of.h of: kunit: Extract some overlay boiler plate into macros 2024-10-09 16:25:32 -07:00
platform_device.h kunit: platform: Resolve 'struct completion' warning 2025-01-11 16:00:36 -07:00
resource.h kunit: Add a macro to wrap a deferred action function 2023-12-18 13:21:14 -07:00
skbuff.h kunit: skb: add gfp to kernel doc for kunit_zalloc_skb() 2024-11-19 14:52:17 -07:00
static_stub.h kunit: Allow passing function pointer to kunit_activate_static_stub() 2024-01-03 09:06:52 -07:00
test-bug.h kunit: test-bug.h: include `stddef.h` for `NULL` 2023-07-18 15:38:13 -06:00
test.h kunit: Add parent kunit for parameterized test context 2025-08-26 23:36:03 -06:00
try-catch.h kunit: Adjust kunit_test timeout based on test_{suite,case} speed 2025-06-24 20:47:39 -06:00
visibility.h module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00