aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/kunit/assert.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/kunit/assert.h')
-rw-r--r--include/kunit/assert.h33
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 */