Message ID | 20220802212621.420840-3-mairacanal@riseup.net (mailing list archive) |
---|---|
State | New |
Delegated to: | Brendan Higgins |
Headers | show |
Series | [v2,1/3] kunit: Introduce KUNIT_EXPECT_MEMEQ and KUNIT_EXPECT_MEMNEQ macros | expand |
On Tue, Aug 2, 2022 at 2:26 PM Maíra Canal <mairacanal@riseup.net> wrote: > > Increament the example_all_expect_macros_test with the nit: typo ("Increment") But "Augment" would be a bit more idiomatic here Sorry I didn't catch this one in v1. > KUNIT_EXPECT_MEMEQ and KUNIT_EXPECT_MEMNEQ macros by creating a test > with memory block assertions. > > Signed-off-by: Maíra Canal <mairacanal@riseup.net> Reviewed-by: Daniel Latypov <dlatypov@google.com> Thanks! Just a couple very small nits (one above, one below). > --- > - Change the macro KUNIT_EXPECT_ARREQ to KUNIT_EXPECT_MEMEQ, in order to make > it easier for users to infer the right size unit (Daniel Latypov). > - Replace a constant number of array elements for ARRAY_SIZE() (André Almeida). > - Rename "array" and "expected" variables to "array1" and "array2" (Daniel Latypov). > --- > lib/kunit/kunit-example-test.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/lib/kunit/kunit-example-test.c b/lib/kunit/kunit-example-test.c > index f8fe582c9e36..8a9b0eeb1934 100644 > --- a/lib/kunit/kunit-example-test.c > +++ b/lib/kunit/kunit-example-test.c > @@ -86,6 +86,9 @@ static void example_mark_skipped_test(struct kunit *test) > */ > static void example_all_expect_macros_test(struct kunit *test) > { > + const u32 array1[] = { 0x0F, 0xFF }; > + const u32 array2[] = { 0x1F, 0xFF }; > + > /* Boolean assertions */ > KUNIT_EXPECT_TRUE(test, true); > KUNIT_EXPECT_FALSE(test, false); > @@ -109,6 +112,10 @@ static void example_all_expect_macros_test(struct kunit *test) > KUNIT_EXPECT_STREQ(test, "hi", "hi"); > KUNIT_EXPECT_STRNEQ(test, "hi", "bye"); > > + /* Memory block assertions */ > + KUNIT_EXPECT_MEMEQ(test, array1, array1, sizeof(u32) * ARRAY_SIZE(array1)); > + KUNIT_EXPECT_MEMNEQ(test, array1, array2, sizeof(u32) * ARRAY_SIZE(array1)); Note: the following would be equivalent KUNIT_EXPECT_MEMEQ(test, array1, array1, sizeof(array1)); KUNIT_EXPECT_MEMNEQ(test, array1, array2, sizeof(array1)); I think now we've dropped the use of "array equal", sizeof() is also generally more appropriate. We could also optionally prefix these with KUNIT_ASSERT_EQ(test, sizeof(array1), sizeof(array2)); if we want to be extra paranoid here, but I don't think that's really necessary.
diff --git a/lib/kunit/kunit-example-test.c b/lib/kunit/kunit-example-test.c index f8fe582c9e36..8a9b0eeb1934 100644 --- a/lib/kunit/kunit-example-test.c +++ b/lib/kunit/kunit-example-test.c @@ -86,6 +86,9 @@ static void example_mark_skipped_test(struct kunit *test) */ static void example_all_expect_macros_test(struct kunit *test) { + const u32 array1[] = { 0x0F, 0xFF }; + const u32 array2[] = { 0x1F, 0xFF }; + /* Boolean assertions */ KUNIT_EXPECT_TRUE(test, true); KUNIT_EXPECT_FALSE(test, false); @@ -109,6 +112,10 @@ static void example_all_expect_macros_test(struct kunit *test) KUNIT_EXPECT_STREQ(test, "hi", "hi"); KUNIT_EXPECT_STRNEQ(test, "hi", "bye"); + /* Memory block assertions */ + KUNIT_EXPECT_MEMEQ(test, array1, array1, sizeof(u32) * ARRAY_SIZE(array1)); + KUNIT_EXPECT_MEMNEQ(test, array1, array2, sizeof(u32) * ARRAY_SIZE(array1)); + /* * There are also ASSERT variants of all of the above that abort test * execution if they fail. Useful for memory allocations, etc.
Increament the example_all_expect_macros_test with the KUNIT_EXPECT_MEMEQ and KUNIT_EXPECT_MEMNEQ macros by creating a test with memory block assertions. Signed-off-by: Maíra Canal <mairacanal@riseup.net> --- - Change the macro KUNIT_EXPECT_ARREQ to KUNIT_EXPECT_MEMEQ, in order to make it easier for users to infer the right size unit (Daniel Latypov). - Replace a constant number of array elements for ARRAY_SIZE() (André Almeida). - Rename "array" and "expected" variables to "array1" and "array2" (Daniel Latypov). --- lib/kunit/kunit-example-test.c | 7 +++++++ 1 file changed, 7 insertions(+)