Skip to content
Snippets Groups Projects
Commit b7c41305 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/dune add test cmake guard skip test

See merge request core/dune-common!409
parents c30aa7a3 fa4161a1
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......@@ -297,6 +297,12 @@ function(dune_add_test)
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.
Finish editing this message first!
Please register or to comment