mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
kunit: Reset suite count after running tests
There are some KUnit tests (KFENCE, Thunderbolt) which, for various reasons, do not use the kunit_test_suite() macro and end up running before the KUnit executor runs its tests. This means that their results are printed separately, and they aren't included in the suite count used by the executor. This causes the executor output to be invalid TAP, however, as the suite numbers used are no-longer 1-based, and don't match the test plan. kunit_tool, therefore, prints a large number of warnings. While it'd be nice to fix the tests to run in the executor, in the meantime, reset the suite counter to 1 in __kunit_test_suites_exit. Not only does this fix the executor, it means that if there are multiple calls to __kunit_test_suites_init() across different tests, they'll each get their own numbering. kunit_tool likes this better: even if it's lacking the results for those tests which don't use the executor (due to the lack of TAP header), the output for the other tests is valid. Signed-off-by: David Gow <davidgow@google.com> Reviewed-by: Daniel Latypov <dlatypov@google.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
d65d07cb5b
commit
17ac23eb43
@ -190,10 +190,10 @@ enum kunit_status kunit_suite_has_succeeded(struct kunit_suite *suite)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(kunit_suite_has_succeeded);
|
EXPORT_SYMBOL_GPL(kunit_suite_has_succeeded);
|
||||||
|
|
||||||
static void kunit_print_subtest_end(struct kunit_suite *suite)
|
|
||||||
{
|
|
||||||
static size_t kunit_suite_counter = 1;
|
static size_t kunit_suite_counter = 1;
|
||||||
|
|
||||||
|
static void kunit_print_subtest_end(struct kunit_suite *suite)
|
||||||
|
{
|
||||||
kunit_print_ok_not_ok((void *)suite, false,
|
kunit_print_ok_not_ok((void *)suite, false,
|
||||||
kunit_suite_has_succeeded(suite),
|
kunit_suite_has_succeeded(suite),
|
||||||
kunit_suite_counter++,
|
kunit_suite_counter++,
|
||||||
@ -583,6 +583,8 @@ void __kunit_test_suites_exit(struct kunit_suite **suites)
|
|||||||
|
|
||||||
for (i = 0; suites[i] != NULL; i++)
|
for (i = 0; suites[i] != NULL; i++)
|
||||||
kunit_exit_suite(suites[i]);
|
kunit_exit_suite(suites[i]);
|
||||||
|
|
||||||
|
kunit_suite_counter = 1;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(__kunit_test_suites_exit);
|
EXPORT_SYMBOL_GPL(__kunit_test_suites_exit);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user