diff options
| author | Dana Jansens <danakj@orodu.net> | 2013-09-01 14:54:51 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2013-09-01 15:15:53 -0400 |
| commit | 047a201498c4a108961a3d38e0707b78be378355 (patch) | |
| tree | 65a1b3476bf8ffd153ec18a11e9aacf29a9c814b /obt/unittest_base.c | |
| parent | 4c071270749c85b547fefe33c20c151f06df0616 (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.c')
| -rw-r--r-- | obt/unittest_base.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/obt/unittest_base.c b/obt/unittest_base.c new file mode 100644 index 00000000..d6f91f4a --- /dev/null +++ b/obt/unittest_base.c @@ -0,0 +1,55 @@ +#include <glib.h> + +#include "obt/unittest_base.h" + +guint g_test_failures = 0; +guint g_test_failures_at_test_start = 0; +const gchar* g_active_test_suite = NULL; +const gchar* g_active_test_name = NULL; + +/* Add all test suites here. Keep them sorted. */ +extern void run_bsearch_unittest(); + +gint main(gint argc, gchar **argv) +{ + /* Add all test suites here. Keep them sorted. */ + run_bsearch_unittest(); + + return g_test_failures == 0 ? 0 : 1; +} + +void unittest_start_suite(const char* suite_name) +{ + g_assert(g_active_test_suite == NULL); + g_active_test_suite = suite_name; + printf("[--------] %s\n", suite_name); +} + +void unittest_end_suite() +{ + g_assert(g_active_test_suite); + printf("[--------] %s\n", g_active_test_suite); + printf("\n"); + g_active_test_suite = NULL; +} + +void unittest_start(const char* test_name) +{ + g_test_failures_at_test_start = g_test_failures; + g_assert(g_active_test_name == NULL); + g_active_test_name = test_name; + printf("[ RUN ] %s.%s\n", g_active_test_suite, g_active_test_name); +} + +void unittest_end() +{ + g_assert(g_active_test_name); + if (g_test_failures_at_test_start == g_test_failures) { + printf("[ OK ] %s.%s\n", + g_active_test_suite, g_active_test_name); + } else { + printf("[ FAILED ] %s.%s\n", + g_active_test_suite, g_active_test_name); + } + g_active_test_name = NULL; +} |
