David Gow <[email protected]> writes: > Le 05/06/2026 à 12:28 AM, Vaibhav Jain a écrit : >> Add an example test suite name 'example_test_skip_suite' to >> 'kunit-example-test.c' that shows how to skip an entire test suite based on >> runtime conditions. >> >> The example suite 'example_skip_suite' provides a 'suite_init' callback >> named example_skip_suite_init() which marks the entire suite as skipped >> using kunit_mark_skipped(). >> >> This demonstrates a way for conditionally skipping test suites when any >> prerequisites for kunit_suite execution are not met. The 'suite_init' >> callback can perform any necessary checks and mark the suite as skipped, >> preventing all test cases from executing while also indicating why the >> suite was skipped. >> >> Signed-off-by: Vaibhav Jain <[email protected]> >> --- > > Thanks! > > Reviewed-by: David Gow <[email protected]> Awesome, thanks Will add your RB to v2 of the patch series > > Cheers, > -- David > >> lib/kunit/kunit-example-test.c | 29 +++++++++++++++++++++++++++++ >> 1 file changed, 29 insertions(+) >> >> diff --git a/lib/kunit/kunit-example-test.c b/lib/kunit/kunit-example-test.c >> index 0bae7b7ca0b0..b8ded54fa46d 100644 >> --- a/lib/kunit/kunit-example-test.c >> +++ b/lib/kunit/kunit-example-test.c >> @@ -591,5 +591,34 @@ static struct kunit_suite example_init_test_suite = { >> */ >> kunit_test_init_section_suites(&example_init_test_suite); >> >> +/* >> + * This test should always be skipped. >> + */ >> +static void example_skip_suite_test(struct kunit *test) >> +{ >> + /* This line should never be seen */ >> + KUNIT_FAIL(test, "You should not see a this."); >> +} >> + >> +static struct kunit_case example_skip_suite_test_cases[] = { >> + KUNIT_CASE(example_skip_suite_test), >> + {} >> +}; >> + >> +static int example_skip_suite_init(struct kunit_suite *suite) >> +{ >> + kunit_mark_skipped(suite, "Test suite expected to be skipped"); >> + return 0; >> +} >> + >> +static struct kunit_suite example_test_skip_suite = { >> + .name = "example_skip_suite", >> + .suite_init = example_skip_suite_init, >> + .test_cases = example_skip_suite_test_cases, >> +}; >> + >> +/* This registers a test suite that will be skipped */ >> +kunit_test_suite(example_test_skip_suite); >> + >> MODULE_DESCRIPTION("Example KUnit test suite"); >> MODULE_LICENSE("GPL v2"); >
-- Cheers ~ Vaibhav

