implemented valgrind test option

This commit is contained in:
Bryan Herman 2014-03-06 15:23:18 -05:00
parent 160569cced
commit c074268ba1
2 changed files with 33 additions and 14 deletions

View file

@ -241,22 +241,33 @@ foreach(test ${TESTS})
get_filename_component(TEST_NAME ${test} NAME)
get_filename_component(TEST_PATH ${test} PATH)
# Check serial/parallel
if (${MPI_ENABLED})
if(NOT $ENV{MEM_CHECK})
# Preform a parallel test
add_test(NAME ${TEST_NAME}
WORKING_DIRECTORY ${TEST_PATH}
COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $<TARGET_FILE:openmc>
--mpi_exec $ENV{MPI_DIR}/bin/mpiexec)
# Check serial/parallel
if (${MPI_ENABLED})
else(${MPI_ENABLED})
# Preform a parallel test
add_test(NAME ${TEST_NAME}
WORKING_DIRECTORY ${TEST_PATH}
COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $<TARGET_FILE:openmc>
--mpi_exec $ENV{MPI_DIR}/bin/mpiexec)
# Perform a serial test
add_test(NAME ${TEST_NAME}
else(${MPI_ENABLED})
# Perform a serial test
add_test(NAME ${TEST_NAME}
WORKING_DIRECTORY ${TEST_PATH}
COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $<TARGET_FILE:openmc>)
endif(${MPI_ENABLED})
else(NOT $ENV{MEM_CHECK})
# Perform serial valgrind test
add_test(NAME ${TEST_NAME}
WORKING_DIRECTORY ${TEST_PATH}
COMMAND ${PYTHON_EXECUTABLE} ${TEST_NAME} --exe $<TARGET_FILE:openmc>)
COMMAND $<TARGET_FILE:openmc> ${TEST_PATH})
endif(${MPI_ENABLED})
endif(NOT $ENV{MEM_CHECK})
endforeach(test)

View file

@ -28,10 +28,16 @@ set(CTEST_CONFIGURE_COMMAND "${{CMAKE_COMMAND}} -H${{CTEST_SOURCE_DIRECTORY}} -B
set(CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
set(CTEST_MEMORYCHECK_COMMAND_OPTIONS "--tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --track-origins=yes")
set(MEM_CHECK {mem_check})
set(ENV{{MEM_CHECK}} ${{MEM_CHECK}})
ctest_start("Nightly")
ctest_configure()
ctest_build()
ctest_test(INCLUDE test_basic)
if(MEM_CHECK)
ctest_memcheck(INCLUDE test_basic)
endif(MEM_CHECK)
ctest_submit()"""
# Define test data structure
@ -78,8 +84,8 @@ def add_test(name, debug=False, optimize=False, mpi=False, openmp=False,\
tests.update({name:Test(name, debug, optimize, mpi, openmp, hdf5, petsc, valgrind)})
# List of tests
#add_test('basic-normal')
add_test('basic-debug', debug=True)
add_test('basic-normal')
#add_test('basic-debug', debug=True)
#add_test('basic-optimize', optimize=True)
#add_test('omp-normal', openmp=True)
#add_test('omp-debug', openmp=True, debug=True)
@ -111,6 +117,7 @@ add_test('basic-debug', debug=True)
#add_test('omp-phdf5-petsc-normal', openmp=True, mpi=True, hdf5=True, petsc=True)
#add_test('omp-phdf5-petsc-debug', openmp=True, mpi=True, hdf5=True, petsc=True, debug=True)
#add_test('omp-phdf5-petsc-optimize', openmp=True, mpi=True, hdf5=True, petsc=True, optimize=True)
add_test('basic-debug_valgrind', debug=True, valgrind=True)
# Setup CTest vars
pwd = os.environ['PWD']
@ -128,6 +135,7 @@ for key in iter(tests):
# Set test specific CTest vars
ctest_vars.update({'build_name' : test.get_build_name()})
ctest_vars.update({'build_opts' : test.get_build_opts()})
ctest_vars.update({'mem_check' : test.valgrind})
# Create ctest script
test.create_ctest_script(ctest_vars)