From cf9fab82056a5d2571ebf32b344e53c81a35ccd5 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Wed, 14 Mar 2018 15:04:37 +0100
Subject: [PATCH] [CTest] Changed test tester invocation due to Windows process
 limits.

Before each vtk-diff call was run in its own process but in parallel.
With more than 30 processes it hung up forever. Worked around that by
running everything sequentially. :-(
---
 scripts/cmake/test/AddTestTester.cmake | 33 +++++++++++++++-----------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/scripts/cmake/test/AddTestTester.cmake b/scripts/cmake/test/AddTestTester.cmake
index 680dd144eea..4fedb0cf8d6 100644
--- a/scripts/cmake/test/AddTestTester.cmake
+++ b/scripts/cmake/test/AddTestTester.cmake
@@ -27,23 +27,28 @@ foreach(CMD ${TESTER_COMMAND})
         list(LENGTH FILES length)
         message(STATUS "Glob expression '${GLOB}' (${NAME_A}) found ${length} files.")
         foreach(FILE ${FILES})
-            set(COMBINED_COMMAND ${COMBINED_COMMAND} COMMAND ${TERMINAL_CMD}
-                "${SELECTED_DIFF_TOOL_PATH} \
-                 ${case_path}/${FILE} ${BINARY_PATH}/${FILE} \
-                 -a ${NAME_A} -b ${NAME_B} --abs ${ABS_TOL} --rel ${REL_TOL}")
+            execute_process(
+                COMMAND ${SELECTED_DIFF_TOOL_PATH} ${case_path}/${FILE} ${BINARY_PATH}/${FILE} -a ${NAME_A} -b ${NAME_B} --abs ${ABS_TOL} --rel ${REL_TOL}
+                WORKING_DIRECTORY ${case_path}
+                RESULT_VARIABLE EXIT_CODE
+                OUTPUT_VARIABLE OUTPUT
+            )
+
+            if(NOT EXIT_CODE STREQUAL "0")
+                message(FATAL_ERROR "Error exit code: ${EXIT_CODE}\n${OUTPUT}")
+            endif()
         endforeach()
     else()
-        set(COMBINED_COMMAND ${COMBINED_COMMAND} COMMAND ${TERMINAL_CMD} ${CMD})
+        execute_process(
+            COMMAND ${TERMINAL_CMD} "${CMD}"
+            WORKING_DIRECTORY ${case_path}
+            RESULT_VARIABLE EXIT_CODE
+            OUTPUT_VARIABLE OUTPUT
+        )
+        if(NOT EXIT_CODE STREQUAL "0")
+            message(FATAL_ERROR "Error exit code: ${EXIT_CODE}")
+        endif()
     endif()
 endforeach()
 
-execute_process(
-    ${COMBINED_COMMAND}
-    WORKING_DIRECTORY ${case_path}
-    RESULT_VARIABLE EXIT_CODE
-    OUTPUT_VARIABLE OUTPUT
-)
 
-if(NOT EXIT_CODE STREQUAL "0")
-    message(FATAL_ERROR "Error exit code: ${EXIT_CODE}")
-endif()
-- 
GitLab