Go to the documentation of this file.
9 #if CHECK_MAJOR_VERSION == 0 && CHECK_MINOR_VERSION == 9 && CHECK_MICRO_VERSION < 10
14 #undef ck_assert_int_eq
15 #undef ck_assert_int_ne
16 #undef ck_assert_int_lt
17 #undef ck_assert_int_le
18 #undef ck_assert_int_gt
19 #undef ck_assert_int_ge
21 #undef _ck_assert_uint
22 #undef ck_assert_uint_eq
23 #undef ck_assert_uint_ne
24 #undef ck_assert_uint_lt
25 #undef ck_assert_uint_le
26 #undef ck_assert_uint_gt
27 #undef ck_assert_uint_ge
30 #undef ck_assert_str_eq
31 #undef ck_assert_str_ne
32 #undef ck_assert_str_lt
33 #undef ck_assert_str_le
34 #undef ck_assert_str_gt
35 #undef ck_assert_str_ge
38 #undef ck_assert_ptr_eq
39 #undef ck_assert_ptr_ne
41 #define _ck_assert_int(X, OP, Y) do { \
42 intmax_t _ck_x = (X); \
43 intmax_t _ck_y = (Y); \
44 ck_assert_msg(_ck_x OP _ck_y, "Assertion '"#X#OP#Y"' failed: "#X"==%jd, "#Y"==%jd", _ck_x, _ck_y); \
46 #define ck_assert_int_eq(X, Y) _ck_assert_int(X, ==, Y)
47 #define ck_assert_int_ne(X, Y) _ck_assert_int(X, !=, Y)
48 #define ck_assert_int_lt(X, Y) _ck_assert_int(X, <, Y)
49 #define ck_assert_int_le(X, Y) _ck_assert_int(X, <=, Y)
50 #define ck_assert_int_gt(X, Y) _ck_assert_int(X, >, Y)
51 #define ck_assert_int_ge(X, Y) _ck_assert_int(X, >=, Y)
53 #define _ck_assert_uint(X, OP, Y) do { \
54 uintmax_t _ck_x = (X); \
55 uintmax_t _ck_y = (Y); \
56 ck_assert_msg(_ck_x OP _ck_y, "Assertion '"#X#OP#Y"' failed: "#X"==%ju, "#Y"==%ju", _ck_x, _ck_y); \
58 #define ck_assert_uint_eq(X, Y) _ck_assert_uint(X, ==, Y)
59 #define ck_assert_uint_ne(X, Y) _ck_assert_uint(X, !=, Y)
60 #define ck_assert_uint_lt(X, Y) _ck_assert_uint(X, <, Y)
61 #define ck_assert_uint_le(X, Y) _ck_assert_uint(X, <=, Y)
62 #define ck_assert_uint_gt(X, Y) _ck_assert_uint(X, >, Y)
63 #define ck_assert_uint_ge(X, Y) _ck_assert_uint(X, >=, Y)
65 #define _ck_assert_str(X, OP, Y) do { \
66 const char* _ck_x = (X); \
67 const char* _ck_y = (Y); \
68 ck_assert_msg(0 OP strcmp(_ck_y, _ck_x), \
69 "Assertion '"#X#OP#Y"' failed: "#X"==\"%s\", "#Y"==\"%s\"", _ck_x, _ck_y); \
71 #define ck_assert_str_eq(X, Y) _ck_assert_str(X, ==, Y)
72 #define ck_assert_str_ne(X, Y) _ck_assert_str(X, !=, Y)
73 #define ck_assert_str_lt(X, Y) _ck_assert_str(X, <, Y)
74 #define ck_assert_str_le(X, Y) _ck_assert_str(X, <=, Y)
75 #define ck_assert_str_gt(X, Y) _ck_assert_str(X, >, Y)
76 #define ck_assert_str_ge(X, Y) _ck_assert_str(X, >=, Y)
78 #define _ck_assert_ptr(X, OP, Y) do { \
81 ck_assert_msg(_ck_x OP _ck_y, "Assertion '"#X#OP#Y"' failed: "#X"==%p, "#Y"==%p", _ck_x, _ck_y); \
83 #define ck_assert_ptr_eq(X, Y) _ck_assert_ptr(X, ==, Y)
84 #define ck_assert_ptr_ne(X, Y) _ck_assert_ptr(X, !=, Y)