From 687a063d48b4e516f188d307978408bcaf604c9e Mon Sep 17 00:00:00 2001
From: Timo Koch <timokoch@math.uio.no>
Date: Wed, 7 Feb 2024 21:25:00 +0000
Subject: [PATCH] [cmake][test] Fix test name when using MPI_RANKS in
 dumux_add_test

---
 cmake/modules/DumuxTestMacros.cmake | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/cmake/modules/DumuxTestMacros.cmake b/cmake/modules/DumuxTestMacros.cmake
index e62bb416fc..e37bd35b09 100644
--- a/cmake/modules/DumuxTestMacros.cmake
+++ b/cmake/modules/DumuxTestMacros.cmake
@@ -260,9 +260,23 @@ function(dumux_add_test)
     set(ADDTEST_TARGET ${ADDTEST_NAME})
   endif()
 
-  file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/TestMetaData")
-  file(WRITE "${CMAKE_BINARY_DIR}/TestMetaData/${ADDTEST_NAME}.json"
-             "{\n  \"name\": \"${ADDTEST_NAME}\",\n  \"target\": \"${ADDTEST_TARGET}\",\n  \"source_dir\": \"${CMAKE_CURRENT_SOURCE_DIR}\"\n}\n")
+  if(NOT ADDTEST_MPI_RANKS)
+    set(ADDTEST_MPI_RANKS 1)
+  endif()
+
+  foreach(procnum ${ADDTEST_MPI_RANKS})
+    if((NOT "${procnum}" GREATER "${DUNE_MAX_TEST_CORES}") AND (NOT ADDTEST_COMPILE_ONLY))
+      set(ACTUAL_NAME ${ADDTEST_NAME})
+      # add suffix
+      if(NOT ${procnum} STREQUAL "1")
+        set(ACTUAL_NAME "${ACTUAL_NAME}-mpi-${procnum}")
+      endif()
+
+      file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/TestMetaData")
+      file(WRITE "${CMAKE_BINARY_DIR}/TestMetaData/${ACTUAL_NAME}.json"
+             "{\n  \"name\": \"${ACTUAL_NAME}\",\n  \"target\": \"${ADDTEST_TARGET}\",\n  \"source_dir\": \"${CMAKE_CURRENT_SOURCE_DIR}\"\n}\n")
+    endif()
+  endforeach()
 endfunction()
 
 # Evaluate test guards like dune_add_test internally does
-- 
GitLab