Add include of cairo.h when using librsvg
[dana/openbox.git] / obt / unittest_base.c
1 #include <glib.h>
2
3 #include "obt/unittest_base.h"
4
5 guint g_test_failures = 0;
6 guint g_test_failures_at_test_start = 0;
7 const gchar* g_active_test_suite = NULL;
8 const gchar* g_active_test_name = NULL;
9
10 /* Add all test suites here. Keep them sorted. */
11 extern void run_bsearch_unittest();
12
13 gint main(gint argc, gchar **argv)
14 {
15     /* Add all test suites here. Keep them sorted. */
16     run_bsearch_unittest();
17
18     return g_test_failures == 0 ? 0 : 1;
19 }
20
21 void unittest_start_suite(const char* suite_name)
22 {
23     g_assert(g_active_test_suite == NULL);
24     g_active_test_suite = suite_name;
25     printf("[--------] %s\n", suite_name);
26 }
27
28 void unittest_end_suite()
29 {
30     g_assert(g_active_test_suite);
31     printf("[--------] %s\n", g_active_test_suite);
32     printf("\n");
33     g_active_test_suite = NULL;
34 }
35
36 void unittest_start(const char* test_name) 
37 {
38     g_test_failures_at_test_start = g_test_failures;
39     g_assert(g_active_test_name == NULL);
40     g_active_test_name = test_name;
41     printf("[ RUN    ] %s.%s\n", g_active_test_suite, g_active_test_name);
42 }
43
44 void unittest_end()
45 {
46     g_assert(g_active_test_name);
47     if (g_test_failures_at_test_start == g_test_failures) {
48         printf("[     OK ] %s.%s\n",
49                g_active_test_suite, g_active_test_name);
50     } else {
51         printf("[ FAILED ] %s.%s\n",
52                g_active_test_suite, g_active_test_name);
53     }
54     g_active_test_name = NULL;
55 }