tests: Fix TEST_ENTRY_POINT() macro 06/142906/1
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Mon, 7 Aug 2017 18:33:30 +0000 (20:33 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Mon, 7 Aug 2017 19:02:13 +0000 (21:02 +0200)
Fix couple of issues:
- remove ptr variable from release builds
- Fix module name used in macro
- Add other macros to help calling this function from test code

Change-Id: If7b35ed4920e1f25121288146df84f8f2946ffb2
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Makefile.am
src/core/module.h
tests/unit/fdtf.h

index 02c8b9069e462108c330b5e7b909f811ee9b778c..a3610031ecc8b9600e882186c5b62a9b0810d004 100644 (file)
@@ -131,7 +131,9 @@ test_LDFLAGS = -ldl
 test_LDADD = $(CMOCKA_LIBS) $(LIBSYSTEMD_LIBS) $(AUDIT_LIBS) \
     $(LIBEJDB_LIBS) $(JSON_C_LIBS)
 
-test_CFLAGS = -I${top_srcdir}/src/util
+test_CFLAGS = -I${top_srcdir}/src/util \
+       -D"FAULTD_MODNAME_T=$(call name_fix,$(modname))" \
+       -DTEST_BUILD
 
 test_SOURCES = \
     tests/unit/faultd_object_tests.c \
index f44df9e15d79919054c406c9ac3290371a75542e..72060988e894a6e5fdd4f10413ee3111a659e00c 100644 (file)
 #include "faultd-config.h"
 #include "list.h"
 
-#ifdef ENABLE_TESTS
+#ifdef TEST_BUILD
+
+#define TEST_ENTRY_POINT_NAME(MODULE, FUNC) \
+       CONCAT(test_, CONCAT(MODULE, _ ## FUNC))
+
 #define TEST_ENTRY_POINT(func) \
        typeof(func) (*CONCAT(FAULTD_MODNAME_T, _ ## func)) = func
+
 #else
 #define TEST_ENTRY_POINT(func)
 #endif
index 7665c23058899d9a08283e136bf003fe9d3edc5b..29368eaafb9d1f7898a87397080354d399d5770b 100644 (file)
 #include "common.h"
 #include "module.h"
 
+#define CALL_TEST_ENTRY_POINT(MOD, FUNC)               \
+       TEST_ENTRY_POINT_NAME(MOD, FUNC)
+
+#define DECLARE_TEST_ENTRY_POINT(MOD, FUNC, RET, ...)          \
+       extern RET (*TEST_ENTRY_POINT_NAME(MOD, FUNC))(__VA_ARGS__)
+
 struct fdtf_test_group {
        char *name;
        CMFixtureFunction setup;