Message ID | 20210625065815.322131-3-davidgow@google.com |
---|---|
State | Accepted |
Commit | d99ea675141934a1ea5cd1b2adff34eafcb779bc |
Headers | show |
Series | [kunit-fixes,v5,1/4] kunit: Support skipped tests | expand |
On Fri, 25 Jun 2021 at 08:58, David Gow <davidgow@google.com> 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@google.com> > Reviewed-by: Daniel Latypov <dlatypov@google.com> > Reviewed-by: Brendan Higgins <brendanhiggins@google.com> Reviewed-by: Marco Elver <elver@google.com> > --- > > No changes since v4: > https://lore.kernel.org/linux-kselftest/20210611070802.1318911-3-davidgow@google.com/ > > No changes since v3: > https://lore.kernel.org/linux-kselftest/20210608065111.610297-1-davidgow@google.com/ > > No changes since v2: > https://lore.kernel.org/linux-kselftest/20210528075932.347154-3-davidgow@google.com/ > > Changes since v1: > https://lore.kernel.org/linux-kselftest/20210526081112.3652290-3-davidgow@google.com/ > - 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 >
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), {} };