Merge branch 'devel/master' into sandbox/dkdk/tizen
[platform/core/uifw/dali-adaptor.git] / automated-tests / src / common / assert.h
1 #ifndef _ASSERT_H_
2 #define _ASSERT_H_
3 #include <stdio.h>
4 #include <stdlib.h>
5
6 #define assert(exp)                               \
7   if(!(exp))                                      \
8   {                                               \
9     fprintf(stderr,                               \
10             "Assert fail in %s:%d\n",             \
11             __FILE__,                             \
12             __LINE__);                            \
13     fprintf(stderr,                               \
14             "Following expression is not true:\n" \
15             "%s\n",                               \
16             #exp);                                \
17     return 1;                                     \
18   }
19
20 #define assert_eq(var, ref)                             \
21   if(var != ref)                                        \
22   {                                                     \
23     fprintf(stderr,                                     \
24             "Assert fail in %s:%d\n",                   \
25             __FILE__,                                   \
26             __LINE__);                                  \
27     fprintf(stderr,                                     \
28             "Values \"%s\" and \"%s\" are not equal:\n" \
29             "%s == %d, %s == %d\n",                     \
30             #var,                                       \
31             #ref,                                       \
32             #var,                                       \
33             (int)var,                                   \
34             #ref,                                       \
35             (int)ref);                                  \
36     return 1;                                           \
37   }
38
39 #define assert_neq(var, ref)                        \
40   if(var == ref)                                    \
41   {                                                 \
42     fprintf(stderr,                                 \
43             "Assert fail in %s:%d\n",               \
44             __FILE__,                               \
45             __LINE__);                              \
46     fprintf(stderr,                                 \
47             "Values \"%s\" and \"%s\" are equal:\n" \
48             "%s == %s == %d\n",                     \
49             #var,                                   \
50             #ref,                                   \
51             #var,                                   \
52             #ref,                                   \
53             (int)ref);                              \
54     return 1;                                       \
55   }
56
57 #define assert_gt(var, ref)                              \
58   if(var <= ref)                                         \
59   {                                                      \
60     fprintf(stderr,                                      \
61             "Assert fail in %s:%d\n",                    \
62             __FILE__,                                    \
63             __LINE__);                                   \
64     fprintf(stderr,                                      \
65             "Value \"%s\" is not greater than \"%s\":\n" \
66             "%s == %d, %s == %d\n",                      \
67             #var,                                        \
68             #ref,                                        \
69             #var,                                        \
70             var,                                         \
71             #ref,                                        \
72             ref);                                        \
73     return 1;                                            \
74   }
75
76 #define assert_geq(var, ref)                                    \
77   if(var < ref)                                                 \
78   {                                                             \
79     fprintf(stderr,                                             \
80             "Assert fail in %s:%d\n",                           \
81             __FILE__,                                           \
82             __LINE__);                                          \
83     fprintf(stderr,                                             \
84             "Value \"%s\" is not greater or equal to \"%s\":\n" \
85             "%s == %d, %s == %d\n",                             \
86             #var,                                               \
87             #ref,                                               \
88             #var,                                               \
89             var,                                                \
90             #ref,                                               \
91             ref);                                               \
92     return 1;                                                   \
93   }
94
95 #define assert_lt(var, ref)                            \
96   if(var >= ref)                                       \
97   {                                                    \
98     fprintf(stderr,                                    \
99             "Assert fail in %s:%d\n",                  \
100             __FILE__,                                  \
101             __LINE__);                                 \
102     fprintf(stderr,                                    \
103             "Value \"%s\" is not lower than \"%s\":\n" \
104             "%s == %d, %s == %d\n",                    \
105             #var,                                      \
106             #ref,                                      \
107             #var,                                      \
108             var,                                       \
109             #ref,                                      \
110             ref);                                      \
111     return 1;                                          \
112   }
113
114 #define assert_leq(var, ref)                                  \
115   if(var > ref)                                               \
116   {                                                           \
117     fprintf(stderr,                                           \
118             "Assert fail in %s:%d\n",                         \
119             __FILE__,                                         \
120             __LINE__);                                        \
121     fprintf(stderr,                                           \
122             "Value \"%s\" is not lower or equal to \"%s\":\n" \
123             "%s == %d, %s == %d\n",                           \
124             #var,                                             \
125             #ref,                                             \
126             #var,                                             \
127             var,                                              \
128             #ref,                                             \
129             ref);                                             \
130     return 1;                                                 \
131   }
132
133 #endif //  _ASSERT_H_