Re: [PATCH v12 04/18] kunit: test: add assertion printing library

Stephen Boyd
2019-08-12T23:46:47Z

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.