kunit: drop unused assert_type from kunit_assert and clean up macros

This field has been split out from kunit_assert to make the struct less
heavy along with the filename and line number.

This change drops the assert_type field and cleans up all the macros
that were plumbing assert_type into kunit_assert.

Signed-off-by: Daniel Latypov <dlatypov@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Daniel Latypov 2022-01-13 08:59:31 -08:00 committed by Shuah Khan
parent 21957f90b2
commit 05a7da89c1
2 changed files with 19 additions and 43 deletions

View File

@ -42,7 +42,6 @@ struct kunit_loc {
/**
* struct kunit_assert - Data for printing a failed assertion or expectation.
* @type: the type (either an expectation or an assertion) of this kunit_assert.
* @message: an optional message to provide additional context.
* @format: a function which formats the data in this kunit_assert to a string.
*
@ -50,9 +49,6 @@ struct kunit_loc {
* format a string to a user reporting the failure.
*/
struct kunit_assert {
// TODO(dlatypov@google.com): delete this unused field when we've
// updated all the related KUNIT_INIT_ASSERT* macros.
enum kunit_assert_type type;
struct va_format message;
void (*format)(const struct kunit_assert *assert,
struct string_stream *stream);
@ -68,13 +64,11 @@ struct kunit_assert {
/**
* KUNIT_INIT_ASSERT_STRUCT() - Initializer for a &struct kunit_assert.
* @assert_type: The type (assertion or expectation) of this kunit_assert.
* @fmt: The formatting function which builds a string out of this kunit_assert.
*
* The base initializer for a &struct kunit_assert.
*/
#define KUNIT_INIT_ASSERT_STRUCT(assert_type, fmt) { \
.type = assert_type, \
#define KUNIT_INIT_ASSERT_STRUCT(fmt) { \
.message = KUNIT_INIT_VA_FMT_NULL, \
.format = fmt \
}
@ -100,15 +94,13 @@ void kunit_fail_assert_format(const struct kunit_assert *assert,
struct string_stream *stream);
/**
* KUNIT_INIT_FAIL_ASSERT_STRUCT() - Initializer for &struct kunit_fail_assert.
* @type: The type (assertion or expectation) of this kunit_assert.
* KUNIT_INIT_FAIL_ASSERT_STRUCT - Initializer for &struct kunit_fail_assert.
*
* Initializes a &struct kunit_fail_assert. Intended to be used in
* KUNIT_EXPECT_* and KUNIT_ASSERT_* macros.
*/
#define KUNIT_INIT_FAIL_ASSERT_STRUCT(type) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(type, \
kunit_fail_assert_format) \
#define KUNIT_INIT_FAIL_ASSERT_STRUCT { \
.assert = KUNIT_INIT_ASSERT_STRUCT(kunit_fail_assert_format) \
}
/**
@ -132,16 +124,14 @@ void kunit_unary_assert_format(const struct kunit_assert *assert,
/**
* KUNIT_INIT_UNARY_ASSERT_STRUCT() - Initializes &struct kunit_unary_assert.
* @type: The type (assertion or expectation) of this kunit_assert.
* @cond: A string representation of the expression asserted true or false.
* @expect_true: True if of type KUNIT_{EXPECT|ASSERT}_TRUE, false otherwise.
*
* Initializes a &struct kunit_unary_assert. Intended to be used in
* KUNIT_EXPECT_* and KUNIT_ASSERT_* macros.
*/
#define KUNIT_INIT_UNARY_ASSERT_STRUCT(type, cond, expect_true) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(type, \
kunit_unary_assert_format), \
#define KUNIT_INIT_UNARY_ASSERT_STRUCT(cond, expect_true) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(kunit_unary_assert_format), \
.condition = cond, \
.expected_true = expect_true \
}
@ -168,16 +158,14 @@ void kunit_ptr_not_err_assert_format(const struct kunit_assert *assert,
/**
* KUNIT_INIT_PTR_NOT_ERR_ASSERT_STRUCT() - Initializes a
* &struct kunit_ptr_not_err_assert.
* @type: The type (assertion or expectation) of this kunit_assert.
* @txt: A string representation of the expression passed to the expectation.
* @val: The actual evaluated pointer value of the expression.
*
* Initializes a &struct kunit_ptr_not_err_assert. Intended to be used in
* KUNIT_EXPECT_* and KUNIT_ASSERT_* macros.
*/
#define KUNIT_INIT_PTR_NOT_ERR_STRUCT(type, txt, val) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(type, \
kunit_ptr_not_err_assert_format), \
#define KUNIT_INIT_PTR_NOT_ERR_STRUCT(txt, val) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(kunit_ptr_not_err_assert_format), \
.text = txt, \
.value = val \
}
@ -211,7 +199,6 @@ void kunit_binary_assert_format(const struct kunit_assert *assert,
/**
* KUNIT_INIT_BINARY_ASSERT_STRUCT() - Initializes a
* &struct kunit_binary_assert.
* @type: The type (assertion or expectation) of this kunit_assert.
* @op_str: A string representation of the comparison operator (e.g. "==").
* @left_str: A string representation of the expression in the left slot.
* @left_val: The actual evaluated value of the expression in the left slot.
@ -221,14 +208,12 @@ void kunit_binary_assert_format(const struct kunit_assert *assert,
* Initializes a &struct kunit_binary_assert. Intended to be used in
* KUNIT_EXPECT_* and KUNIT_ASSERT_* macros.
*/
#define KUNIT_INIT_BINARY_ASSERT_STRUCT(type, \
op_str, \
#define KUNIT_INIT_BINARY_ASSERT_STRUCT(op_str, \
left_str, \
left_val, \
right_str, \
right_val) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(type, \
kunit_binary_assert_format), \
.assert = KUNIT_INIT_ASSERT_STRUCT(kunit_binary_assert_format), \
.operation = op_str, \
.left_text = left_str, \
.left_value = left_val, \
@ -275,14 +260,12 @@ void kunit_binary_ptr_assert_format(const struct kunit_assert *assert,
* Initializes a &struct kunit_binary_ptr_assert. Intended to be used in
* KUNIT_EXPECT_* and KUNIT_ASSERT_* macros.
*/
#define KUNIT_INIT_BINARY_PTR_ASSERT_STRUCT(type, \
op_str, \
#define KUNIT_INIT_BINARY_PTR_ASSERT_STRUCT(op_str, \
left_str, \
left_val, \
right_str, \
right_val) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(type, \
kunit_binary_ptr_assert_format), \
.assert = KUNIT_INIT_ASSERT_STRUCT(kunit_binary_ptr_assert_format), \
.operation = op_str, \
.left_text = left_str, \
.left_value = left_val, \
@ -319,7 +302,6 @@ void kunit_binary_str_assert_format(const struct kunit_assert *assert,
/**
* KUNIT_INIT_BINARY_STR_ASSERT_STRUCT() - Initializes a
* &struct kunit_binary_str_assert.
* @type: The type (assertion or expectation) of this kunit_assert.
* @op_str: A string representation of the comparison operator (e.g. "==").
* @left_str: A string representation of the expression in the left slot.
* @left_val: The actual evaluated value of the expression in the left slot.
@ -329,14 +311,12 @@ void kunit_binary_str_assert_format(const struct kunit_assert *assert,
* Initializes a &struct kunit_binary_str_assert. Intended to be used in
* KUNIT_EXPECT_* and KUNIT_ASSERT_* macros.
*/
#define KUNIT_INIT_BINARY_STR_ASSERT_STRUCT(type, \
op_str, \
#define KUNIT_INIT_BINARY_STR_ASSERT_STRUCT(op_str, \
left_str, \
left_val, \
right_str, \
right_val) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(type, \
kunit_binary_str_assert_format), \
.assert = KUNIT_INIT_ASSERT_STRUCT(kunit_binary_str_assert_format), \
.operation = op_str, \
.left_text = left_str, \
.left_value = left_val, \

