Quoting Brendan Higgins (2019-08-12 11:24:07)
Add `struct kunit_assert` and friends which provide a structured way to capture data from an expectation or an assertion (introduced later in the series) so that it may be printed out in the event of a failure.
Signed-off-by: Brendan Higgins brendanhiggins@google.com
Reviewed-by: Stephen Boyd sboyd@kernel.org
Just some minor nits below
diff --git a/include/kunit/assert.h b/include/kunit/assert.h new file mode 100644 index 0000000000000..55f1b88b0cb4d --- /dev/null +++ b/include/kunit/assert.h @@ -0,0 +1,183 @@
[...]
struct string_stream *stream);+struct kunit_fail_assert {
struct kunit_assert assert;+};
+void kunit_fail_assert_format(const struct kunit_assert *assert,
struct string_stream *stream);+#define KUNIT_INIT_FAIL_ASSERT_STRUCT(test, type) { \
.assert = KUNIT_INIT_ASSERT_STRUCT(test, \type, \kunit_fail_assert_format) \
This one got indented one too many times?
+}
+struct kunit_unary_assert {
struct kunit_assert assert;const char *condition;bool expected_true;+};
+void kunit_unary_assert_format(const struct kunit_assert *assert,
struct string_stream *stream);
[...]
+#define KUNIT_INIT_BINARY_STR_ASSERT_STRUCT(test, \
type, \op_str, \left_str, \left_val, \right_str, \right_val) { \.assert = KUNIT_INIT_ASSERT_STRUCT(test, \type, \kunit_binary_str_assert_format), \.operation = op_str, \.left_text = left_str, \.left_value = left_val, \.right_text = right_str, \.right_value = right_val \+}
It would be nice to have kernel doc on these macros so we know how to use them.