lkml.org 
[lkml]   [2019]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v12 04/18] kunit: test: add assertion printing library
    On Mon, Aug 12, 2019 at 4:56 PM Brendan Higgins
    <brendanhiggins@google.com> wrote:
    >
    > On Mon, Aug 12, 2019 at 4:46 PM Stephen Boyd <sboyd@kernel.org> wrote:
    > >
    > > 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?
    >
    > Not unless I have been using the wrong formatting for multiline
    > macros. You can see this commit applied here:
    > https://kunit.googlesource.com/linux/+/870964da2990920030990dd1ffb647ef408e52df/include/kunit/assert.h#59
    >
    > I have test, type, and kunit_fail_assert_format all column aligned (it
    > just doesn't render nicely in the patch format).

    Disregard that last comment. I just looked at the line immediately
    above your comment and thought it looked correct. Sorry about that
    (you were pointing out that the .assert line looked wrong, correct?).

    > > > +}
    > > > +
    > > > +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.
    >
    > Sounds good. Will fix.

    \
     
     \ /
      Last update: 2019-08-13 06:28    [W:7.300 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site