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.