kunit: Introduce _NULL and _NOT_NULL macros
Today, when we want to check if a pointer is NULL and not ERR we have two options: KUNIT_EXPECT_TRUE(test, ptr == NULL); or KUNIT_EXPECT_PTR_NE(test, ptr, (struct mystruct *)NULL); Create a new set of macros that take care of NULL checks. Reviewed-by: Brendan Higgins <brendanhiggins@google.com> Reviewed-by: Daniel Latypov <dlatypov@google.com> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
aa1c05558e
commit
caae9458db
@ -1218,6 +1218,48 @@ do { \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* KUNIT_EXPECT_NULL() - Expects that @ptr is null.
|
||||
* @test: The test context object.
|
||||
* @ptr: an arbitrary pointer.
|
||||
*
|
||||
* Sets an expectation that the value that @ptr evaluates to is null. This is
|
||||
* semantically equivalent to KUNIT_EXPECT_PTR_EQ(@test, ptr, NULL).
|
||||
* See KUNIT_EXPECT_TRUE() for more information.
|
||||
*/
|
||||
#define KUNIT_EXPECT_NULL(test, ptr) \
|
||||
KUNIT_EXPECT_NULL_MSG(test, \
|
||||
ptr, \
|
||||
NULL)
|
||||
|
||||
#define KUNIT_EXPECT_NULL_MSG(test, ptr, fmt, ...) \
|
||||
KUNIT_BINARY_PTR_ASSERTION(test, \
|
||||
KUNIT_EXPECTATION, \
|
||||
ptr, ==, NULL, \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* KUNIT_EXPECT_NOT_NULL() - Expects that @ptr is not null.
|
||||
* @test: The test context object.
|
||||
* @ptr: an arbitrary pointer.
|
||||
*
|
||||
* Sets an expectation that the value that @ptr evaluates to is not null. This
|
||||
* is semantically equivalent to KUNIT_EXPECT_PTR_NE(@test, ptr, NULL).
|
||||
* See KUNIT_EXPECT_TRUE() for more information.
|
||||
*/
|
||||
#define KUNIT_EXPECT_NOT_NULL(test, ptr) \
|
||||
KUNIT_EXPECT_NOT_NULL_MSG(test, \
|
||||
ptr, \
|
||||
NULL)
|
||||
|
||||
#define KUNIT_EXPECT_NOT_NULL_MSG(test, ptr, fmt, ...) \
|
||||
KUNIT_BINARY_PTR_ASSERTION(test, \
|
||||
KUNIT_EXPECTATION, \
|
||||
ptr, !=, NULL, \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* KUNIT_EXPECT_NOT_ERR_OR_NULL() - Expects that @ptr is not null and not err.
|
||||
* @test: The test context object.
|
||||
@ -1485,6 +1527,48 @@ do { \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* KUNIT_ASSERT_NULL() - Asserts that pointers @ptr is null.
|
||||
* @test: The test context object.
|
||||
* @ptr: an arbitrary pointer.
|
||||
*
|
||||
* Sets an assertion that the values that @ptr evaluates to is null. This is
|
||||
* the same as KUNIT_EXPECT_NULL(), except it causes an assertion
|
||||
* failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.
|
||||
*/
|
||||
#define KUNIT_ASSERT_NULL(test, ptr) \
|
||||
KUNIT_ASSERT_NULL_MSG(test, \
|
||||
ptr, \
|
||||
NULL)
|
||||
|
||||
#define KUNIT_ASSERT_NULL_MSG(test, ptr, fmt, ...) \
|
||||
KUNIT_BINARY_PTR_ASSERTION(test, \
|
||||
KUNIT_ASSERTION, \
|
||||
ptr, ==, NULL, \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* KUNIT_ASSERT_NOT_NULL() - Asserts that pointers @ptr is not null.
|
||||
* @test: The test context object.
|
||||
* @ptr: an arbitrary pointer.
|
||||
*
|
||||
* Sets an assertion that the values that @ptr evaluates to is not null. This
|
||||
* is the same as KUNIT_EXPECT_NOT_NULL(), except it causes an assertion
|
||||
* failure (see KUNIT_ASSERT_TRUE()) when the assertion is not met.
|
||||
*/
|
||||
#define KUNIT_ASSERT_NOT_NULL(test, ptr) \
|
||||
KUNIT_ASSERT_NOT_NULL_MSG(test, \
|
||||
ptr, \
|
||||
NULL)
|
||||
|
||||
#define KUNIT_ASSERT_NOT_NULL_MSG(test, ptr, fmt, ...) \
|
||||
KUNIT_BINARY_PTR_ASSERTION(test, \
|
||||
KUNIT_ASSERTION, \
|
||||
ptr, !=, NULL, \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* KUNIT_ASSERT_NOT_ERR_OR_NULL() - Assertion that @ptr is not null and not err.
|
||||
* @test: The test context object.
|
||||
|
Loading…
Reference in New Issue
Block a user