From 1a94716209e40a9ccaedc7e70f9de961d1cced48 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Apr 25 2014 08:33:30 +0000 Subject: TEST: Some macros aren't defined in older version of check. src/tests/sbus_codegen_tests-sbus_codegen_tests.o: In function `eject_handler': tests/sbus_codegen_tests.c:229: undefined reference to `ck_assert_uint_eq' tests/sbus_codegen_tests.c:235: undefined reference to `ck_assert_uint_eq' tests/sbus_codegen_tests.c:239: undefined reference to `ck_assert_uint_eq' src/tests/sbus_codegen_tests-sbus_codegen_tests.o: In function `test_marshal_basic_types': src/tests/sbus_codegen_tests.c:446: undefined reference to `ck_assert_uint_eq' src/tests/sbus_codegen_tests.c:449: undefined reference to `ck_assert_uint_eq' src/tests/sbus_codegen_tests-sbus_codegen_tests.o: src/tests/sbus_codegen_tests.c:451: more undefined references to `ck_assert_uint_eq' follow collect2: ld returned 1 exit status make[3]: *** [sbus_codegen_tests] Error 1 Macro ck_assert_uint_eq was added in check-0.9.10 Resolves: https://fedorahosted.org/sssd/ticket/2319 Reviewed-by: Michal Židek --- diff --git a/src/tests/sbus_codegen_tests.c b/src/tests/sbus_codegen_tests.c index d9da5c0..a88bbac 100644 --- a/src/tests/sbus_codegen_tests.c +++ b/src/tests/sbus_codegen_tests.c @@ -33,6 +33,21 @@ #include "tests/sbus_codegen_tests_generated.h" #include "util/util_errors.h" +/* The following 2 macros were taken from check's project source files (0.9.10) + * http://check.sourceforge.net/ + */ +#ifndef _ck_assert_uint +#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); \ +} while (0) +#endif /* _ck_assert_uint */ + +#ifndef ck_assert_uint_eq +#define ck_assert_uint_eq(X, Y) _ck_assert_uint(X, ==, Y) +#endif /* ck_assert_uint_eq */ + static const struct sbus_arg_meta * find_arg(const struct sbus_arg_meta *args, const char *name)