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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user