[PATCH v5 09/19] libcflat: add abort() and assert()

Andrew Jones
2014-06-11T14:01:54Z

The test framework may have external dependencies. assert() provides
the ability to abort when those dependencies aren't met. However,
assert() should only be used for unlikely conditions. We can provide
more informative messages with printf() for the more likely problems.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
---
lib/libcflat.h | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/lib/libcflat.h b/lib/libcflat.h
index 024c834630d63..8886885766ddc 100644
--- a/lib/libcflat.h
+++ b/lib/libcflat.h
@@ -70,4 +70,13 @@ extern long atol(const char *ptr);

void report(const char *msg_fmt, bool pass, ...);
int report_summary(void);
+
+#define abort() exit(64) /* 129 exit status from qemu */
+#define assert(cond) \
+do { \
+ if (!(cond)) \
+ printf("%s:%d: assert failed\n", __FILE__, __LINE__), \
+ abort(); \
+} while (0)
+
#endif
--
1.9.3