On Fri, 25 Jun 2021 at 08:58, David Gow <davidgow@xxxxxxxxxx> wrote: > > Add two new tests to the example test suite, both of which are always > skipped. This is used as an example for how to write tests which are > skipped, and to demonstrate the difference between kunit_skip() and > kunit_mark_skipped(). > > Note that these tests are enabled by default, so a default run of KUnit > will have two skipped tests. > > Signed-off-by: David Gow <davidgow@xxxxxxxxxx> > Reviewed-by: Daniel Latypov <dlatypov@xxxxxxxxxx> > Reviewed-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx> Reviewed-by: Marco Elver <elver@xxxxxxxxxx> > --- > > No changes since v4: > https://lore.kernel.org/linux-kselftest/20210611070802.1318911-3-davidgow@xxxxxxxxxx/ > > No changes since v3: > https://lore.kernel.org/linux-kselftest/20210608065111.610297-1-davidgow@xxxxxxxxxx/ > > No changes since v2: > https://lore.kernel.org/linux-kselftest/20210528075932.347154-3-davidgow@xxxxxxxxxx/ > > Changes since v1: > https://lore.kernel.org/linux-kselftest/20210526081112.3652290-3-davidgow@xxxxxxxxxx/ > - These tests are now part of the example test suite. > - Use kunit_info() instead of kunit_log(KERN_INFO, ...) > - Use KUNIT_FAIL() to assert the test is not executing for skip_test > > lib/kunit/kunit-example-test.c | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > > diff --git a/lib/kunit/kunit-example-test.c b/lib/kunit/kunit-example-test.c > index be1164ecc476..51099b0ca29c 100644 > --- a/lib/kunit/kunit-example-test.c > +++ b/lib/kunit/kunit-example-test.c > @@ -40,6 +40,35 @@ static int example_test_init(struct kunit *test) > return 0; > } > > +/* > + * This test should always be skipped. > + */ > +static void example_skip_test(struct kunit *test) > +{ > + /* This line should run */ > + kunit_info(test, "You should not see a line below."); > + > + /* Skip (and abort) the test */ > + kunit_skip(test, "this test should be skipped"); > + > + /* This line should not execute */ > + KUNIT_FAIL(test, "You should not see this line."); > +} > + > +/* > + * This test should always be marked skipped. > + */ > +static void example_mark_skipped_test(struct kunit *test) > +{ > + /* This line should run */ > + kunit_info(test, "You should see a line below."); > + > + /* Skip (but do not abort) the test */ > + kunit_mark_skipped(test, "this test should be skipped"); > + > + /* This line should run */ > + kunit_info(test, "You should see this line."); > +} > /* > * Here we make a list of all the test cases we want to add to the test suite > * below. > @@ -52,6 +81,8 @@ static struct kunit_case example_test_cases[] = { > * test suite. > */ > KUNIT_CASE(example_simple_test), > + KUNIT_CASE(example_skip_test), > + KUNIT_CASE(example_mark_skipped_test), > {} > }; > > -- > 2.32.0.93.g670b81a890-goog >