diff options
| author | Carlos Llamas <cmllamas@google.com> | 2025-10-24 19:01:00 +0000 |
|---|---|---|
| committer | Shuah Khan <skhan@linuxfoundation.org> | 2025-10-27 11:13:31 -0600 |
| commit | 8080c67dd57cb968150b668ecbd4a4e4afd56ad4 (patch) | |
| tree | 01e1afcddf4b1f3de14120e0178e522cfb483b0b /lib/kunit | |
| parent | 2551a1eedc09f5a86f94b038dc1bb16855c256f1 (diff) | |
kunit: prevent log overwrite in param_tests
When running parameterized tests, each test case is initialized with
kunit_init_test(). This function takes the test_case->log as a parameter
but it clears it via string_stream_clear() on each iteration.
This results in only the log from the last parameter being preserved in
the test_case->log and the results from the previous parameters are lost
from the debugfs entry.
Fix this by manually setting the param_test.log to the test_case->log
after it has been initialized. This prevents kunit_init_test() from
clearing the log on each iteration.
Link: https://lore.kernel.org/r/20251024190101.2091549-1-cmllamas@google.com
Fixes: 4b59300ba4d2 ("kunit: Add parent kunit for parameterized test context")
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'lib/kunit')
| -rw-r--r-- | lib/kunit/test.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/kunit/test.c b/lib/kunit/test.c index bb66ea1a3eac..62eb529824c6 100644 --- a/lib/kunit/test.c +++ b/lib/kunit/test.c @@ -745,7 +745,8 @@ int kunit_run_tests(struct kunit_suite *suite) .param_index = ++test.param_index, .parent = &test, }; - kunit_init_test(¶m_test, test_case->name, test_case->log); + kunit_init_test(¶m_test, test_case->name, NULL); + param_test.log = test_case->log; kunit_run_case_catch_errors(suite, test_case, ¶m_test); if (param_desc[0] == '\0') { |
