diff options
Diffstat (limited to 'include/kunit/assert.h')
-rw-r--r-- | include/kunit/assert.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/kunit/assert.h b/include/kunit/assert.h index ace3de8d1ee7..e8a59487fd59 100644 --- a/include/kunit/assert.h +++ b/include/kunit/assert.h @@ -240,4 +240,37 @@ void kunit_binary_str_assert_format(const struct kunit_assert *assert, const struct va_format *message, struct string_stream *stream); +#define KUNIT_INIT_MEM_ASSERT_STRUCT(text_, left_val, right_val, size_) { \ + .text = text_, \ + .left_value = left_val, \ + .right_value = right_val, \ + .size = size_ \ +} + +/** + * struct kunit_mem_assert - An expectation/assertion that compares two + * memory blocks. + * @assert: The parent of this type. + * @text: Holds the textual representations of the operands and comparator. + * @left_value: The actual evaluated value of the expression in the left slot. + * @right_value: The actual evaluated value of the expression in the right slot. + * @size: Size of the memory block analysed in bytes. + * + * Represents an expectation/assertion that compares two memory blocks. For + * example, to expect that the first three bytes of foo is equal to the + * first three bytes of bar, you can use the expectation + * KUNIT_EXPECT_MEMEQ(test, foo, bar, 3); + */ +struct kunit_mem_assert { + struct kunit_assert assert; + const struct kunit_binary_assert_text *text; + const void *left_value; + const void *right_value; + const size_t size; +}; + +void kunit_mem_assert_format(const struct kunit_assert *assert, + const struct va_format *message, + struct string_stream *stream); + #endif /* _KUNIT_ASSERT_H */ |