Skip to content
Snippets Groups Projects
Commit 87afe150 authored by Martin Nolte's avatar Martin Nolte
Browse files

[bugfix] quote name of executable in `dune_add_test`

Thanks to @smuething for the hint.

Note: This patch changes the semantics of the command. Up to now, the command
      was allowed to contain arguments (unless it was a target). With this patch,
      the arguments must be passed separately.
parent d59623c8
Branches
Tags
1 merge request!363[bugfix] make `dune_add_test` play nicely with MPICH
Pipeline #
......@@ -276,27 +276,30 @@ function(dune_add_test)
# Process the EXPECT_COMPILE_FAIL option
if(ADDTEST_EXPECT_COMPILE_FAIL)
set(ADDTEST_COMMAND ${CMAKE_COMMAND} --build . --target ${ADDTEST_TARGET} --config $<CONFIGURATION>)
set(ADDTEST_COMMAND "${CMAKE_COMMAND}")
set(ADDTEST_CMD_ARGS --build . --target ${ADDTEST_TARGET} --config "$<CONFIGURATION>")
endif()
# Add one test for each specified processor number
foreach(procnum ${ADDTEST_MPI_RANKS})
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}")
set(ACTUAL_TESTCOMMAND "$<TARGET_FILE:${ADDTEST_COMMAND}>")
else()
set(ACTUAL_TESTCOMMAND ${ADDTEST_COMMAND})
set(ACTUAL_TESTCOMMAND "${ADDTEST_COMMAND}")
endif()
if(NOT ${procnum} STREQUAL "1")
set(ACTUAL_TESTCOMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${procnum} ${ACTUAL_TESTCOMMAND} ${MPIEXEC_POSTFLAGS})
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()
# Now add the actual test
_add_test(NAME ${ACTUAL_NAME}
COMMAND ${ACTUAL_TESTCOMMAND} ${ADDTEST_CMD_ARGS}
COMMAND "${ACTUAL_TESTCOMMAND}" ${ACTUAL_CMD_ARGS}
)
# Define the number of processors (ctest will coordinate this with the -j option)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment