Skip to content
Snippets Groups Projects
Commit d4666b75 authored by Timo Koch's avatar Timo Koch
Browse files

[cmake][dune_add_test] Overwrite command and cmd_args if a cmake guard is false

If a complicated user defined command was specified, it didn't lead to the dummy
executable (that return 77) being run but the user defined command instead. This
patch makes sure that the correct command is executed which then marks the test
as skipped and not as failed.
parent 1c8df3f1
No related branches found
No related tags found
1 merge request!405[cmake][dune_add_test] Fix cmake guard and skipping tests
......@@ -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.
Finish editing this message first!
Please register or to comment