Skip to content

Commit

Permalink
test stdin via execute_process
Browse files Browse the repository at this point in the history
  • Loading branch information
scivision committed Oct 3, 2021
1 parent c6ada41 commit d5ae560
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
26 changes: 11 additions & 15 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
find_program(PWSH NAMES pwsh powershell)

set(_sfilename input_simpletest_real)
set(_dfilename input_simpletest_real)
set(_cfilename input_simpletest_cmplx)
Expand All @@ -12,28 +10,26 @@ foreach(a s d)

add_executable(${a}simpletest ${a}simpletest.F)
target_link_libraries(${a}simpletest PRIVATE MUMPS::MUMPS MPI::MPI_Fortran)
if(PWSH)
add_test(NAME mumps:example_${a} COMMAND ${PWSH} -c \"Get-Content ${CMAKE_CURRENT_SOURCE_DIR}/${_${a}filename} | ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2 $<TARGET_FILE:${a}simpletest>\")
elseif(UNIX)
add_test(NAME mumps:example_${a} COMMAND sh -c "${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2 $<TARGET_FILE:${a}simpletest> < ${CMAKE_CURRENT_SOURCE_DIR}/${_${a}filename}")
else()
continue()
endif()

add_test(NAME mumps:example_${a} COMMAND ${CMAKE_COMMAND} -Dexe:FILEPATH=$<TARGET_FILE:${a}simpletest> -Din:PATH=${CMAKE_CURRENT_SOURCE_DIR}/${_${a}filename} -P ${PROJECT_SOURCE_DIR}/examples/run_ex.cmake)
set_tests_properties(mumps:example_${a} PROPERTIES RESOURCE_LOCK cpu_mpi)


add_executable(${a}simpletest_save_restore ${a}simpletest_save_restore.F)
target_link_libraries(${a}simpletest_save_restore PRIVATE MUMPS::MUMPS MPI::MPI_Fortran)
if(PWSH)
add_test(NAME mumps:saveRestore_${a} COMMAND ${PWSH} -c \"Get-Content ${CMAKE_CURRENT_SOURCE_DIR}/${_${a}filename} | ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2 $<TARGET_FILE:${a}simpletest_save_restore>\")
elseif(UNIX)
add_test(NAME mumps:saveRestore_${a} COMMAND ${SHELL} -c "${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2 $<TARGET_FILE:${a}simpletest_save_restore> < ${CMAKE_CURRENT_SOURCE_DIR}/${_${a}filename}")
endif()

add_test(NAME mumps:saveRestore_${a} COMMAND ${CMAKE_COMMAND} -Dexe:FILEPATH=$<TARGET_FILE:${a}simpletest_save_restore> -Din:PATH=${CMAKE_CURRENT_SOURCE_DIR}/${_${a}filename} -P ${PROJECT_SOURCE_DIR}/examples/run_ex.cmake)
set_tests_properties(mumps:saveRestore_${a} PROPERTIES RESOURCE_LOCK cpu_mpi)
endforeach()

if(d IN_LIST arith)
add_executable(c_example c_example.c)
target_link_libraries(c_example PRIVATE MUMPS::MUMPS MPI::MPI_C)
add_test(NAME mumps:example_C COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2 $<TARGET_FILE:c_example>)
if(parallel)
add_test(NAME mumps:example_C
COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2 $<TARGET_FILE:c_example>)
else()
add_test(NAME mumps:example_C COMMAND $<TARGET_FILE:c_example>)
endif()
set_tests_properties(mumps:example_C PROPERTIES RESOURCE_LOCK cpu_mpi)
endif()
15 changes: 15 additions & 0 deletions examples/run_ex.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

if(parallel)
set(cmd mpiexec -n 2 ${exe})
else()
set(cmd ${exe})
endif()

execute_process(COMMAND ${cmd}
INPUT_FILE ${in}
RESULT_VARIABLE ret
)

if(NOT ret EQUAL 0)
message(FATAL_ERROR "return code ${ret}")
endif()

0 comments on commit d5ae560

Please sign in to comment.