lod (compiler warning)
Bill Kolokithas (more checkmk directives)
Julien Godin (configure.ac patch for Check example)
+ Kosma Moczek (fix for string formatting in ck_assert_*() methods with %)
Anybody who has contributed code to Check or Check's build system is
considered an author. Send patches to this file to
#define _ck_assert_int(X, OP, Y) do { \
intmax_t _ck_x = (X); \
intmax_t _ck_y = (Y); \
- ck_assert_msg(_ck_x OP _ck_y, "Assertion '"#X#OP#Y"' failed: "#X"==%jd, "#Y"==%jd", _ck_x, _ck_y); \
+ ck_assert_msg(_ck_x OP _ck_y, "Assertion '%s' failed: %s==%jd, %s==%jd", #X#OP#Y, #X, _ck_x, #Y, _ck_y); \
} while (0)
/**
#define _ck_assert_uint(X, OP, Y) do { \
uintmax_t _ck_x = (X); \
uintmax_t _ck_y = (Y); \
- ck_assert_msg(_ck_x OP _ck_y, "Assertion '"#X#OP#Y"' failed: "#X"==%ju, "#Y"==%ju", _ck_x, _ck_y); \
+ ck_assert_msg(_ck_x OP _ck_y, "Assertion '%s' failed: %s==%ju, %s==%ju", #X#OP#Y, #X, _ck_x, #Y, _ck_y); \
} while (0)
/**
* Check two unsigned integers to determine if X==Y
const char* _ck_x = (X); \
const char* _ck_y = (Y); \
ck_assert_msg(0 OP strcmp(_ck_y, _ck_x), \
- "Assertion '"#X#OP#Y"' failed: "#X"==\"%s\", "#Y"==\"%s\"", _ck_x, _ck_y); \
+ "Assertion '%s' failed: %s==\"%s\", %s==\"%s\"", #X#OP#Y, #X, _ck_x, #Y, _ck_y); \
} while (0)
/**
* Check two strings to determine if 0==strcmp(X,Y)
#define _ck_assert_ptr(X, OP, Y) do { \
const void* _ck_x = (X); \
const void* _ck_y = (Y); \
- ck_assert_msg(_ck_x OP _ck_y, "Assertion '"#X#OP#Y"' failed: "#X"==%#x, "#Y"==%#x", _ck_x, _ck_y); \
+ ck_assert_msg(_ck_x OP _ck_y, "Assertion '%s' failed: %s==%#x, %s==%#x", #X#OP#Y, #X, _ck_x, #Y, _ck_y); \
} while (0)
/**
{ "Simple Tests", CK_FAILURE, "Assertion 'x == y' failed" },
{ "Simple Tests", CK_FAILURE, "Assertion '0' failed" },
{ "Simple Tests", CK_FAILURE, "Assertion 'x==y' failed: x==3, y==4" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d==2%f' failed: 3%d==1, 2%f==0" },
{ "Simple Tests", CK_FAILURE, "Assertion 'x!=y' failed: x==3, y==3" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d!=3%f' failed: 3%d==1, 3%f==1" },
{ "Simple Tests", CK_FAILURE, "Assertion 'x<x' failed: x==2, x==2" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d<3%f' failed: 3%d==1, 3%f==0" },
{ "Simple Tests", CK_FAILURE, "Assertion 'y<=x' failed: y==3, x==2" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d<=2%f' failed: 3%d==1, 2%f==0" },
{ "Simple Tests", CK_FAILURE, "Assertion 'y>y' failed: y==3, y==3" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d>3%f' failed: 3%d==0, 3%f==1" },
{ "Simple Tests", CK_FAILURE, "Assertion 'x>=y' failed: x==2, y==3" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d>=4%f' failed: 3%d==0, 4%f==1" },
{ "Simple Tests", CK_PASS, "Passed" },
{ "Simple Tests", CK_FAILURE, "Assertion 'x==y' failed: x==3, y==4" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d==1%f' failed: 3%d==1, 1%f==0" },
{ "Simple Tests", CK_FAILURE, "Assertion 'x!=y' failed: x==3, y==3" },
+ { "Simple Tests", CK_FAILURE, "Assertion '1%d!=1%f' failed: 1%d==0, 1%f==0" },
{ "Simple Tests", CK_FAILURE, "Assertion 'x<x' failed: x==2, x==2" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d<1%f' failed: 3%d==1, 1%f==0" },
{ "Simple Tests", CK_FAILURE, "Assertion 'y<=x' failed: y==3, x==2" },
+ { "Simple Tests", CK_FAILURE, "Assertion '3%d<=1%f' failed: 3%d==1, 1%f==0" },
{ "Simple Tests", CK_FAILURE, "Assertion 'y>y' failed: y==3, y==3" },
+ { "Simple Tests", CK_FAILURE, "Assertion '1%d>3%f' failed: 1%d==0, 3%f==1" },
{ "Simple Tests", CK_FAILURE, "Assertion 'x>=y' failed: x==2, y==3" },
+ { "Simple Tests", CK_FAILURE, "Assertion '1%d>=3%f' failed: 1%d==0, 3%f==1" },
{ "Simple Tests", CK_PASS, "Passed" },
{ "Simple Tests", CK_FAILURE, "Assertion '\"test1\"==s' failed: \"test1\"==\"test1\", s==\"test2\"" },
{ "Simple Tests", CK_FAILURE, "Assertion 't!=s' failed: t==\"test2\", s==\"test2\"" },
}
END_TEST
+START_TEST(test_ck_assert_int_eq_with_mod)
+{
+ int d = 2;
+ int f = 1;
+ ck_assert_int_eq(3%d, 2%f);
+ #define LINENO_ck_assert_int_eq_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_int_ne)
{
int x = 3;
}
END_TEST
+START_TEST(test_ck_assert_int_ne_with_mod)
+{
+ int d = 2;
+ int f = 2;
+ ck_assert_int_ne(3%d, 3%f);
+ #define LINENO_ck_assert_int_ne_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_int_lt)
{
int x = 2;
}
END_TEST
+START_TEST(test_ck_assert_int_lt_with_mod)
+{
+ int d = 2;
+ int f = 1;
+ ck_assert_int_lt(3%d, 3%f);
+ #define LINENO_ck_assert_int_lt_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_int_le)
{
int x = 2;
}
END_TEST
+START_TEST(test_ck_assert_int_le_with_mod)
+{
+ int d = 2;
+ int f = 1;
+ ck_assert_int_le(3%d, 2%f);
+ #define LINENO_ck_assert_int_le_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_int_gt)
{
int x = 2;
}
END_TEST
+START_TEST(test_ck_assert_int_gt_with_mod)
+{
+ int d = 1;
+ int f = 2;
+ ck_assert_int_gt(3%d, 3%f);
+ #define LINENO_ck_assert_int_gt_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_int_ge)
{
int x = 2;
}
END_TEST
+START_TEST(test_ck_assert_int_ge_with_mod)
+{
+ int d = 1;
+ int f = 3;
+ ck_assert_int_ge(3%d, 4%f);
+ #define LINENO_ck_assert_int_ge_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_int_expr)
{
int x = 1;
}
END_TEST
+START_TEST(test_ck_assert_uint_eq_with_mod)
+{
+ int d = 2;
+ int f = 1;
+ ck_assert_uint_eq(3%d, 1%f);
+ #define LINENO_ck_assert_uint_eq_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_uint_ne)
{
unsigned int x = 3;
}
END_TEST
+START_TEST(test_ck_assert_uint_ne_with_mod)
+{
+ int d = 1;
+ int f = 1;
+ ck_assert_uint_ne(1%d, 1%f);
+ #define LINENO_ck_assert_uint_ne_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_uint_lt)
{
unsigned int x = 2;
}
END_TEST
+START_TEST(test_ck_assert_uint_lt_with_mod)
+{
+ int d = 2;
+ int f = 1;
+ ck_assert_uint_lt(3%d, 1%f);
+ #define LINENO_ck_assert_uint_lt_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_uint_le)
{
unsigned int x = 2;
}
END_TEST
+START_TEST(test_ck_assert_uint_le_with_mod)
+{
+ int d = 2;
+ int f = 1;
+ ck_assert_uint_le(3%d, 1%f);
+ #define LINENO_ck_assert_uint_le_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_uint_gt)
{
unsigned int x = 2;
}
END_TEST
+START_TEST(test_ck_assert_uint_gt_with_mod)
+{
+ int d = 1;
+ int f = 2;
+ ck_assert_uint_gt(1%d, 3%f);
+ #define LINENO_ck_assert_uint_gt_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_uint_ge)
{
unsigned int x = 2;
}
END_TEST
+START_TEST(test_ck_assert_uint_ge_with_mod)
+{
+ int d = 1;
+ int f = 2;
+ ck_assert_uint_ge(1%d, 3%f);
+ #define LINENO_ck_assert_uint_ge_with_mod _STR(__LINE__)
+}
+END_TEST
+
START_TEST(test_ck_assert_uint_expr)
{
unsigned int x = 1;
LINENO_ck_assert,
LINENO_ck_assert_null,
LINENO_ck_assert_int_eq,
- LINENO_ck_assert_int_eq,
+ LINENO_ck_assert_int_eq_with_mod,
LINENO_ck_assert_int_ne,
+ LINENO_ck_assert_int_ne_with_mod,
LINENO_ck_assert_int_lt,
+ LINENO_ck_assert_int_lt_with_mod,
LINENO_ck_assert_int_le,
+ LINENO_ck_assert_int_le_with_mod,
LINENO_ck_assert_int_gt,
+ LINENO_ck_assert_int_gt_with_mod,
LINENO_ck_assert_int_ge,
+ LINENO_ck_assert_int_ge_with_mod,
LINENO_ck_assert_int_expr,
+ LINENO_ck_assert_int_eq,
+ LINENO_ck_assert_int_eq_with_mod,
LINENO_ck_assert_uint_ne,
+ LINENO_ck_assert_uint_ne_with_mod,
LINENO_ck_assert_uint_lt,
+ LINENO_ck_assert_uint_lt_with_mod,
LINENO_ck_assert_uint_le,
+ LINENO_ck_assert_uint_le_with_mod,
LINENO_ck_assert_uint_gt,
+ LINENO_ck_assert_uint_gt_with_mod,
LINENO_ck_assert_uint_ge,
+ LINENO_ck_assert_uint_ge_with_mod,
LINENO_ck_assert_uint_expr,
LINENO_ck_assert_str_eq,
LINENO_ck_assert_str_ne,
tcase_add_test (tc_simple, test_ck_assert);
tcase_add_test (tc_simple, test_ck_assert_null);
tcase_add_test (tc_simple, test_ck_assert_int_eq);
+ tcase_add_test (tc_simple, test_ck_assert_int_eq_with_mod);
tcase_add_test (tc_simple, test_ck_assert_int_ne);
+ tcase_add_test (tc_simple, test_ck_assert_int_ne_with_mod);
tcase_add_test (tc_simple, test_ck_assert_int_lt);
+ tcase_add_test (tc_simple, test_ck_assert_int_lt_with_mod);
tcase_add_test (tc_simple, test_ck_assert_int_le);
+ tcase_add_test (tc_simple, test_ck_assert_int_le_with_mod);
tcase_add_test (tc_simple, test_ck_assert_int_gt);
+ tcase_add_test (tc_simple, test_ck_assert_int_gt_with_mod);
tcase_add_test (tc_simple, test_ck_assert_int_ge);
+ tcase_add_test (tc_simple, test_ck_assert_int_ge_with_mod);
tcase_add_test (tc_simple, test_ck_assert_int_expr);
tcase_add_test (tc_simple, test_ck_assert_uint_eq);
+ tcase_add_test (tc_simple, test_ck_assert_uint_eq_with_mod);
tcase_add_test (tc_simple, test_ck_assert_uint_ne);
+ tcase_add_test (tc_simple, test_ck_assert_uint_ne_with_mod);
tcase_add_test (tc_simple, test_ck_assert_uint_lt);
+ tcase_add_test (tc_simple, test_ck_assert_uint_lt_with_mod);
tcase_add_test (tc_simple, test_ck_assert_uint_le);
+ tcase_add_test (tc_simple, test_ck_assert_uint_le_with_mod);
tcase_add_test (tc_simple, test_ck_assert_uint_gt);
+ tcase_add_test (tc_simple, test_ck_assert_uint_gt_with_mod);
tcase_add_test (tc_simple, test_ck_assert_uint_ge);
+ tcase_add_test (tc_simple, test_ck_assert_uint_ge_with_mod);
tcase_add_test (tc_simple, test_ck_assert_uint_expr);
tcase_add_test (tc_simple, test_ck_assert_str_eq);
tcase_add_test (tc_simple, test_ck_assert_str_ne);