Message ID | 20240711193931.109771-1-ericchancf@google.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 7d4087b013895524438f2522367c984f776e09e3 |
Headers | show |
Series | kunit: Improve the readability and functionality of macro | expand |
On Fri, 12 Jul 2024 at 03:39, Eric Chan <ericchancf@google.com> wrote: > > Both KUNIT_FAIL and KUNIT_ASSERT_FAILURE defined to KUNIT_FAIL_ASSERTION > with different tpye of kunit_assert_type. The current naming of > KUNIT_ASSERT_FAILURE and KUNIT_FAIL_ASSERTION is confusing due to their > similarities. To improve readability and symmetry, renames > KUNIT_ASSERT_FAILURE to KUNIT_FAIL_AND_ABORT. Makes the naming > consistent, with KUNIT_FAIL and KUNIT_FAIL_AND_ABORT being symmetrical. > Additionally, an explanation for KUNIT_FAIL_AND_ABORT has been added to > clarify its usage. > > Signed-off-by: Eric Chan <ericchancf@google.com> > --- I like this much better, thanks. Reviewed-by: David Gow <davidgow@google.com> Cheers, -- David > drivers/input/tests/input_test.c | 2 +- > include/kunit/assert.h | 2 +- > include/kunit/test.h | 13 ++++++++++++- > 3 files changed, 14 insertions(+), 3 deletions(-) > > diff --git a/drivers/input/tests/input_test.c b/drivers/input/tests/input_test.c > index 2fa5b725ae0a..9711ced180b8 100644 > --- a/drivers/input/tests/input_test.c > +++ b/drivers/input/tests/input_test.c > @@ -31,7 +31,7 @@ static int input_test_init(struct kunit *test) > ret = input_register_device(input_dev); > if (ret) { > input_free_device(input_dev); > - KUNIT_ASSERT_FAILURE(test, "Register device failed: %d", ret); > + KUNIT_FAIL_AND_ABORT(test, "Register device failed: %d", ret); > } > > test->priv = input_dev; > diff --git a/include/kunit/assert.h b/include/kunit/assert.h > index 24c2b9fa61e8..9cc86a402c34 100644 > --- a/include/kunit/assert.h > +++ b/include/kunit/assert.h > @@ -60,7 +60,7 @@ void kunit_assert_prologue(const struct kunit_loc *loc, > * struct kunit_fail_assert - Represents a plain fail expectation/assertion. > * @assert: The parent of this type. > * > - * Represents a simple KUNIT_FAIL/KUNIT_ASSERT_FAILURE that always fails. > + * Represents a simple KUNIT_FAIL/KUNIT_FAIL_AND_ABORT that always fails. > */ > struct kunit_fail_assert { > struct kunit_assert assert; > diff --git a/include/kunit/test.h b/include/kunit/test.h > index 87a232421089..774c42721412 100644 > --- a/include/kunit/test.h > +++ b/include/kunit/test.h > @@ -1193,7 +1193,18 @@ do { \ > fmt, \ > ##__VA_ARGS__) > > -#define KUNIT_ASSERT_FAILURE(test, fmt, ...) \ > +/** > + * KUNIT_FAIL_AND_ABORT() - Always causes a test to fail and abort when evaluated. > + * @test: The test context object. > + * @fmt: an informational message to be printed when the assertion is made. > + * @...: string format arguments. > + * > + * The opposite of KUNIT_SUCCEED(), it is an assertion that always fails. In > + * other words, it always results in a failed assertion, and consequently > + * always causes the test case to fail and abort when evaluated. > + * See KUNIT_ASSERT_TRUE() for more information. > + */ > +#define KUNIT_FAIL_AND_ABORT(test, fmt, ...) \ > KUNIT_FAIL_ASSERTION(test, KUNIT_ASSERTION, fmt, ##__VA_ARGS__) > > /** > -- > 2.45.2.993.g49e7a77208-goog >
diff --git a/drivers/input/tests/input_test.c b/drivers/input/tests/input_test.c index 2fa5b725ae0a..9711ced180b8 100644 --- a/drivers/input/tests/input_test.c +++ b/drivers/input/tests/input_test.c @@ -31,7 +31,7 @@ static int input_test_init(struct kunit *test) ret = input_register_device(input_dev); if (ret) { input_free_device(input_dev); - KUNIT_ASSERT_FAILURE(test, "Register device failed: %d", ret); + KUNIT_FAIL_AND_ABORT(test, "Register device failed: %d", ret); } test->priv = input_dev; diff --git a/include/kunit/assert.h b/include/kunit/assert.h index 24c2b9fa61e8..9cc86a402c34 100644 --- a/include/kunit/assert.h +++ b/include/kunit/assert.h @@ -60,7 +60,7 @@ void kunit_assert_prologue(const struct kunit_loc *loc, * struct kunit_fail_assert - Represents a plain fail expectation/assertion. * @assert: The parent of this type. * - * Represents a simple KUNIT_FAIL/KUNIT_ASSERT_FAILURE that always fails. + * Represents a simple KUNIT_FAIL/KUNIT_FAIL_AND_ABORT that always fails. */ struct kunit_fail_assert { struct kunit_assert assert; diff --git a/include/kunit/test.h b/include/kunit/test.h index 87a232421089..774c42721412 100644 --- a/include/kunit/test.h +++ b/include/kunit/test.h @@ -1193,7 +1193,18 @@ do { \ fmt, \ ##__VA_ARGS__) -#define KUNIT_ASSERT_FAILURE(test, fmt, ...) \ +/** + * KUNIT_FAIL_AND_ABORT() - Always causes a test to fail and abort when evaluated. + * @test: The test context object. + * @fmt: an informational message to be printed when the assertion is made. + * @...: string format arguments. + * + * The opposite of KUNIT_SUCCEED(), it is an assertion that always fails. In + * other words, it always results in a failed assertion, and consequently + * always causes the test case to fail and abort when evaluated. + * See KUNIT_ASSERT_TRUE() for more information. + */ +#define KUNIT_FAIL_AND_ABORT(test, fmt, ...) \ KUNIT_FAIL_ASSERTION(test, KUNIT_ASSERTION, fmt, ##__VA_ARGS__) /**
Both KUNIT_FAIL and KUNIT_ASSERT_FAILURE defined to KUNIT_FAIL_ASSERTION with different tpye of kunit_assert_type. The current naming of KUNIT_ASSERT_FAILURE and KUNIT_FAIL_ASSERTION is confusing due to their similarities. To improve readability and symmetry, renames KUNIT_ASSERT_FAILURE to KUNIT_FAIL_AND_ABORT. Makes the naming consistent, with KUNIT_FAIL and KUNIT_FAIL_AND_ABORT being symmetrical. Additionally, an explanation for KUNIT_FAIL_AND_ABORT has been added to clarify its usage. Signed-off-by: Eric Chan <ericchancf@google.com> --- drivers/input/tests/input_test.c | 2 +- include/kunit/assert.h | 2 +- include/kunit/test.h | 13 ++++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-)