added: option to run regression tests through valgrind

while ctest does support it through a -D, it does not integrate
nicely with the rest of the system

git-svn-id: http://svn.sintef.no/trondheim/IFEM/trunk@2404 e10b68d5-8a6e-419e-a041-bce267b0401d
This commit is contained in:
akva
2013-05-21 13:35:31 +00:00
committed by Knut Morten Okstad
parent fa1fdb5db4
commit 15fccaa7e5
3 changed files with 23 additions and 1 deletions

View File

@@ -46,5 +46,18 @@ then
exit 1
fi
if [ "@IFEM_TEST_MEMCHECK@" == "1" ] || [ "@IFEM_TEST_MEMCHECK@" == "ON" ]
then
if ! grep -q "ERROR SUMMARY: 0 errors" valgrindlog
then
cat templog >> @CMAKE_BINARY_DIR@/failed.log
cat valgrindlog >> @CMAKE_BINARY_DIR@/failed.log
rm templog
rm valgrindlog
exit 1
fi
fi
rm templog
rm -f valgrindlog
exit 0

View File

@@ -138,6 +138,10 @@ IF(NOT IFEM_AS_SUBMODULE)
SET(IFEM_INCLUDES ${IFEM_INCLUDES} ${IFEM_DEPINCLUDES})
ENDIF(NOT IFEM_AS_SUBMODULE)
IF(IFEM_TEST_MEMCHECK)
include(CTest)
ENDIF()
# Needed as we have templates using these flags
ENABLE_LANGUAGE(CXX)
IF(CMAKE_CXX_COMPILER_ID MATCHES Intel)
@@ -156,7 +160,11 @@ SET(IFEM_CXX_FLAGS "${IFEM_CXX_FLAGS} -DReal=double")
FUNCTION(IFEM_ADD_TEST name binary)
SEPARATE_ARGUMENTS(MEMCHECK_COMMAND)
ADD_TEST(${PROJECT_SOURCE_DIR}/Test/${name} regtest.sh ${EXECUTABLE_OUTPUT_PATH}/${binary} ${PROJECT_SOURCE_DIR}/Test/${name} ${ARGN})
IF(IFEM_TEST_MEMCHECK)
ADD_TEST("${binary}+${name}" regtest.sh "${MEMORYCHECK_COMMAND} --log-file=valgrindlog ${EXECUTABLE_OUTPUT_PATH}/${binary}" ${PROJECT_SOURCE_DIR}/Test/${name} ${ARGN})
ELSE(IFEM_TEST_MEMCHECK)
ADD_TEST("${binary}+${name}" regtest.sh ${EXECUTABLE_OUTPUT_PATH}/${binary} ${PROJECT_SOURCE_DIR}/Test/${name} ${ARGN})
ENDIF(IFEM_TEST_MEMCHECK)
ENDFUNCTION(IFEM_ADD_TEST)
SET(IFEM_CONFIGURED 1)

View File

@@ -11,3 +11,4 @@ OPTION(IFEM_USE_HDF5 "Compile with HDF5 support?" ON)
OPTION(IFEM_USE_VTFWRITER "Compile with VTFWriter support?" ON)
OPTION(IFEM_AS_SUBMODULE "Compile IFEM as a submodule of apps?" OFF)
OPTION(IFEM_WHOLE_PROG_OPTIM "Compile IFEM with link-time optimizations?" OFF)
OPTION(IFEM_TEST_MEMCHECK "Run tests through valgrind?" OFF)