diff --git a/SimpleTests/MeshTests/MPI/CMakeLists.txt b/SimpleTests/MeshTests/MPI/CMakeLists.txt index 6ba0f5d7ce4631bc82aa3e1ff915b6b8b5f36255..1190c8e07dd5badf5475968ae9fa39ea7e8b1be1 100644 --- a/SimpleTests/MeshTests/MPI/CMakeLists.txt +++ b/SimpleTests/MeshTests/MPI/CMakeLists.txt @@ -23,7 +23,7 @@ AddTest( NAME NodePartitionedMeshTestASCII PATH NodePartitionedMesh/ASCII EXECUTABLE test_node_partitioned_mesh - EXECUTABLE_ARGS mesh_3d + EXECUTABLE_ARGS "mesh_3d ${Data_BINARY_DIR}/NodePartitionedMesh/ASCII" WRAPPER mpirun WRAPPER_ARGS "-np 3" TESTER diff @@ -34,7 +34,7 @@ AddTest( NAME NodePartitionedMeshTestBinary PATH NodePartitionedMesh/Binary EXECUTABLE test_node_partitioned_mesh - EXECUTABLE_ARGS mesh_3d + EXECUTABLE_ARGS "mesh_3d ${Data_BINARY_DIR}/NodePartitionedMesh/Binary" WRAPPER mpirun WRAPPER_ARGS "-np 3" TESTER diff @@ -80,4 +80,3 @@ AddTest( cube_1e3_neumann_result_pcs_0_ts_1_1.vtu cube_1e3_neumann_result_pcs_0_ts_1_2.vtu ) - diff --git a/SimpleTests/MeshTests/MPI/NodePartitionedMeshTester.cpp b/SimpleTests/MeshTests/MPI/NodePartitionedMeshTester.cpp index 911482af4b74a4cdf501ace8f3c7063e4ab7fd1f..2e816c183d434a810e9371f8afd8354291f1c544 100644 --- a/SimpleTests/MeshTests/MPI/NodePartitionedMeshTester.cpp +++ b/SimpleTests/MeshTests/MPI/NodePartitionedMeshTester.cpp @@ -23,6 +23,7 @@ #include "logog/include/logog.hpp" +#include "BaseLib/FileTools.h" #include "BaseLib/LogogCustomCout.h" #include "BaseLib/TemplateLogogFormatterSuppressedGCC.h" @@ -53,6 +54,9 @@ int main(int argc, char *argv[]) out->SetFormatter(*fmt); const std::string file_name = argv[1]; + std::string output_dir = ""; + if (argc > 2) + output_dir = argv[2]; NodePartitionedMesh *mesh = nullptr; { @@ -69,7 +73,7 @@ int main(int argc, char *argv[]) MPI_Comm_rank(MPI_COMM_WORLD, &rank); const std::string rank_str = std::to_string(rank); const std::string ofile_name = file_name + "_partition_" + rank_str + ".msh"; - std::ofstream os(ofile_name.data(), std::ios::trunc); + std::ofstream os(BaseLib::joinPaths(output_dir, ofile_name), std::ios::trunc); // Output nodes os.setf(std::ios::scientific, std::ios::floatfield); @@ -111,4 +115,3 @@ int main(int argc, char *argv[]) LOGOG_SHUTDOWN(); } - diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake index b3948ae53c0f8c73ca8bba720f5163529d087ad4..fb9498e22414dbc4a99329951f65c6a9c70c2b80 100644 --- a/scripts/cmake/test/AddTest.cmake +++ b/scripts/cmake/test/AddTest.cmake @@ -8,8 +8,9 @@ # NAME <name of the the test> # PATH <working directory> # relative to SourceDir/Tests/Data # EXECUTABLE <executable target> # optional, defaults to ogs -# EXECUTABLE_ARGS <arguments> # files referenced in the DATA argument can be used here +# EXECUTABLE_ARGS <arguments> # WRAPPER <time|memcheck|callgrind> # optional, defaults to time +# WRAPPER_ARGS <arguments> # optional # TESTER <diff|memcheck> # optional # DATA <list of all required data files, white-space separated, have to be in PATH> # ) @@ -37,7 +38,6 @@ function (AddTest) set(multiValueArgs EXECUTABLE_ARGS DATA DIFF_DATA WRAPPER_ARGS) cmake_parse_arguments(AddTest "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - # TODO set to submodule set(AddTest_SOURCE_PATH "${Data_SOURCE_DIR}/${AddTest_PATH}") set(AddTest_BINARY_PATH "${Data_BINARY_DIR}/${AddTest_PATH}") file(MAKE_DIRECTORY ${AddTest_BINARY_PATH})