diff --git a/CMakeModules/testing_cpp.cmake b/CMakeModules/testing_cpp.cmake index 7310ec827f3a4af08865fbfffce06bf1b573f21a..c0d74248b161e5e051de342daf753b8f42c6f609 100644 --- a/CMakeModules/testing_cpp.cmake +++ b/CMakeModules/testing_cpp.cmake @@ -2,6 +2,8 @@ if (BUILD_TESTS) enable_testing() set(HIDRA2_MINIMUM_COVERAGE 70) find_package(Threads) + find_program(MEMORYCHECK_COMMAND valgrind) + set( MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --error-exitcode=1" ) endif () function(gtest target test_source_files test_libraries) @@ -30,5 +32,13 @@ function(gtest target test_source_files test_libraries) set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} PARENT_SCOPE) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} PARENT_SCOPE) endif () + + if (MEMORYCHECK_COMMAND) + set(memcheck_args ${MEMORYCHECK_COMMAND_OPTIONS}) + separate_arguments(memcheck_args) + add_test(NAME memcheck-${target} COMMAND ${MEMORYCHECK_COMMAND} ${memcheck_args} + ${CMAKE_CURRENT_BINARY_DIR}/test-${target}) + set_tests_properties(memcheck-${target} PROPERTIES LABELS "memcheck;all") + endif() endif () endfunction() diff --git a/common/cpp/src/system_io.cpp b/common/cpp/src/system_io.cpp index 4d9166497f70fd1c9edfa11aabf22a9bd29fbd8c..96bee71161ea1ac6921893af43524917cd889cf4 100644 --- a/common/cpp/src/system_io.cpp +++ b/common/cpp/src/system_io.cpp @@ -3,17 +3,17 @@ #include <system_wrappers/system_io.h> int hidra2::SystemIO::open(const char *__file, int __oflag) { - return ::open(__file, __oflag); + return ::open(__file, __oflag); } int hidra2::SystemIO::close(int __fd) { - return ::close(__fd); + return ::close(__fd); } ssize_t hidra2::SystemIO::read(int __fd, void *buf, size_t count) { - return ::read(__fd, buf, count); + return ::read(__fd, buf, count); } ssize_t hidra2::SystemIO::write(int __fd, const void *__buf, size_t __n) { - return ::write(__fd, __buf, __n); + return ::write(__fd, __buf, __n); } diff --git a/producer/api/unittests/test_producer.cpp b/producer/api/unittests/test_producer.cpp index ea06e427054fb2d85c69b4c3714ec00e83d89026..6522702215d4ce9f78a110dba4983c71c9e1dc69 100644 --- a/producer/api/unittests/test_producer.cpp +++ b/producer/api/unittests/test_producer.cpp @@ -9,5 +9,6 @@ TEST(VERSION, VersionAboveZero) { TEST(CreateProducer, PointerIsNotNullptr) { hidra2::Producer* prod = hidra2::Producer::CreateProducer("127.0.0.1"); EXPECT_NE(prod, nullptr); + delete prod; } }