summaryrefslogtreecommitdiff
path: root/obt/unittest_base.h
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2013-09-01 14:54:51 -0400
committerDana Jansens <danakj@orodu.net>2013-09-01 15:15:53 -0400
commit047a201498c4a108961a3d38e0707b78be378355 (patch)
tree65a1b3476bf8ffd153ec18a11e9aacf29a9c814b /obt/unittest_base.h
parent4c071270749c85b547fefe33c20c151f06df0616 (diff)
Fix bugs and add unit tests for BSEARCH()
Also adds running unit tests to the release/go script so we can be sure that all tests pass before we make a release.
Diffstat (limited to 'obt/unittest_base.h')
-rw-r--r--obt/unittest_base.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/obt/unittest_base.h b/obt/unittest_base.h
new file mode 100644
index 00000000..85106bb3
--- /dev/null
+++ b/obt/unittest_base.h
@@ -0,0 +1,65 @@
+#ifndef __obt_unittest_base_h
+#define __obt_unittest_base_h
+
+#include <glib.h>
+#include <stdio.h>
+
+G_BEGIN_DECLS
+
+extern guint g_test_failures;
+extern guint g_test_failures_at_test_start;
+extern const gchar* g_active_test_suite;
+extern const gchar* g_active_test_name;
+
+#define ADD_FAILURE() { ++g_test_failures; }
+
+#define FAILURE_AT() \
+ fprintf(stderr, "Failure at %s:%u\n", __FILE__, __LINE__); \
+ ADD_FAILURE();
+
+#define EXPECT_BOOL_EQ(expected, actual) \
+ if ((expected) != (actual)) { \
+ FAILURE_AT(); \
+ fprintf(stderr, "Expected: %s\nActual: %s\n", \
+ ((expected) ? "true" : "false"), \
+ ((actual) ? "true" : "false")); \
+ }
+
+#define EXPECT_CHAR_EQ(expected, actual) \
+ if ((expected) != (actual)) { \
+ FAILURE_AT(); \
+ fprintf(stderr, "Expected: %c\nActual: %c\n", (expected), (actual)); \
+ }
+
+#define EXPECT_INT_EQ(expected, actual) \
+ if ((expected) != (actual)) { \
+ FAILURE_AT(); \
+ fprintf(stderr, "Expected: %d\nActual: %d\n", (expected), (actual)); \
+ }
+
+#define EXPECT_UINT_EQ(expected, actual) \
+ if ((expected) != (actual)) { \
+ FAILURE_AT(); \
+ fprintf(stderr, "Expected: %u\nActual: %u\n", (expected), (actual)); \
+ }
+
+#define EXPECT_STRING_EQ(expected, actual) \
+ if ((expected) != (actual)) { \
+ FAILURE_AT(); \
+ fprintf(stderr, "Expected: %s\nActual: %s\n", \
+ ((expected) ? (expected) : "NULL"), \
+ ((actual) ? (actual) : NULL)); \
+ }
+
+void unittest_start_suite(const char* suite_name);
+void unittest_end_suite();
+
+void unittest_start(const char* test_name);
+void unittest_end();
+
+#define TEST_START() unittest_start(__func__);
+#define TEST_END() unittest_end();
+
+G_END_DECLS
+
+#endif