summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/assert.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/include/assert.h b/src/include/assert.h
index 944c67768a..829e73207e 100644
--- a/src/include/assert.h
+++ b/src/include/assert.h
@@ -29,12 +29,24 @@
#define __build_time_assert(x) 0
#endif
+/* CMocka function redefinition. */
+void mock_assert(const int result, const char *const expression,
+ const char *const file, const int line);
+
+#if ENV_TEST
+#define MOCK_ASSERT(result, expression) \
+ mock_assert((result), (expression), __ASSERT_FILE__, __ASSERT_LINE__)
+#else
+#define MOCK_ASSERT(result, expression)
+#endif
+
/* GCC and CAR versions */
#define ASSERT(x) { \
if (!__build_time_assert(x) && !(x)) { \
printk(BIOS_EMERG, \
"ASSERTION ERROR: file '%s', line %d\n", \
__ASSERT_FILE__, __ASSERT_LINE__); \
+ MOCK_ASSERT(!!(x), #x); \
if (CONFIG(FATAL_ASSERTS)) \
hlt(); \
} \
@@ -45,6 +57,7 @@
"ASSERTION ERROR: file '%s', line %d\n", \
__ASSERT_FILE__, __ASSERT_LINE__); \
printk(BIOS_EMERG, "%s", msg); \
+ MOCK_ASSERT(!!(x), (msg)); \
if (CONFIG(FATAL_ASSERTS)) \
hlt(); \
} \
@@ -53,6 +66,7 @@
printk(BIOS_EMERG, \
"ERROR: BUG ENCOUNTERED at file '%s', line %d\n", \
__ASSERT_FILE__, __ASSERT_LINE__); \
+ MOCK_ASSERT(0, "BUG ENCOUNTERED"); \
if (CONFIG(FATAL_ASSERTS)) \
hlt(); \
}