diff --git a/SimpleTests/MeshTests/MPI/CMakeLists.txt b/SimpleTests/MeshTests/MPI/CMakeLists.txt index 46831d7dea9aedb3a47a2731580b6592763fe964..6ba0f5d7ce4631bc82aa3e1ff915b6b8b5f36255 100644 --- a/SimpleTests/MeshTests/MPI/CMakeLists.txt +++ b/SimpleTests/MeshTests/MPI/CMakeLists.txt @@ -19,36 +19,65 @@ if(OGS_USE_MPI) target_link_libraries(test_node_partitioned_mesh ${MPI_CXX_LIBRARIES}) endif() -set(FilePath "DATA{${ExternalData_SOURCE_ROOT}/NodePartitionedMesh/ASCII/,REGEX:.*}") -set(MPITestParameters -np 3 "${PROJECT_BINARY_DIR}/bin/test_node_partitioned_mesh" "${FilePath}/mesh_3d") -Add_Test( +AddTest( NAME NodePartitionedMeshTestASCII - COMMAND "mpirun" ${MPITestParameters} + PATH NodePartitionedMesh/ASCII + EXECUTABLE test_node_partitioned_mesh + EXECUTABLE_ARGS mesh_3d + WRAPPER mpirun + WRAPPER_ARGS "-np 3" + TESTER diff + DIFF_DATA mesh_3d_partition_0.msh mesh_3d_partition_1.msh mesh_3d_partition_2.msh ) -set(FilePath "DATA{${ExternalData_SOURCE_ROOT}/NodePartitionedMesh/Binary/,REGEX:.*}") -set(MPITestParameters -np 3 "${PROJECT_BINARY_DIR}/bin/test_node_partitioned_mesh" "${FilePath}/mesh_3d") -Add_Test( +AddTest( NAME NodePartitionedMeshTestBinary - COMMAND "mpirun" ${MPITestParameters} + PATH NodePartitionedMesh/Binary + EXECUTABLE test_node_partitioned_mesh + EXECUTABLE_ARGS mesh_3d + WRAPPER mpirun + WRAPPER_ARGS "-np 3" + TESTER diff + DIFF_DATA mesh_3d_partition_0.msh mesh_3d_partition_1.msh mesh_3d_partition_2.msh ) ## FEM#PETSc solver tests -set(FilePath "DATA{${ExternalData_SOURCE_ROOT}/EllipticPETSc/,REGEX:.*}") -set(MPITestParameters -np 3 "${PROJECT_BINARY_DIR}/bin/ogs" "${FilePath}/quad_20x10_GroundWaterFlow.prj" -- -gw_ksp_type bcgs -gw_pc_type bjacobi -gw_ksp_atol 1.e-10) -Add_Test( - NAME ParallelFEM_GroundWaterFlow2D - COMMAND "mpirun" ${MPITestParameters} ${SolverType} +AddTest( + NAME ParallelFEM_GroundWaterFlow2D + PATH EllipticPETSc/ + EXECUTABLE_ARGS quad_20x10_GroundWaterFlow.prj -gw_ksp_type bcgs -gw_pc_type bjacobi -gw_ksp_atol 1.e-10 + WRAPPER mpirun + WRAPPER_ARGS "-np 3" + TESTER diff + DIFF_DATA + quad_20x10_GroundWaterFlow_result_pcs_0_ts_1_0.vtu + quad_20x10_GroundWaterFlow_result_pcs_0_ts_1_1.vtu + quad_20x10_GroundWaterFlow_result_pcs_0_ts_1_2.vtu ) -set(MPITestParameters -np 3 "${PROJECT_BINARY_DIR}/bin/ogs" "${FilePath}/cube_1e3.prj" -- -gw_ksp_type bcgs -gw_pc_type bjacobi -gw_ksp_atol 1.e-10) -Add_Test( - NAME ParallelFEM_GroundWaterFlow3D_DirichletBC - COMMAND "mpirun" ${MPITestParameters} ${SolverType} +AddTest( + NAME ParallelFEM_GroundWaterFlow3D_DirichletBC + PATH EllipticPETSc/ + EXECUTABLE_ARGS cube_1e3.prj -gw_ksp_type bcgs -gw_pc_type bjacobi -gw_ksp_atol 1.e-10 + WRAPPER mpirun + WRAPPER_ARGS "-np 3" + TESTER diff + DIFF_DATA + cube_1e3_result_pcs_0_ts_1_0.vtu + cube_1e3_result_pcs_0_ts_1_1.vtu + cube_1e3_result_pcs_0_ts_1_2.vtu ) -set(MPITestParameters -np 3 "${PROJECT_BINARY_DIR}/bin/ogs" "${FilePath}/cube_1e3_neumann.prj" -- -gw_ksp_type bcgs -gw_pc_type bjacobi -gw_ksp_atol 1.e-10) -Add_Test( - NAME ParallelFEM_GroundWaterFlow3D_NeumannBC - COMMAND "mpirun" ${MPITestParameters} ${SolverType} +AddTest( + NAME ParallelFEM_GroundWaterFlow3D_NeumannBC + PATH EllipticPETSc/ + EXECUTABLE_ARGS cube_1e3_neumann.prj -gw_ksp_type bcgs -gw_pc_type bjacobi -gw_ksp_atol 1.e-10 + WRAPPER mpirun + WRAPPER_ARGS "-np 3" + TESTER diff + DIFF_DATA + cube_1e3_neumann_result_pcs_0_ts_1_0.vtu + cube_1e3_neumann_result_pcs_0_ts_1_1.vtu + cube_1e3_neumann_result_pcs_0_ts_1_2.vtu ) + diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake index 96c1123882eecf526260f6c699c5ad05837bbf25..b3948ae53c0f8c73ca8bba720f5163529d087ad4 100644 --- a/scripts/cmake/test/AddTest.cmake +++ b/scripts/cmake/test/AddTest.cmake @@ -78,7 +78,7 @@ function (AddTest) set(WRAPPER_COMMAND "${VALGRIND_TOOL_PATH} --tool=callgrind --branch-sim=yes --cache-sim=yes --dump-instr=yes --collect-jumps=yes") unset(tester) elseif(AddTest_WRAPPER STREQUAL "mpirun") - set(WRAPPER_COMMAND "${MPIRUN_TOOL_PATH} ${AddTest_WRAPPER_ARGS}") + set(WRAPPER_COMMAND ${MPIRUN_TOOL_PATH}) endif() # --- Implement testers --- @@ -160,6 +160,7 @@ function (AddTest) -DEXECUTABLE_ARGS=${AddTest_EXECUTABLE_ARGS} -Dcase_path=${AddTest_SOURCE_PATH} -DWRAPPER_COMMAND=${WRAPPER_COMMAND} + -DWRAPPER_ARGS=${AddTest_WRAPPER_ARGS} -P ${PROJECT_SOURCE_DIR}/scripts/cmake/test/AddTestWrapper.cmake ) diff --git a/scripts/cmake/test/AddTestWrapper.cmake b/scripts/cmake/test/AddTestWrapper.cmake index fe52d89083a73573f4d50e71977ce02950cebbbb..17c1fd7e626329eb8ebe98a93c2517ae3935505c 100644 --- a/scripts/cmake/test/AddTestWrapper.cmake +++ b/scripts/cmake/test/AddTestWrapper.cmake @@ -1,7 +1,8 @@ string(REPLACE " " ";" WRAPPER_COMMAND ${WRAPPER_COMMAND}) +string(REPLACE " " ";" WRAPPER_ARGS ${WRAPPER_ARGS}) string(REPLACE " " ";" EXECUTABLE_ARGS ${EXECUTABLE_ARGS}) execute_process( - COMMAND ${WRAPPER_COMMAND} ${EXECUTABLE} ${EXECUTABLE_ARGS} + COMMAND ${WRAPPER_COMMAND} ${WRAPPER_ARGS} ${EXECUTABLE} ${EXECUTABLE_ARGS} WORKING_DIRECTORY ${case_path} RESULT_VARIABLE EXIT_CODE )