From 69a0b27722639d11580266c3598105dddbe6b7b0 Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Fri, 29 Jan 2016 14:21:03 +0100 Subject: [PATCH] MPI test wrapper works, diff tester not. --- SimpleTests/MeshTests/MPI/CMakeLists.txt | 71 +++++++++++++++++------- scripts/cmake/test/AddTest.cmake | 3 +- scripts/cmake/test/AddTestWrapper.cmake | 3 +- 3 files changed, 54 insertions(+), 23 deletions(-) diff --git a/SimpleTests/MeshTests/MPI/CMakeLists.txt b/SimpleTests/MeshTests/MPI/CMakeLists.txt index 46831d7dea9..6ba0f5d7ce4 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 96c1123882e..b3948ae53c0 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 fe52d89083a..17c1fd7e626 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 ) -- GitLab