diff mbox series

[kunit-fixes,v5,3/4] kunit: test: Add example tests which are always skipped

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

Commit Message

David Gow June 25, 2021, 6:58 a.m. UTC
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>
---

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(+)

Comments

Marco Elver June 25, 2021, 10:52 a.m. UTC | #1
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 mbox series

Patch

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),
 	{}
 };