summaryrefslogtreecommitdiff
path: root/lib/kunit/test.c
diff options
context:
space:
mode:
authorMarie Zhussupova <marievic@google.com>2025-08-26 17:13:33 +0800
committerShuah Khan <skhan@linuxfoundation.org>2025-08-26 23:36:03 -0600
commitb9a214b5f6aa55870b5678f31084f85c0c11ffdc (patch)
treec4d756806c025618d3bf1c8a5d316a1733940aba /lib/kunit/test.c
parent241423580e5e8d8b10b14b382379f4928b87be17 (diff)
kunit: Pass parameterized test context to generate_params()
To enable more complex parameterized testing scenarios, the generate_params() function needs additional context beyond just the previously generated parameter. This patch modifies the generate_params() function signature to include an extra `struct kunit *test` argument, giving test users access to the parameterized test context when generating parameters. The `struct kunit *test` argument was added as the first parameter to the function signature as it aligns with the convention of other KUnit functions that accept `struct kunit *test` first. This also mirrors the "this" or "self" reference found in object-oriented programming languages. This patch also modifies xe_pci_live_device_gen_param() in xe_pci.c and nthreads_gen_params() in kcsan_test.c to reflect this signature change. Link: https://lore.kernel.org/r/20250826091341.1427123-4-davidgow@google.com Reviewed-by: David Gow <davidgow@google.com> Reviewed-by: Rae Moar <rmoar@google.com> Acked-by: Marco Elver <elver@google.com> Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Marie Zhussupova <marievic@google.com> [Catch some additional gen_params signatures in drm/xe/tests --David] Signed-off-by: David Gow <davidgow@google.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'lib/kunit/test.c')
-rw-r--r--lib/kunit/test.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/kunit/test.c b/lib/kunit/test.c
index 0fe61dec5a96..50705248abad 100644
--- a/lib/kunit/test.c
+++ b/lib/kunit/test.c
@@ -700,7 +700,7 @@ int kunit_run_tests(struct kunit_suite *suite)
/* Get initial param. */
param_desc[0] = '\0';
/* TODO: Make generate_params try-catch */
- curr_param = test_case->generate_params(NULL, param_desc);
+ curr_param = test_case->generate_params(&test, NULL, param_desc);
test_case->status = KUNIT_SKIPPED;
kunit_log(KERN_INFO, &test, KUNIT_SUBTEST_INDENT KUNIT_SUBTEST_INDENT
"KTAP version 1\n");
@@ -731,7 +731,8 @@ int kunit_run_tests(struct kunit_suite *suite)
/* Get next param. */
param_desc[0] = '\0';
- curr_param = test_case->generate_params(curr_param, param_desc);
+ curr_param = test_case->generate_params(&test, curr_param,
+ param_desc);
}
/*
* TODO: Put into a try catch. Since we don't need suite->exit