Skip to content
Snippets Groups Projects
Commit 494ea423 authored by Jö Fahlke's avatar Jö Fahlke
Browse files

Merge branch 'fix/dune-add-test-cmake-guard-skip-test' into 'master'

[cmake][dune_add_test] Fix cmake guard and skipping tests

See merge request !405
parents dc61d9a3 d4666b75
Branches
Tags
1 merge request!405[cmake][dune_add_test] Fix cmake guard and skipping tests
Pipeline #
......@@ -231,18 +231,18 @@ function(dune_add_test)
endif()
# Find out whether this test should be a dummy
set(DOSOMETHING TRUE)
set(SHOULD_SKIP_TEST FALSE)
set(FAILED_CONDITION_PRINTING "")
foreach(condition ${ADDTEST_CMAKE_GUARD})
separate_arguments(condition)
if(NOT (${condition}))
set(DOSOMETHING FALSE)
set(SHOULD_SKIP_TEST TRUE)
set(FAILED_CONDITION_PRINTING "${FAILED_CONDITION_PRINTING}std::cout << \" ${condition}\" << std::endl;\n")
endif()
endforeach()
# If we do nothing, switch the sources for a dummy source
if(NOT DOSOMETHING)
if(SHOULD_SKIP_TEST)
dune_module_path(MODULE dune-common RESULT scriptdir SCRIPT_DIR)
set(ADDTEST_TARGET)
set(dummymain ${CMAKE_CURRENT_BINARY_DIR}/main77_${ADDTEST_NAME}.cc)
......@@ -285,18 +285,24 @@ function(dune_add_test)
if((NOT "${procnum}" GREATER "${DUNE_MAX_TEST_CORES}") AND (NOT ADDTEST_COMPILE_ONLY))
set(ACTUAL_NAME ${ADDTEST_NAME})
set(ACTUAL_CMD_ARGS ${ADDTEST_CMD_ARGS})
if(TARGET "${ADDTEST_COMMAND}")
if(TARGET "${ADDTEST_COMMAND}" AND NOT SHOULD_SKIP_TEST)
set(ACTUAL_TESTCOMMAND "$<TARGET_FILE:${ADDTEST_COMMAND}>")
else()
set(ACTUAL_TESTCOMMAND "${ADDTEST_COMMAND}")
endif()
if(NOT ${procnum} STREQUAL "1")
if(NOT ${procnum} STREQUAL "1" AND NOT SHOULD_SKIP_TEST)
set(ACTUAL_NAME "${ACTUAL_NAME}-mpi-${procnum}")
set(ACTUAL_CMD_ARGS ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${procnum} "${ACTUAL_TESTCOMMAND}" ${MPIEXEC_POSTFLAGS} ${ACTUAL_CMD_ARGS})
set(ACTUAL_TESTCOMMAND "${MPIEXEC}")
endif()
# if this is a skipped test because a guard was false, overwrite the command
if(SHOULD_SKIP_TEST)
set(ACTUAL_TESTCOMMAND ${CMAKE_CURRENT_BINARY_DIR}/${ADDTEST_NAME})
set(ACTUAL_CMD_ARGS)
endif()
# Now add the actual test
_add_test(NAME ${ACTUAL_NAME}
COMMAND "${ACTUAL_TESTCOMMAND}" ${ACTUAL_CMD_ARGS}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment