diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 75c459b8e03ae3f7407ec957b0f3abe6cc9e40b3..51629caccc136034fe4b0330a89914f899c32561 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -55,7 +55,6 @@ include:
   - local: '/scripts/ci/jobs/build-gui-win.yml'
   - local: '/scripts/ci/jobs/build-gui-mac.yml'
   - local: '/scripts/ci/jobs/check-header.yml'
-  - local: '/scripts/ci/jobs/tests-large.yml'
   - local: '/scripts/ci/jobs/clang-sanitizer.yml'
   - local: '/scripts/ci/jobs/clang-tidy.yml'
   - local: '/scripts/ci/jobs/web.yml'
diff --git a/ProcessLib/ComponentTransport/Tests.cmake b/ProcessLib/ComponentTransport/Tests.cmake
index 367d14522d398f7ebe97b27ca81dfd8e475ade00..68cad19a46336c6af01db5e1eb11b277df96bbdf 100644
--- a/ProcessLib/ComponentTransport/Tests.cmake
+++ b/ProcessLib/ComponentTransport/Tests.cmake
@@ -675,7 +675,7 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_2D_ComponentTransport_Goswami
+    NAME 2D_ComponentTransport_Goswami
     PATH Parabolic/ComponentTransport/goswami
     RUNTIME 900
     EXECUTABLE ogs
@@ -711,7 +711,7 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_2D_ComponentTransport_Elder
+    NAME 2D_ComponentTransport_Elder
     PATH Parabolic/ComponentTransport/elder
     RUNTIME 2700
     EXECUTABLE ogs
@@ -775,8 +775,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_2D_ComponentTransport_ElderPython
+    NAME 2D_ComponentTransport_ElderPython
     PATH Parabolic/ComponentTransport/elder
+    RUNTIME 2700
     EXECUTABLE ogs
     EXECUTABLE_ARGS elder-python.prj
     WRAPPER time
@@ -809,32 +810,32 @@ AddTest(
     elder_pcs_0_ts_500_t_131490000.000000_reference.vtu  elder_python_pcs_0_ts_500_t_131490000.000000.vtu  pressure  pressure  1e-1  1e-5
     elder_pcs_0_ts_60_t_15778800.000000_reference.vtu    elder_python_pcs_0_ts_60_t_15778800.000000.vtu    pressure  pressure  1e-1  1e-5
     elder_pcs_0_ts_80_t_21038400.000000_reference.vtu    elder_python_pcs_0_ts_80_t_21038400.000000.vtu    pressure  pressure  1e-1  1e-5
-    elder_pcs_0_ts_0_t_0.000000_reference.vtu            elder_python_pcs_0_ts_0_t_0.000000.vtu            conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_100_t_26298000.000000_reference.vtu   elder_python_pcs_0_ts_100_t_26298000.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_120_t_31557600.000000_reference.vtu   elder_python_pcs_0_ts_120_t_31557600.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_140_t_36817200.000000_reference.vtu   elder_python_pcs_0_ts_140_t_36817200.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_160_t_42076800.000000_reference.vtu   elder_python_pcs_0_ts_160_t_42076800.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_180_t_47336400.000000_reference.vtu   elder_python_pcs_0_ts_180_t_47336400.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_200_t_52596000.000000_reference.vtu   elder_python_pcs_0_ts_200_t_52596000.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_20_t_5259600.000000_reference.vtu     elder_python_pcs_0_ts_20_t_5259600.000000.vtu     conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_220_t_57855600.000000_reference.vtu   elder_python_pcs_0_ts_220_t_57855600.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_240_t_63115200.000000_reference.vtu   elder_python_pcs_0_ts_240_t_63115200.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_260_t_68374800.000000_reference.vtu   elder_python_pcs_0_ts_260_t_68374800.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_280_t_73634400.000000_reference.vtu   elder_python_pcs_0_ts_280_t_73634400.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_300_t_78894000.000000_reference.vtu   elder_python_pcs_0_ts_300_t_78894000.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_320_t_84153600.000000_reference.vtu   elder_python_pcs_0_ts_320_t_84153600.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_340_t_89413200.000000_reference.vtu   elder_python_pcs_0_ts_340_t_89413200.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_360_t_94672800.000000_reference.vtu   elder_python_pcs_0_ts_360_t_94672800.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_380_t_99932400.000000_reference.vtu   elder_python_pcs_0_ts_380_t_99932400.000000.vtu   conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_400_t_105192000.000000_reference.vtu  elder_python_pcs_0_ts_400_t_105192000.000000.vtu  conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_40_t_10519200.000000_reference.vtu    elder_python_pcs_0_ts_40_t_10519200.000000.vtu    conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_420_t_110451600.000000_reference.vtu  elder_python_pcs_0_ts_420_t_110451600.000000.vtu  conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_440_t_115711200.000000_reference.vtu  elder_python_pcs_0_ts_440_t_115711200.000000.vtu  conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_460_t_120970800.000000_reference.vtu  elder_python_pcs_0_ts_460_t_120970800.000000.vtu  conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_480_t_126230400.000000_reference.vtu  elder_python_pcs_0_ts_480_t_126230400.000000.vtu  conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_500_t_131490000.000000_reference.vtu  elder_python_pcs_0_ts_500_t_131490000.000000.vtu  conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_60_t_15778800.000000_reference.vtu    elder_python_pcs_0_ts_60_t_15778800.000000.vtu    conc      Si      1e-1  1e-5
-    elder_pcs_0_ts_80_t_21038400.000000_reference.vtu    elder_python_pcs_0_ts_80_t_21038400.000000.vtu    conc      Si      1e-1  1e-5
+    elder_pcs_0_ts_0_t_0.000000_reference.vtu            elder_python_pcs_0_ts_0_t_0.000000.vtu            Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_100_t_26298000.000000_reference.vtu   elder_python_pcs_0_ts_100_t_26298000.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_120_t_31557600.000000_reference.vtu   elder_python_pcs_0_ts_120_t_31557600.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_140_t_36817200.000000_reference.vtu   elder_python_pcs_0_ts_140_t_36817200.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_160_t_42076800.000000_reference.vtu   elder_python_pcs_0_ts_160_t_42076800.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_180_t_47336400.000000_reference.vtu   elder_python_pcs_0_ts_180_t_47336400.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_200_t_52596000.000000_reference.vtu   elder_python_pcs_0_ts_200_t_52596000.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_20_t_5259600.000000_reference.vtu     elder_python_pcs_0_ts_20_t_5259600.000000.vtu     Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_220_t_57855600.000000_reference.vtu   elder_python_pcs_0_ts_220_t_57855600.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_240_t_63115200.000000_reference.vtu   elder_python_pcs_0_ts_240_t_63115200.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_260_t_68374800.000000_reference.vtu   elder_python_pcs_0_ts_260_t_68374800.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_280_t_73634400.000000_reference.vtu   elder_python_pcs_0_ts_280_t_73634400.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_300_t_78894000.000000_reference.vtu   elder_python_pcs_0_ts_300_t_78894000.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_320_t_84153600.000000_reference.vtu   elder_python_pcs_0_ts_320_t_84153600.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_340_t_89413200.000000_reference.vtu   elder_python_pcs_0_ts_340_t_89413200.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_360_t_94672800.000000_reference.vtu   elder_python_pcs_0_ts_360_t_94672800.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_380_t_99932400.000000_reference.vtu   elder_python_pcs_0_ts_380_t_99932400.000000.vtu   Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_400_t_105192000.000000_reference.vtu  elder_python_pcs_0_ts_400_t_105192000.000000.vtu  Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_40_t_10519200.000000_reference.vtu    elder_python_pcs_0_ts_40_t_10519200.000000.vtu    Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_420_t_110451600.000000_reference.vtu  elder_python_pcs_0_ts_420_t_110451600.000000.vtu  Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_440_t_115711200.000000_reference.vtu  elder_python_pcs_0_ts_440_t_115711200.000000.vtu  Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_460_t_120970800.000000_reference.vtu  elder_python_pcs_0_ts_460_t_120970800.000000.vtu  Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_480_t_126230400.000000_reference.vtu  elder_python_pcs_0_ts_480_t_126230400.000000.vtu  Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_500_t_131490000.000000_reference.vtu  elder_python_pcs_0_ts_500_t_131490000.000000.vtu  Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_60_t_15778800.000000_reference.vtu    elder_python_pcs_0_ts_60_t_15778800.000000.vtu    Si      Si      1e-1  1e-5
+    elder_pcs_0_ts_80_t_21038400.000000_reference.vtu    elder_python_pcs_0_ts_80_t_21038400.000000.vtu    Si      Si      1e-1  1e-5
 )
 
 AddTest(
@@ -1024,8 +1025,9 @@ if (NOT OGS_USE_MPI)
 endif()
 
 AddTest(
-    NAME LARGE_2D_ReactiveMassTransport_Phreeqc_KineticReactantBlockTest_AllAsComponents
+    NAME 2D_ReactiveMassTransport_Phreeqc_KineticReactantBlockTest_AllAsComponents
     PATH Parabolic/ComponentTransport/ReactiveTransport/KineticReactant_AllAsComponents
+    RUNTIME 3300
     EXECUTABLE ogs
     EXECUTABLE_ARGS KineticReactant2_2d.prj
     WRAPPER time
diff --git a/ProcessLib/HT/Tests.cmake b/ProcessLib/HT/Tests.cmake
index 816399b77e74bf3783dcab15754bdc750cb52d2c..abf4db3f80511b7bad19abad2cd4dcc857ef0f63 100644
--- a/ProcessLib/HT/Tests.cmake
+++ b/ProcessLib/HT/Tests.cmake
@@ -1,6 +1,6 @@
 # Monolithic scheme
 AddTest(
-    NAME LARGE_2D_ThermalConvection_constviscosityMonolithic
+    NAME 2D_ThermalConvection_constviscosityMonolithic
     PATH Parabolic/HT/ConstViscosity
     RUNTIME 66
     EXECUTABLE ogs
@@ -161,7 +161,7 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_HT_calculatesurfaceflux
+    NAME HT_calculatesurfaceflux
     PATH Parabolic/HT/SimpleSynthetics
     RUNTIME 190
     EXECUTABLE ogs
@@ -359,8 +359,10 @@ AddTest(
 
 # MPI/PETSc tests
 AddTest(
-    NAME Parallel_LARGE_2D_ThermalConvection_constviscosity
+    DISABLED
+    NAME Parallel_2D_ThermalConvection_constviscosity
     PATH Parabolic/HT/ConstViscosity
+    RUNTIME 61 # Actual RUNTIME?
     EXECUTABLE_ARGS square_5500x5500.prj
     WRAPPER mpirun
     WRAPPER_ARGS -np 4
@@ -378,8 +380,10 @@ AddTest(
 )
 
 AddTest(
-    NAME Parallel_LARGE_2D_ThermalConvection_constviscosityStaggeredScheme
+    DISABLED
+    NAME Parallel_2D_ThermalConvection_constviscosityStaggeredScheme
     PATH Parabolic/HT/StaggeredCoupling/ConstViscosity
+    RUNTIME 61 # Actual RUNTIME?
     EXECUTABLE_ARGS square_5500x5500_staggered_scheme.prj
     WRAPPER mpirun
     WRAPPER_ARGS -np 1
@@ -392,8 +396,10 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_2D_Adaptive_dt_ThermalConvection_constviscosityStaggeredScheme
+    DISABLED
+    NAME 2D_Adaptive_dt_ThermalConvection_constviscosityStaggeredScheme
     PATH Parabolic/HT/StaggeredCoupling/ConstViscosity
+    RUNTIME 61 # Actual RUNTIME?
     EXECUTABLE_ARGS square_5500x5500_staggered_scheme_adaptive_dt.prj
     WRAPPER mpirun
     WRAPPER_ARGS -np 1
diff --git a/ProcessLib/HeatConduction/Tests.cmake b/ProcessLib/HeatConduction/Tests.cmake
index b23860310680b6b59b15f5372749f975ee46888f..f8456a25892ece2ed5f2c2779706d92674160984 100644
--- a/ProcessLib/HeatConduction/Tests.cmake
+++ b/ProcessLib/HeatConduction/Tests.cmake
@@ -143,7 +143,7 @@ AddTest(
 # The 25 BHE array benchmark
 # test results are compared to 2D simulation result
 AddTest(
-    NAME LARGE_BHE_Array_2D
+    NAME BHE_Array_2D
     PATH Parabolic/T/2D_BHE_array
     RUNTIME 90
     EXECUTABLE ogs
@@ -326,9 +326,10 @@ AddTest(
 )
 
 AddTest(
-        NAME LARGE_HeatConduction_3D_LineSourceTermInMiddleOfCylinder_286k_prisms
+        NAME HeatConduction_3D_LineSourceTermInMiddleOfCylinder_286k_prisms
         PATH
         Parabolic/T/3D_line_source_term_tests/3D_line_source_term_in_cylinder/286k_prisms
+        RUNTIME 32
         EXECUTABLE ogs
         EXECUTABLE_ARGS line_source_term_in_cylinder.prj
         TESTER vtkdiff
diff --git a/ProcessLib/LIE/HydroMechanics/Tests.cmake b/ProcessLib/LIE/HydroMechanics/Tests.cmake
index ed4465c4e570684dbe1aee7a205dae4a1539666a..6146bd0257dea12f3bf740e1891d3f60d5498ef5 100644
--- a/ProcessLib/LIE/HydroMechanics/Tests.cmake
+++ b/ProcessLib/LIE/HydroMechanics/Tests.cmake
@@ -31,7 +31,7 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_LIE_HM_single_fracture_3D
+    NAME LIE_HM_single_fracture_3D
     PATH LIE/HydroMechanics
     RUNTIME 320
     EXECUTABLE ogs
@@ -59,9 +59,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_LIE_HM_TaskB
+    NAME LIE_HM_TaskB
     PATH LIE/HydroMechanics
-    RUNTIME 60
+    RUNTIME 80
     EXECUTABLE ogs
     EXECUTABLE_ARGS TaskB.prj
     WRAPPER time
diff --git a/ProcessLib/LiquidFlow/Tests.cmake b/ProcessLib/LiquidFlow/Tests.cmake
index b17d2891bc58c3db2460a58abc55cfdb6ae6933e..b2afc3a7ad6b70cc0ab6e1cc9b2ed1f034284b53 100644
--- a/ProcessLib/LiquidFlow/Tests.cmake
+++ b/ProcessLib/LiquidFlow/Tests.cmake
@@ -59,9 +59,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_LiquidFlow_Anisotropic_GravityDriven3D
+    NAME LiquidFlow_Anisotropic_GravityDriven3D
     PATH Parabolic/LiquidFlow/GravityDriven3D
-    RUNTIME 70
+    RUNTIME 115
     EXECUTABLE ogs
     EXECUTABLE_ARGS anisotropic_gravity_driven3D.prj
     WRAPPER time
@@ -72,9 +72,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_LiquidFlow_Isotropic_GravityDriven3D
+    NAME LiquidFlow_Isotropic_GravityDriven3D
     PATH Parabolic/LiquidFlow/GravityDriven3D
-    RUNTIME 70
+    RUNTIME 130
     EXECUTABLE ogs
     EXECUTABLE_ARGS isotropic_gravity_driven3D.prj
     WRAPPER time
@@ -203,8 +203,9 @@ AddTest(
     axisym_theis.vtu liquid_pcs_pcs_0_ts_30_t_1728_000000_0.vtu OGS5_pressure pressure 1e-8 1e-8
 )
 AddTest(
-    NAME LARGE_LiquidFlow_Anisotropic_GravityDriven3D
+    NAME LiquidFlow_Anisotropic_GravityDriven3D
     PATH Parabolic/LiquidFlow/GravityDriven3D
+    RUNTIME 115
     EXECUTABLE_ARGS anisotropic_gravity_driven3D.prj
     WRAPPER mpirun
     WRAPPER_ARGS -np 1
@@ -215,8 +216,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_LiquidFlow_Isotropic_GravityDriven3D
+    NAME LiquidFlow_Isotropic_GravityDriven3D
     PATH Parabolic/LiquidFlow/GravityDriven3D
+    RUNTIME 5
     EXECUTABLE_ARGS isotropic_gravity_driven3D.prj
     WRAPPER mpirun
     WRAPPER_ARGS -np 1
diff --git a/ProcessLib/RichardsFlow/Tests.cmake b/ProcessLib/RichardsFlow/Tests.cmake
index 27c4326b368f16ad123068ae4a499589a730bd98..46d985fcedb52c27b0bfd5a5ec7997f5efac5452 100644
--- a/ProcessLib/RichardsFlow/Tests.cmake
+++ b/ProcessLib/RichardsFlow/Tests.cmake
@@ -5,36 +5,36 @@ if (NOT OGS_USE_MPI)
 endif()
 
 AddTest(
-        NAME 2D_RichardsFlow_h_us_quad_ogs5
-        PATH Parabolic/Richards
-        EXECUTABLE ogs
-        EXECUTABLE_ARGS RichardsFlow_2d_compare_ogs5.prj
-        TESTER vtkdiff
-        DIFF_DATA
-        h_us_quad_1000.vtu richards_pcs_0_ts_100_t_100.000000.vtu PRESSURE1 pressure 1e-1 1e-1
+    NAME 2D_RichardsFlow_h_us_quad_ogs5
+    PATH Parabolic/Richards
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS RichardsFlow_2d_compare_ogs5.prj
+    TESTER vtkdiff
+    DIFF_DATA
+    h_us_quad_1000.vtu richards_pcs_0_ts_100_t_100.000000.vtu PRESSURE1 pressure 1e-1 1e-1
     REQUIREMENTS NOT OGS_USE_MPI
 )
 
 AddTest(
-        NAME 2D_RichardsFlow_h_us_quad_small
-        PATH Parabolic/Richards
-        EXECUTABLE ogs
-        EXECUTABLE_ARGS RichardsFlow_2d_small.prj
-        TESTER vtkdiff
-        DIFF_DATA
-        ref_t_1600.000000.vtu richards_pcs_0_ts_1100_t_1600.000000.vtu pressure pressure 1e-8 1e-8
+    NAME 2D_RichardsFlow_h_us_quad_small
+    PATH Parabolic/Richards
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS RichardsFlow_2d_small.prj
+    TESTER vtkdiff
+    DIFF_DATA
+    ref_t_1600.000000.vtu richards_pcs_0_ts_1100_t_1600.000000.vtu pressure pressure 1e-8 1e-8
     REQUIREMENTS NOT OGS_USE_MPI
 )
 
 AddTest(
-        NAME LARGE_2D_RichardsFlow_h_us_quad
-        PATH Parabolic/Richards
-        RUNTIME 90
-        EXECUTABLE ogs
-        EXECUTABLE_ARGS RichardsFlow_2d_large.prj
-        TESTER vtkdiff
-        DIFF_DATA
-        ref_t_20000.000000.vtu richards_pcs_0_ts_18200_t_20000.000000.vtu pressure pressure 1e-8 1e-8
+    NAME 2D_RichardsFlow_h_us_quad
+    PATH Parabolic/Richards
+    RUNTIME 65
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS RichardsFlow_2d_large.prj
+    TESTER vtkdiff
+    DIFF_DATA
+    ref_t_20000.000000.vtu richards_pcs_0_ts_18200_t_20000.000000.vtu pressure pressure 1e-8 1e-8
     REQUIREMENTS NOT OGS_USE_MPI
 )
 
diff --git a/ProcessLib/SmallDeformation/Tests.cmake b/ProcessLib/SmallDeformation/Tests.cmake
index b242e40dd070c23224abbdfc6b9fec7897842ef3..a9d7d2fb17af5eb4c861e459f512f4d979fc1c96 100644
--- a/ProcessLib/SmallDeformation/Tests.cmake
+++ b/ProcessLib/SmallDeformation/Tests.cmake
@@ -3,12 +3,12 @@ if (NOT OGS_USE_MPI)
     OgsTest(PROJECTFILE Mechanics/Linear/square_1e2.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/disc_with_hole.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/ElementDeactivation3D/element_deactivation_M_3D.prj)
-    OgsTest(PROJECTFILE Mechanics/Linear/square_1e5.prj LARGE)
+    OgsTest(PROJECTFILE Mechanics/Linear/square_1e5.prj RUNTIME 200)
     OgsTest(PROJECTFILE Mechanics/Linear/square_1e2_quad8_traction_top.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/cube_1e0.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/cube_1e0_simple_shear.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/MaterialForces/bar.prj)
-    OgsTest(PROJECTFILE Mechanics/Linear/MaterialForces/bar_3D.prj LARGE)
+    OgsTest(PROJECTFILE Mechanics/Linear/MaterialForces/bar_3D.prj RUNTIME 40)
     OgsTest(PROJECTFILE Mechanics/Linear/Orthotropy/cube_1e0_orthotropic_xyz.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/Orthotropy/cube_1e0_orthotropic_yzx.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/Orthotropy/cube_1e0_orthotropic_zxy.prj)
@@ -22,20 +22,20 @@ if (NOT OGS_USE_MPI)
     OgsTest(PROJECTFILE Mechanics/Linear/Orthotropy/square_1e0_orthotropic_45xy_z.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/Orthotropy/square_1e0_orthotropic_y-xz.prj)
     OgsTest(PROJECTFILE Mechanics/Burgers/cube_1e0.prj)
-    OgsTest(PROJECTFILE Mechanics/Burgers/cube_1e3.prj LARGE)
+    OgsTest(PROJECTFILE Mechanics/Burgers/cube_1e3.prj RUNTIME 85)
     OgsTest(PROJECTFILE Mechanics/Ehlers/cube_1e0.prj)
     OgsTest(PROJECTFILE Mechanics/Ehlers/cube_1e1.prj)
-    OgsTest(PROJECTFILE Mechanics/Ehlers/cube_1e3.prj LARGE)
+    OgsTest(PROJECTFILE Mechanics/Ehlers/cube_1e3.prj RUNTIME 760)
     OgsTest(PROJECTFILE Mechanics/Ehlers/cube_1e0_dp.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/ring_plane_strain.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/plain_strain_pipe.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/two_material_gravity.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/two_material_gravity_Emodulus.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/PressureBC/axisymmetric_pipe.prj)
-    OgsTest(PROJECTFILE Mechanics/Linear/PressureBC/hollow_sphere.prj LARGE)
+    OgsTest(PROJECTFILE Mechanics/Linear/PressureBC/hollow_sphere.prj RUNTIME 350)
     OgsTest(PROJECTFILE Mechanics/Linear/PressureBC/axisymmetric_sphere.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/square_with_deactivated_hole.prj)
-    OgsTest(PROJECTFILE Mechanics/Ehlers/axisymmetric_sphere_pl.prj)
+    OgsTest(PROJECTFILE Mechanics/Ehlers/axisymmetric_sphere_pl.prj RUNTIME 365)
     OgsTest(PROJECTFILE Mechanics/InitialStates/into_initial_state.prj)
     OgsTest(PROJECTFILE Mechanics/InitialStates/equilibrium_restart.prj)
     OgsTest(PROJECTFILE Mechanics/InitialStates/non_equilibrium_initial_state.prj)
diff --git a/ProcessLib/SmallDeformationNonlocal/Tests.cmake b/ProcessLib/SmallDeformationNonlocal/Tests.cmake
index 3ea61c5483e16983741488d425e9164cbb506b56..86257b249b9feea63524fb1de0584ee33d5f86ef 100644
--- a/ProcessLib/SmallDeformationNonlocal/Tests.cmake
+++ b/ProcessLib/SmallDeformationNonlocal/Tests.cmake
@@ -1,10 +1,10 @@
 if (NOT OGS_USE_MPI)
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/coarse/bar.prj")
     # same as bar/coarse but with tangent type being Elastic.
-    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/coarse_elastic_tangent/bar.prj" LARGE RUNTIME 145)
+    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/coarse_elastic_tangent/bar.prj" RUNTIME 145)
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/medium/bar.prj")
-    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/fine/bar.prj" LARGE RUNTIME 65)
-    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/veryfine/bar.prj" LARGE RUNTIME 365)
+    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/fine/bar.prj" RUNTIME 65)
+    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/veryfine/bar.prj" RUNTIME 365)
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/p1/bar.prj")
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/p2/bar.prj")
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/p3/bar.prj")
@@ -12,10 +12,10 @@ if (NOT OGS_USE_MPI)
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/bar/t2/bar.prj" RUNTIME 35)
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/coarse/beam.prj")
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/medium/beam.prj" RUNTIME 38)
-    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/fine/beam.prj" LARGE RUNTIME 441)
+    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/fine/beam.prj" RUNTIME 441)
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/coarse_quad/beam.prj" RUNTIME 27)
     OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/coarse_tria/beam.prj" RUNTIME 12)
-    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/3D_hexa/beam.prj" LARGE RUNTIME 105)
-    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/3D_tetr/beam.prj" LARGE RUNTIME 134)
-    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/holed_beam/holed_beam.prj" LARGE RUNTIME 247)
+    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/3D_hexa/beam.prj" RUNTIME 105)
+    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/beam/3D_tetr/beam.prj" RUNTIME 134)
+    OgsTest(PROJECTFILE "Mechanics/EhlersDamageNonLocal/holed_beam/holed_beam.prj" RUNTIME 247)
 endif() # OGS_USE_MPI
diff --git a/ProcessLib/SteadyStateDiffusion/Tests.cmake b/ProcessLib/SteadyStateDiffusion/Tests.cmake
index 6186d919343c5008b2b453c0173acb6e738d962a..0da816f1eec270701266083afd09a6b5d93d7f59 100644
--- a/ProcessLib/SteadyStateDiffusion/Tests.cmake
+++ b/ProcessLib/SteadyStateDiffusion/Tests.cmake
@@ -35,12 +35,14 @@ foreach(mesh_size 1e0 1e1 1e2 1e3)
 endforeach()
 
 foreach(mesh_size 1e4 2e4 3e4 4e4 5e4 1e5 1e6)
+    set(RUNTIME 10)
     if("${mesh_size}" STREQUAL "1e6")
-        set(benchmark_type LARGE_)
+        set(RUNTIME 75)
     endif()
     AddTest(
-        NAME ${benchmark_type}SteadyStateDiffusion_cube_1x1x1_${mesh_size}
+        NAME SteadyStateDiffusion_cube_1x1x1_${mesh_size}
         PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
+        RUNTIME ${RUNTIME}
         EXECUTABLE ogs
         EXECUTABLE_ARGS cube_${mesh_size}.prj
         TESTER vtkdiff
@@ -101,12 +103,14 @@ foreach(mesh_size 1e0 1e1 1e2 1e3 1e4)
 endforeach()
 
 foreach(mesh_size 1e5 1e6)
+    set(RUNTIME 30)
     if("${mesh_size}" STREQUAL "1e6")
-        set(benchmark_type LARGE_)
+        set(RUNTIME 90)
     endif()
     AddTest(
-        NAME ${benchmark_type}SteadyStateDiffusion_square_1x1_Neumann_${mesh_size}
+        NAME SteadyStateDiffusion_square_1x1_Neumann_${mesh_size}
         PATH Elliptic/square_1x1_SteadyStateDiffusion
+        RUNTIME ${RUNTIME}
         EXECUTABLE ogs
         EXECUTABLE_ARGS square_${mesh_size}_neumann.prj
         TESTER vtkdiff
@@ -130,9 +134,9 @@ AddTest(
 
 # The largest test is less accurate
 AddTest(
-    NAME LARGE_SteadyStateDiffusion_square_1x1_1e6
+    NAME SteadyStateDiffusion_square_1x1_1e6
     PATH Elliptic/square_1x1_SteadyStateDiffusion
-    RUNTIME 36
+    RUNTIME 75
     EXECUTABLE ogs
     EXECUTABLE_ARGS square_1e6.prj
     TESTER vtkdiff
@@ -450,9 +454,17 @@ endforeach()
 
 # TODO: Parallel LARGE tests not tested!
 foreach(mesh_size 1e4 2e4 3e4 4e4 5e4 1e5 1e6)
+    set(RUNTIME 10)
+    if("${mesh_size}" STREQUAL "1e5")
+        set(RUNTIME 55)
+    endif()
+    if("${mesh_size}" STREQUAL "1e6")
+        set(RUNTIME 430)
+    endif()
     AddTest(
-        NAME LARGE_SteadyStateDiffusion_cube_1x1x1_${mesh_size}
+        NAME SteadyStateDiffusion_cube_1x1x1_${mesh_size}
         PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
+        RUNTIME ${RUNTIME}
         EXECUTABLE_ARGS cube_${mesh_size}.prj
         WRAPPER mpirun
         WRAPPER_ARGS -np 1
@@ -463,8 +475,9 @@ foreach(mesh_size 1e4 2e4 3e4 4e4 5e4 1e5 1e6)
     )
 
     AddTest(
-        NAME LARGE_SteadyStateDiffusion_cube_1x1x1_Neumann_${mesh_size}
+        NAME SteadyStateDiffusion_cube_1x1x1_Neumann_${mesh_size}
         PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
+        RUNTIME ${RUNTIME}
         EXECUTABLE_ARGS cube_${mesh_size}_neumann.prj
         WRAPPER mpirun
         WRAPPER_ARGS -np 1
@@ -503,9 +516,17 @@ foreach(mesh_size 1e0 1e1 1e2 1e3 1e4)
 endforeach()
 
 foreach(mesh_size 1e5 1e6)
+    set(RUNTIME 10)
+    if("${mesh_size}" STREQUAL "1e5")
+        set(RUNTIME 65)
+    endif()
+    if("${mesh_size}" STREQUAL "1e6")
+        set(RUNTIME 450)
+    endif()
     AddTest(
-        NAME LARGE_SteadyStateDiffusion_square_1x1_${mesh_size}
+        NAME SteadyStateDiffusion_square_1x1_${mesh_size}
         PATH Elliptic/square_1x1_SteadyStateDiffusion
+        RUNTIME ${RUNTIME}
         EXECUTABLE_ARGS square_${mesh_size}.prj
         WRAPPER mpirun
         WRAPPER_ARGS -np 1
@@ -516,8 +537,9 @@ foreach(mesh_size 1e5 1e6)
     )
 
     AddTest(
-        NAME LARGE_SteadyStateDiffusion_square_1x1_Neumann_${mesh_size}
+        NAME SteadyStateDiffusion_square_1x1_Neumann_${mesh_size}
         PATH Elliptic/square_1x1_SteadyStateDiffusion
+        RUNTIME ${RUNTIME}
         EXECUTABLE_ARGS square_${mesh_size}_neumann.prj
         WRAPPER mpirun
         WRAPPER_ARGS -np 1
@@ -659,8 +681,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_SteadyStateDiffusion_NodalSourceTerm_circle_1e6
+    NAME SteadyStateDiffusion_NodalSourceTerm_circle_1e6
     PATH Elliptic/circle_radius_1
+    RUNTIME 20
     EXECUTABLE ogs
     EXECUTABLE_ARGS circle_1e6_axi.prj
     WRAPPER time
@@ -672,8 +695,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_SteadyStateDiffusion_NodalSourceTerm_square_1e6
+    NAME SteadyStateDiffusion_NodalSourceTerm_square_1e6
     PATH Elliptic/square_1x1_SteadyStateDiffusion
+    RUNTIME 200
     EXECUTABLE ogs
     EXECUTABLE_ARGS square_1e6_with_nodal_sources.prj
     WRAPPER time
diff --git a/ProcessLib/TES/Tests.cmake b/ProcessLib/TES/Tests.cmake
index beec03f6977b7d962f2d429295d22477ccb2c786..ed81e132ff42c13c30424442b2dc7ea5933b6c4a 100644
--- a/ProcessLib/TES/Tests.cmake
+++ b/ProcessLib/TES/Tests.cmake
@@ -84,8 +84,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_TES_zeolite_discharge
+    NAME TES_zeolite_discharge
     PATH Parabolic/TES/1D
+    RUNTIME 8
     EXECUTABLE_ARGS tes-1D-zeolite-discharge-large.prj
     WRAPPER mpirun
     WRAPPER_ARGS -np 1
diff --git a/ProcessLib/ThermalTwoPhaseFlowWithPP/Tests.cmake b/ProcessLib/ThermalTwoPhaseFlowWithPP/Tests.cmake
index bb0fe998316c9a3b434f5fe7c372fa8e4e37484d..c1ce1e9e0e6c13dcdd8011804e8a7b71d256b88a 100644
--- a/ProcessLib/ThermalTwoPhaseFlowWithPP/Tests.cmake
+++ b/ProcessLib/ThermalTwoPhaseFlowWithPP/Tests.cmake
@@ -13,9 +13,9 @@ AddTest(
     ref_t_10000.000000.vtu thermaltwophaseflow_small_pcs_0_ts_100_t_10000.000000.vtu temperature temperature 1e-8 1e-10
 )
 AddTest(
-    NAME LARGE_2D_Thermal_TwoPhase_heatpipe
+    NAME 2D_Thermal_TwoPhase_heatpipe
     PATH Parabolic/ThermalTwoPhaseFlowPP/HeatPipe
-    RUNTIME 200
+    RUNTIME 170
     EXECUTABLE ogs
     EXECUTABLE_ARGS Twophase_HeatPipe_quad_curve_large.prj
     TESTER vtkdiff
diff --git a/ProcessLib/ThermoHydroMechanics/Tests.cmake b/ProcessLib/ThermoHydroMechanics/Tests.cmake
index c0a5320e311c71382f352b6fbb4cc6da4da6e0f6..2508cdbcf2077afe1e9d3e0cd716607656fd02f4 100644
--- a/ProcessLib/ThermoHydroMechanics/Tests.cmake
+++ b/ProcessLib/ThermoHydroMechanics/Tests.cmake
@@ -53,9 +53,9 @@ AddTest(
 
 # ThermoHydroMechanics; Small deformation, linear poroelastic, point heat source consolidation
 AddTest(
-    NAME LARGE_ThermoHydroMechanics_square_1e2_point_heat_injection
+    NAME ThermoHydroMechanics_square_1e2_point_heat_injection
     PATH ThermoHydroMechanics/Linear/Point_injection
-    RUNTIME 400
+    RUNTIME 45
     EXECUTABLE ogs
     EXECUTABLE_ARGS square_1e2.prj
     WRAPPER time
@@ -70,9 +70,9 @@ AddTest(
 )
 # ThermoHydroMechanics; Small deformation, linear poroelastic, point heat source consolidation, linear elements for displacement
 AddTest(
-    NAME LARGE_ThermoHydroMechanics_square_1e2_point_heat_injection_lin
+    NAME ThermoHydroMechanics_square_1e2_point_heat_injection_lin
     PATH ThermoHydroMechanics/Linear/Point_injection
-    RUNTIME 400
+    RUNTIME 15
     EXECUTABLE ogs
     EXECUTABLE_ARGS square_1e2_lin.prj
     WRAPPER time
diff --git a/ProcessLib/ThermoMechanicalPhaseField/Tests.cmake b/ProcessLib/ThermoMechanicalPhaseField/Tests.cmake
index bbdd045d3fc85c2e99f5daadea21fc5f7ba117a0..8d566da1750e105d325a0fa46c4ce1c128b591b9 100644
--- a/ProcessLib/ThermoMechanicalPhaseField/Tests.cmake
+++ b/ProcessLib/ThermoMechanicalPhaseField/Tests.cmake
@@ -29,9 +29,9 @@ AddTest(
    )
 
 AddTest(
-    NAME ThermoMechanicalPhaseField_TES_IGLU_LARGE
+    NAME ThermoMechanicalPhaseField_TES_IGLU
     PATH ThermoMechanicalPhaseField
-    RUNTIME 500
+    RUNTIME 1000
     EXECUTABLE ogs
     EXECUTABLE_ARGS tes_hx3_iglu.prj
     WRAPPER time
@@ -43,9 +43,9 @@ AddTest(
    )
 
 AddTest(
-    NAME ThermoMechanicalPhaseField_THERMAL_SHOCK_LARGE
+    NAME ThermoMechanicalPhaseField_THERMAL_SHOCK
     PATH ThermoMechanicalPhaseField
-    RUNTIME 500
+    RUNTIME 2200
     EXECUTABLE ogs
     EXECUTABLE_ARGS slab_5.prj
     WRAPPER time
diff --git a/ProcessLib/ThermoMechanics/Tests.cmake b/ProcessLib/ThermoMechanics/Tests.cmake
index 835c7ddee41e650c8bf232dbcf8dbd9b200bea10..20c29a6e523804ca96472e9213b2a91f5e22696d 100644
--- a/ProcessLib/ThermoMechanics/Tests.cmake
+++ b/ProcessLib/ThermoMechanics/Tests.cmake
@@ -226,9 +226,9 @@ AddTest(
 )
 
 AddTest(
-    NAME ThermoMechanics_LARGE_2D_ThermoElastic_IGLU_Plane_Strain_Quadratic_Mesh
+    NAME ThermoMechanics_2D_ThermoElastic_IGLU_Plane_Strain_Quadratic_Mesh
     PATH ThermoMechanics
-    RUNTIME 160
+    RUNTIME 270
     EXECUTABLE ogs
     EXECUTABLE_ARGS iglu_quarter_plane_strain_quad.prj
     WRAPPER time
diff --git a/ProcessLib/TwoPhaseFlowWithPrho/Tests.cmake b/ProcessLib/TwoPhaseFlowWithPrho/Tests.cmake
index ac5da91bf4300704898c86d81ddf39d56ce71567..e8bfe081426f13e6ab40bad4d24f265f424707da 100644
--- a/ProcessLib/TwoPhaseFlowWithPrho/Tests.cmake
+++ b/ProcessLib/TwoPhaseFlowWithPrho/Tests.cmake
@@ -1,7 +1,7 @@
 AddTest(
-    NAME LARGE_2D_TwoPhase_Prho_MoMaS
+    NAME 2D_TwoPhase_Prho_MoMaS
     PATH Parabolic/TwoPhaseFlowPrho/MoMaS
-    RUNTIME 20
+    RUNTIME 30
     EXECUTABLE ogs
     EXECUTABLE_ARGS Twophase_MoMaS_quad.prj
     TESTER vtkdiff
@@ -13,9 +13,9 @@ AddTest(
 )
 
 AddTest(
-    NAME LARGE_2D_TwoPhase_Prho_MoMaS_Adaptive_dt
+    NAME 2D_TwoPhase_Prho_MoMaS_Adaptive_dt
     PATH Parabolic/TwoPhaseFlowPrho/MoMaS
-    RUNTIME 200
+    RUNTIME 550
     EXECUTABLE ogs
     EXECUTABLE_ARGS Twophase_MoMaS_quad_adaptive_dt.prj
     TESTER vtkdiff
@@ -31,7 +31,7 @@ AddTest(
 )
 
 AddTest(
-    NAME 2D_TwoPhase_Prho_MoMaS
+    NAME 2D_TwoPhase_Prho_MoMaS_small
     PATH Parabolic/TwoPhaseFlowPrho/MoMaS
     RUNTIME 40
     EXECUTABLE ogs
diff --git a/scripts/ci/extends/template-build-linux.yml b/scripts/ci/extends/template-build-linux.yml
index ae3b46aeec29dd3e03c0eb1d5b27d8e7a3b03db9..86fc1d60463ca914913f05947aa2c109437d7673 100644
--- a/scripts/ci/extends/template-build-linux.yml
+++ b/scripts/ci/extends/template-build-linux.yml
@@ -10,6 +10,7 @@
     - mkdir -p $BUILD_DIR
     - cd $BUILD_DIR
     - ([ "${CONAN_USER_HOME}" == "${CI_PROJECT_DIR}/.conan" ]) && conan remove --system-reqs '*'
+    - ([ "${CI_COMMIT_BRANCH}" == "master" -a $BUILD_CTEST_LARGE_ON_MASTER ]) && export BUILD_CTEST_LARGE=true
 
   script:
     - >
@@ -18,6 +19,8 @@
       -DCMAKE_BUILD_TYPE=$BUILD_TYPE
       -DOGS_BUILD_PROCESSES=$BUILD_PROCESSES
     - $BUILD_CMD_PREFIX cmake --build . --target package > >(tee make.output)
-    - if $BUILD_TESTS ; then $BUILD_CMD_PREFIX cmake --build . --target tests ; fi
-    - if $BUILD_CTEST ; then $BUILD_CMD_PREFIX cmake --build . --target ctest ; fi
-    - if $BUILD_CTEST ; then cp Testing/**/Test.xml Tests/ctest.xml ; fi
+    - if [ "$BUILD_TESTS" = true ] ; then $BUILD_CMD_PREFIX cmake --build . --target tests ; fi
+    - if [ "$BUILD_CTEST" = true ] ; then $BUILD_CMD_PREFIX cmake --build . --target ctest ; fi
+    - if [ "$BUILD_CTEST_LARGE" = true ] ; then $BUILD_CMD_PREFIX cmake --build . --target ctest-large ; fi
+    - if [ "$BUILD_CTEST" = true ] ; then cp Testing/**/Test.xml Tests/ctest.xml ; fi
+    - if [ "$BUILD_CTEST_LARGE" = true ] ; then cp Testing/**/Test.xml Tests/ctest-large.xml ; fi
diff --git a/scripts/ci/jobs/build-linux-petsc.yml b/scripts/ci/jobs/build-linux-petsc.yml
index d832f7dee1cfb4071c82dd9887051aa24f13ee51..183edff1f863086840c76836f395955b01a1b5da 100644
--- a/scripts/ci/jobs/build-linux-petsc.yml
+++ b/scripts/ci/jobs/build-linux-petsc.yml
@@ -2,8 +2,10 @@ build linux petsc:
   extends: .template-build-linux
   tags:
     - envinf1-shell
+  timeout: 2h
   variables:
     BUILD_DIR: "build-petsc"
+    BUILD_CTEST_LARGE_ON_MASTER: "true"
     CMAKE_ARGS: >-
       -DBUILD_SHARED_LIBS=ON
       -DOGS_BUILD_UTILS=ON
diff --git a/scripts/ci/jobs/build-linux.yml b/scripts/ci/jobs/build-linux.yml
index 5f95a0e10e0d227f31e9ef499e01905b5ad5793b..df835fd0902d8379e1f50b592bf710fba85823e3 100644
--- a/scripts/ci/jobs/build-linux.yml
+++ b/scripts/ci/jobs/build-linux.yml
@@ -3,8 +3,10 @@ build linux:
   tags:
     - envinf1
     - docker
+  timeout: 2h
   variables:
     BUILD_DIR: "build"
+    BUILD_CTEST_LARGE_ON_MASTER: "true"
     CMAKE_ARGS: >-
       -DOGS_BUILD_UTILS=ON
       -DOGS_USE_CONAN=OFF
diff --git a/scripts/ci/jobs/checks.yml b/scripts/ci/jobs/checks.yml
index 67bce371815247b2fa5c064e6509dbe26a36dae8..cabfc9bf46f3ba1c6f200eb81236a215feb33a79 100644
--- a/scripts/ci/jobs/checks.yml
+++ b/scripts/ci/jobs/checks.yml
@@ -16,26 +16,3 @@ compiler warnings:
     - cd ../build-mac
     - "if [[ $(cat make.output | grep warning -i) ]]; then echo 'There were Clang (macOS) compiler warnings:'; cat make.output | grep warning -i; exit_code=1; fi"
     - exit $exit_code
-
-ctest results:
-  stage: check
-  variables:
-    GIT_STRATEGY: none
-  tags:
-    - docker-shell
-  needs:
-    - job: build linux
-    - job: build win
-    - job: build mac
-  script:
-    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
-    - docker run -v $PWD:/tmp $XUNIT_TO_JUNIT_IMAGE -s:/tmp/build/Tests/ctest.xml > ./build/ctest-junit.xml
-    - docker run -v $PWD:/tmp $XUNIT_TO_JUNIT_IMAGE -s:/tmp/build-win/Tests/ctest.xml > ./build-win/ctest-junit.xml
-    - docker run -v $PWD:/tmp $XUNIT_TO_JUNIT_IMAGE -s:/tmp/build-mac/Tests/ctest.xml > ./build-mac/ctest-junit.xml
-  artifacts:
-    expire_in: 1 week
-    reports:
-      junit:
-        - build/ctest-junit.xml
-        - build-win/ctest-junit.xml
-        - build-mac/ctest-junit.xml
diff --git a/scripts/ci/jobs/tests-large.yml b/scripts/ci/jobs/tests-large.yml
deleted file mode 100644
index 97ac9a05e95573801088ab04875d0cabe95dcf6e..0000000000000000000000000000000000000000
--- a/scripts/ci/jobs/tests-large.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-tests large:
-  stage: check
-  tags:
-    - docker
-    - envinf1
-  extends:
-    - .rules-master-manual
-  dependencies: [meta_container]
-  variables:
-    BUILD_DIR: "build-tests-large"
-    CMAKE_ARGS: "-DOGS_USE_CONAN=OFF"
-  image:
-    name: $CONTAINER_GCC_IMAGE
-  script:
-    - mkdir -p $BUILD_DIR
-    - cd $BUILD_DIR
-    - >
-      cmake .. -G Ninja
-      $CMAKE_ARGS
-      -DCMAKE_BUILD_TYPE=$BUILD_TYPE
-      -DOGS_BUILD_PROCESSES=$BUILD_PROCESSES
-    - cmake --build . --target ctest-large
-  artifacts:
-    paths:
-      - $BUILD_DIR/Tests/ctest.xml
diff --git a/scripts/cmake/Coverage.cmake b/scripts/cmake/Coverage.cmake
index b668ebdc8c2e0c62932380c17fd348717074db6a..9850af76783d8edaa22796b4bd51ce7169ccd9a7 100644
--- a/scripts/cmake/Coverage.cmake
+++ b/scripts/cmake/Coverage.cmake
@@ -16,7 +16,7 @@ if(LCOV_PATH AND GENHTML_PATH)
     )
     setup_target_for_coverage_lcov(
         NAME ctest_coverage
-        EXECUTABLE ${CMAKE_COMMAND} --build . --target ctest-serial
+        EXECUTABLE ${CMAKE_COMMAND} --build . --target ctest
     )
 else()
     message(STATUS "No lcov coverage report generated because lcov or genhtml was not found.")
@@ -29,7 +29,7 @@ if(Python3_EXECUTABLE)
     )
     setup_target_for_coverage_gcovr_xml(
         NAME ctest_coverage_cobertura
-        EXECUTABLE ${CMAKE_COMMAND} --build . --target ctest-serial
+        EXECUTABLE ${CMAKE_COMMAND} --build . --target ctest
     )
 else()
     message(STATUS "No cobertura coverage report generated because Python executable was not found.")
diff --git a/scripts/cmake/Functions.cmake b/scripts/cmake/Functions.cmake
index 765d12fa53869246554e0c8f298e20d383864f16..6393507f15821cf51e2a274a41be205311c8471b 100644
--- a/scripts/cmake/Functions.cmake
+++ b/scripts/cmake/Functions.cmake
@@ -103,3 +103,9 @@ function(ogs_add_library targetName)
             UNITY_BUILD ${OGS_USE_UNITY_BUILDS})
     endif()
 endfunction()
+
+function(current_dir_as_list baseDir outList)
+    file(RELATIVE_PATH REL_DIR ${PROJECT_SOURCE_DIR}/${baseDir} ${CMAKE_CURRENT_LIST_DIR})
+    string(REPLACE "/" ";" DIR_LIST ${REL_DIR})
+    set(${outList} ${DIR_LIST} PARENT_SCOPE)
+endfunction()
diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake
index 392ecab10888bc675e442bb9120f34b49712d3e2..e47de17eca97b8f3ac63138abf2d159cb15d6381 100644
--- a/scripts/cmake/test/AddTest.cmake
+++ b/scripts/cmake/test/AddTest.cmake
@@ -17,7 +17,8 @@
 #                  OGS_USE_PETSC AND (OGS_USE_EIGEN OR OGS_USE_LIS)
 #   VIS <vtu output file(s)> # optional for documentation
 #   RUNTIME <in seconds> # optional for optimizing ctest duration
-#                          values should be taken from eve serial job
+#                          values should be taken from envinf job
+#   DISABLED # optional, disables the test
 # )
 #
 # Conditional arguments:
@@ -39,8 +40,11 @@
 #         the benchmark output directory.
 
 function (AddTest)
+    # settings
+    set(LARGE_RUNTIME 60)
+
     # parse arguments
-    set(options NONE)
+    set(options DISABLED)
     set(oneValueArgs EXECUTABLE PATH NAME WRAPPER TESTER ABSTOL RELTOL RUNTIME DEPENDS)
     set(multiValueArgs EXECUTABLE_ARGS DATA DIFF_DATA WRAPPER_ARGS REQUIREMENTS VIS)
     cmake_parse_arguments(AddTest "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@@ -67,6 +71,10 @@ function (AddTest)
         set(AddTest_EXECUTABLE_ARGS -o ${AddTest_BINARY_PATH_NATIVE} ${AddTest_EXECUTABLE_ARGS})
     endif()
 
+    if(${AddTest_RUNTIME} GREATER ${LARGE_RUNTIME})
+        string(PREPEND AddTest_NAME "LARGE_")
+    endif()
+
     # --- Implement wrappers ---
     # check requirements, disable if not met
     if(${AddTest_REQUIREMENTS})
@@ -105,6 +113,9 @@ function (AddTest)
                 set(AddTest_WRAPPER_ARGS ${AddTest_WRAPPER_ARGS} --mca btl_openib_allow_ib 1)
             endif()
             set(WRAPPER_COMMAND ${MPIRUN_TOOL_PATH})
+            if("${AddTest_WRAPPER_ARGS}" MATCHES "-np;([0-9]*)")
+                set(MPI_PROCESSORS ${CMAKE_MATCH_1})
+            endif()
         else()
             message(STATUS "ERROR: mpirun was not found but is required for ${AddTest_NAME}!")
             return()
@@ -248,7 +259,6 @@ Use six arguments version of AddTest with absolute and relative tolerances")
         -DPython3_EXECUTABLE=${Python3_EXECUTABLE}
         -P ${PROJECT_SOURCE_DIR}/scripts/cmake/test/AddTestWrapper.cmake
     )
-    set_tests_properties(${TEST_NAME} PROPERTIES COST ${AddTest_RUNTIME})
     if(DEFINED AddTest_DEPENDS)
         set_tests_properties(${TEST_NAME} PROPERTIES DEPENDS ${AddTest_DEPENDS})
     endif()
@@ -259,6 +269,16 @@ Use six arguments version of AddTest with absolute and relative tolerances")
         endif()
         set_tests_properties(${TEST_NAME} PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHONPATH}")
     endif()
+    if(DEFINED MPI_PROCESSORS)
+        set_tests_properties(${TEST_NAME} PROPERTIES PROCESSORS ${MPI_PROCESSORS})
+    endif()
+
+    current_dir_as_list(ProcessLib DIR_LABELS)
+    set_tests_properties(${TEST_NAME} PROPERTIES
+        COST ${AddTest_RUNTIME}
+        DISABLED ${AddTest_DISABLED}
+        LABELS "${DIR_LABELS}"
+    )
 
     if(TARGET ${AddTest_EXECUTABLE})
         add_dependencies(ctest ${AddTest_EXECUTABLE})
@@ -287,6 +307,9 @@ Use six arguments version of AddTest with absolute and relative tolerances")
         --debug-output
         WORKING_DIRECTORY ${AddTest_SOURCE_PATH}
     )
-    set_tests_properties(${TESTER_NAME} PROPERTIES DEPENDS ${TEST_NAME})
+    set_tests_properties(${TESTER_NAME} PROPERTIES
+        DEPENDS ${TEST_NAME}
+        DISABLED ${AddTest_DISABLED}
+    )
 
 endfunction()
diff --git a/scripts/cmake/test/OgsTest.cmake b/scripts/cmake/test/OgsTest.cmake
index b05609b5d9b03284aed1b139a605fae448659754..5f332a96757a3b0a73a68548a884688783036340 100644
--- a/scripts/cmake/test/OgsTest.cmake
+++ b/scripts/cmake/test/OgsTest.cmake
@@ -1,8 +1,11 @@
 function (OgsTest)
+    # settings
+    set(LARGE_RUNTIME 60)
+
     if(NOT OGS_BUILD_CLI OR NOT BUILD_TESTING)
         return()
     endif()
-    set(options LARGE)
+    set(options DISABLED)
     set(oneValueArgs PROJECTFILE RUNTIME)
     set(multiValueArgs WRAPPER)
     cmake_parse_arguments(OgsTest "${options}" "${oneValueArgs}"
@@ -20,6 +23,10 @@ function (OgsTest)
         set(OgsTest_RUNTIME 1)
     endif()
 
+    if(${OgsTest_RUNTIME} GREATER ${LARGE_RUNTIME})
+        string(APPEND OgsTest_NAME_WE "-LARGE")
+    endif()
+
     set(OgsTest_SOURCE_DIR "${Data_SOURCE_DIR}/${OgsTest_DIR}")
     set(OgsTest_BINARY_DIR "${Data_BINARY_DIR}/${OgsTest_DIR}")
     file(MAKE_DIRECTORY ${OgsTest_BINARY_DIR})
@@ -33,10 +40,6 @@ function (OgsTest)
             set(TEST_NAME "${TEST_NAME}-mpi")
         endif()
     endif()
-    # Add -LARGE tag.
-    if (${OgsTest_LARGE})
-        set(TEST_NAME "${TEST_NAME}-LARGE")
-    endif()
 
     add_test(
         NAME ${TEST_NAME}
@@ -48,9 +51,13 @@ function (OgsTest)
     #    WORKING_DIRECTORY ${OgsTest_BINARY_DIR}
     #    COMMAND ${OgsTest_WRAPPER} $<TARGET_FILE:ogs> -r ${OgsTest_SOURCE_DIR} ${OgsTest_SOURCE_DIR}/${OgsTest_NAME})
 
+    current_dir_as_list(ProcessLib DIR_LABELS)
     set_tests_properties(${TEST_NAME} PROPERTIES
         ENVIRONMENT VTKDIFF_EXE=$<TARGET_FILE:vtkdiff>
-        COST ${OgsTest_RUNTIME})
+        COST ${OgsTest_RUNTIME}
+        DISABLED ${OgsTest_DISABLED}
+        LABELS "${DIR_LABELS}"
+    )
 
     if(TARGET ${OgsTest_EXECUTABLE})
         add_dependencies(ctest ${OgsTest_EXECUTABLE})
diff --git a/scripts/cmake/test/Test.cmake b/scripts/cmake/test/Test.cmake
index 53b893f6404e727aa9e5d1ca7e5e116fc337786d..3f4e363989be2bc5ea166210484caa3fec5dea3c 100644
--- a/scripts/cmake/test/Test.cmake
+++ b/scripts/cmake/test/Test.cmake
@@ -71,18 +71,6 @@ add_custom_target(
     USES_TERMINAL
 )
 
-add_custom_target(
-    ctest-serial
-    COMMAND ${CMAKE_CTEST_COMMAND} -T Test
-    --force-new-ctest-process
-    --output-on-failure --output-log Tests/ctest.log
-    --exclude-regex LARGE
-    ${CONFIG_PARAMETER}
-    --timeout 900 # 15 minutes
-    DEPENDS ${test_dependencies} ctest-cleanup
-    USES_TERMINAL
-)
-
 add_custom_target(ctest-large-cleanup ${CMAKE_COMMAND} -E remove -f Tests/ctest-large.log)
 
 add_custom_target(
@@ -92,19 +80,7 @@ add_custom_target(
     --output-on-failure --output-log Tests/ctest-large.log
     --tests-regex LARGE
     ${CONFIG_PARAMETER}
-    --timeout 3600
-    DEPENDS ${test_dependencies} ctest-large-cleanup
-    USES_TERMINAL
-)
-
-add_custom_target(
-    ctest-large-serial
-    COMMAND ${CMAKE_CTEST_COMMAND} -T Test
-    --force-new-ctest-process
-    --output-on-failure --output-log Tests/ctest-large.log
-    --tests-regex LARGE
-    ${CONFIG_PARAMETER}
-    --timeout 3600
+    --timeout 5400 # 90 minutes
     DEPENDS ${test_dependencies} ctest-large-cleanup
     USES_TERMINAL
 )
@@ -113,5 +89,5 @@ set_directory_properties(PROPERTIES
     ADDITIONAL_MAKE_CLEAN_FILES ${PROJECT_BINARY_DIR}/Tests/Data
 )
 
-set_target_properties(ctest ctest-large ctest-large-serial ctest-cleanup ctest-large-cleanup
+set_target_properties(ctest ctest-large ctest-cleanup ctest-large-cleanup
     PROPERTIES FOLDER Testing)
diff --git a/web/content/docs/devguide/testing/test-data.md b/web/content/docs/devguide/testing/test-data.md
index aacb27a3d93cc512e442af5a61946e3ef54aaca9..d1def4f9a2e4d271bbd57c7a298b666c66b2bc09 100644
--- a/web/content/docs/devguide/testing/test-data.md
+++ b/web/content/docs/devguide/testing/test-data.md
@@ -16,7 +16,8 @@ An executable test can be run with several *wrappers*, e.g. with `valgrind`, `me
 ```cmake
 AddTest(
     NAME GroundWaterFlowProcess
-    PATH ${ExternalData_SOURCE_ROOT}/Elliptic/quad_20x10_GroundWaterFlow
+    PATH Elliptic/quad_20x10_GroundWaterFlow
+    RUNTIME 35                                                        # optional
     EXECUTABLE ogs                                                    # optional
     EXECUTABLE_ARGS quad_20x10_GroundWaterFlow.prj
     WRAPPER time                                                      # optional
@@ -25,7 +26,7 @@ AddTest(
 )
 ```
 
-Tests are then run with `make ctest` or for more verbose output with `ctest -VV` (you may also use other [ctest options](https://cmake.org/cmake/help/v3.4/manual/ctest.1.html)). If the checker has some errors they are displayed.
+Tests are then run with `make ctest` or for more verbose output with `ctest -VV` (you may also use other [ctest options](https://cmake.org/cmake/help/v3.4/manual/ctest.1.html)). If the checker has some errors they are displayed. `RUNTIME` specifies the typical runtime in seconds on an Intel Xeon E5-2680 v2 @ 2.80 GHz with 500 GiB RAM (`envinf1`). Tests with a `RUNTIME > 60` are considered `LARGE`-tests.
 
 The functionality is very flexible and more wrappers and checker can be added later on. e.g. for running some statistics on output files and comparing them with statistics from reference files.