all repos — openbox @ 047a201498c4a108961a3d38e0707b78be378355

openbox fork - make it a bit more like ryudo

obt/unittest_base.h (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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