View File

@ -796,7 +796,7 @@ void kunit_do_failed_assertion(struct kunit *test,
assert_type, \
false, \
kunit_fail_assert, \
KUNIT_INIT_FAIL_ASSERT_STRUCT(assert_type), \
KUNIT_INIT_FAIL_ASSERT_STRUCT, \
fmt, \
##__VA_ARGS__)
@ -827,8 +827,7 @@ void kunit_do_failed_assertion(struct kunit *test,
assert_type, \
!!(condition) == !!expected_true, \
kunit_unary_assert, \
KUNIT_INIT_UNARY_ASSERT_STRUCT(assert_type, \
#condition, \
KUNIT_INIT_UNARY_ASSERT_STRUCT(#condition, \
expected_true), \
fmt, \
##__VA_ARGS__)
@ -886,8 +885,7 @@ do { \
assert_type, \
__left op __right, \
assert_class, \
ASSERT_CLASS_INIT(assert_type, \
#op, \
ASSERT_CLASS_INIT(#op, \
#left, \
__left, \
#right, \
@ -1241,8 +1239,7 @@ do { \
assert_type, \
strcmp(__left, __right) op 0, \
kunit_binary_str_assert, \
KUNIT_INIT_BINARY_STR_ASSERT_STRUCT(assert_type, \
#op, \
KUNIT_INIT_BINARY_STR_ASSERT_STRUCT(#op, \
#left, \
__left, \
#right, \
@ -1301,8 +1298,7 @@ do { \
assert_type, \
!IS_ERR_OR_NULL(__ptr), \
kunit_ptr_not_err_assert, \
KUNIT_INIT_PTR_NOT_ERR_STRUCT(assert_type, \
#ptr, \
KUNIT_INIT_PTR_NOT_ERR_STRUCT(#ptr, \
__ptr), \
fmt, \
##__VA_ARGS__); \