[PATCH v12 04/18] kunit: test: add assertion printing library
Stephen Boyd
sboyd at kernel.org
Mon Aug 12 23:46:44 UTC 2019
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 at google.com>
> ---
Reviewed-by: Stephen Boyd <sboyd at 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.
More information about the dri-devel
mailing list