From 8fc807cd9fb04883f9a188822f419cf3674e192f Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Mon, 26 Aug 2024 08:35:32 +0200
Subject: [PATCH] [cmake,ci] Fix timeout setting in OgsTest().

---
 scripts/cmake/test/OgsTest.cmake | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/scripts/cmake/test/OgsTest.cmake b/scripts/cmake/test/OgsTest.cmake
index a947442af8a..9a95ca80697 100644
--- a/scripts/cmake/test/OgsTest.cmake
+++ b/scripts/cmake/test/OgsTest.cmake
@@ -26,11 +26,14 @@ function(OgsTest)
         )
     endif()
 
-    set(timeout ${ogs.ctest.large_runtime})
-    if(DEFINED OgsTest_RUNTIME)
-        math(EXPR timeout "${OgsTest_RUNTIME} * 3")
-    else()
+    if(NOT DEFINED OgsTest_RUNTIME)
         set(OgsTest_RUNTIME 1)
+    elseif(OgsTest_RUNTIME GREATER 750)
+        # Set a timeout on jobs larger than the default ctest timeout of 1500
+        # (s). The allowed runtime is twice as long as the given RUNTIME
+        # parameter.
+        math(EXPR timeout "${OgsTest_RUNTIME} * 2")
+        set(timeout TIMEOUT ${timeout})
     endif()
 
     if(DEFINED OGS_CTEST_MAX_RUNTIME)
@@ -132,6 +135,7 @@ macro(_ogs_add_test TEST_NAME)
                    ${OgsTest_DISABLED}
                    LABELS
                    "${labels}"
+                   ${timeout}
     )
 endmacro()
 
-- 
GitLab