if UNIT_TEST_ENABLED
# UT
CPP_U_TEST=$(CPP_U_TEST_LATEST)
-check_PROGRAMS = redismodule_ut
+check_PROGRAMS = redismodule_ut redismodule_ut2
#TESTS = ${check_PROGRAMS}
redismodule_ut_SOURCES = \
src/exstrings.c \
redismodule_ut_LDADD = -L${libdir} $(LIBCPPUTEST_LIBS) -lgcov
-test: redismodule_ut
- ./run-tests.sh
+redismodule_ut2_SOURCES = \
+ src/exstrings.c \
+ tst/include/ut_helpers.hpp \
+ tst/mock/include/commonStub.h \
+ tst/mock/include/exstringsStub.h \
+ tst/mock/include/redismodule.h \
+ tst/mock/src/commonStub.cpp \
+ tst/mock/src/redismoduleNewStub.cpp \
+ tst/src/exstrings_ndel_test.cpp \
+ tst/src/exstrings_nget_test.cpp \
+ tst/src/main.cpp \
+ tst/src/ut_helpers.cpp
+
+
+redismodule_ut2_CFLAGS = \
+ -std=c11 -g -Wall \
+ -fprofile-arcs -ftest-coverage \
+ -D__UT__ \
+ $(LIBCPPUTEST_CFLAGS) \
+ -I${top_srcdir}/tst/mock/include \
+ -I${includedir} \
+ -I${top_srcdir}/include \
+ -I${CPP_U_TEST_LATEST}/include \
+ -Wall -Werror -Wextra
+
+redismodule_ut2_CXXFLAGS = \
+ -std=c++11 -g -Wall \
+ -fprofile-arcs -ftest-coverage \
+ -D__UT__ \
+ $(LIBCPPUTEST_CFLAGS) \
+ -I${top_srcdir}/tst/mock/include \
+ -I${top_srcdir}/tst/include \
+ -I${includedir} \
+ -I${top_srcdir}/include \
+ -I${CPP_U_TEST_LATEST}/include \
+ -Wall -Werror -Wextra
+
+
+redismodule_ut2_LDFLAGS = -Wl,-rpath=${libdir} ${UT_COVERAGE_LDFLAGS}
+redismodule_ut2_LDADD = -L${libdir} $(LIBCPPUTEST_LIBS) -lgcov
+
+
+if UNIT_TEST_MEMCHECK_ENABLED
+test: ut_memcheck_test
+else
+test: ut_test
+endif
+
+ut_test: redismodule_ut redismodule_ut2
+ ./redismodule_ut -ojunit
+ ./redismodule_ut2 -ojunit
+
+ut_memcheck_test: redismodule_ut redismodule_ut2
+ valgrind --error-exitcode=1 \
+ --tool=memcheck \
+ --show-emwarns=yes \
+ -v -d \
+ --stats=yes \
+ --read-var-info=yes \
+ --leak-check=full \
+ --log-file=/tmp/redimodule_ut_valgrind_leak.log \
+ --track-origins=yes \
+ ./redismodule_ut
+ valgrind --error-exitcode=1 \
+ --tool=memcheck \
+ --show-emwarns=yes \
+ -v -d \
+ --stats=yes \
+ --read-var-info=yes \
+ --leak-check=full \
+ --log-file=/tmp/redimodule_ut2_valgrind_leak.log \
+ --track-origins=yes \
+ ./redismodule_ut2
TESTS = run-tests.sh
else
test:
- echo 'enable ut with configure flag: --enable-unit-test'
+ echo 'enable ut with configure flag: --enable-unit-test and valgrind memcheck with: --enable-unit-test-memcheck'
exit 1
endif #UNIT_TEST_ENABLED