From 8f85dc9f7d027b4ab9841a43ef54fa2feda645ea Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Tue, 11 May 2021 14:30:08 +0200 Subject: [PATCH] [ctest] Added more labels. default - RUNTIME <= 60 s large - RUNTIME > 60 s meshtest - Tests added with MeshTest() tester - all tester --- CMakePresets.json | 10 ++-------- scripts/cmake/test/AddTest.cmake | 17 ++++++++++++----- scripts/cmake/test/MeshTest.cmake | 24 +++++++++++++++++++++--- scripts/cmake/test/Test.cmake | 6 +++--- 4 files changed, 38 insertions(+), 19 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 85536bb086d..051de3e0e66 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -242,12 +242,9 @@ "inherits": [ "_release" ], - "execution": { - "timeout": 900 - }, "filter": { "exclude": { - "name": "LARGE" + "label": "large" } } }, @@ -256,12 +253,9 @@ "inherits": [ "_release" ], - "execution": { - "timeout": 5400 - }, "filter": { "include": { - "name": "LARGE" + "label": "large" } } }, diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake index 6c9f67af01b..1fe4689786c 100644 --- a/scripts/cmake/test/AddTest.cmake +++ b/scripts/cmake/test/AddTest.cmake @@ -412,13 +412,18 @@ Use six arguments version of AddTest with absolute and relative tolerances" ) endif() - current_dir_as_list(ProcessLib DIR_LABELS) + current_dir_as_list(ProcessLib labels) + if(${AddTest_RUNTIME} LESS_EQUAL ${ogs.ctest.large_runtime}) + list(APPEND labels default) + else() + list(APPEND labels large) + endif() set_tests_properties( ${TEST_NAME} PROPERTIES COST ${AddTest_RUNTIME} DISABLED ${AddTest_DISABLED} - LABELS "${DIR_LABELS}" + LABELS "${labels}" TIMEOUT ${timeout} ) @@ -470,9 +475,11 @@ 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} DISABLED - ${AddTest_DISABLED} + set_tests_properties(${TESTER_NAME} + PROPERTIES + DEPENDS ${TEST_NAME} + DISABLED ${AddTest_DISABLED} + LABELS "tester;${labels}" ) endfunction() diff --git a/scripts/cmake/test/MeshTest.cmake b/scripts/cmake/test/MeshTest.cmake index 0fe743d2185..e4548f1f257 100644 --- a/scripts/cmake/test/MeshTest.cmake +++ b/scripts/cmake/test/MeshTest.cmake @@ -42,7 +42,10 @@ function(MeshTest) if(NOT DEFINED MeshTest_REQUIREMENTS) set(MeshTest_REQUIREMENTS TRUE) endif() - if(NOT DEFINED MeshTest_RUNTIME) + set(timeout ${ogs.ctest.large_runtime}) + if(DEFINED MeshTest_RUNTIME) + math(EXPR timeout "${MeshTest_RUNTIME} * 3") + else() set(MeshTest_RUNTIME 1) endif() if(NOT DEFINED MeshTest_WORKING_DIRECTORY) @@ -189,7 +192,18 @@ function(MeshTest) -DWORKING_DIRECTORY=${MeshTest_WORKING_DIRECTORY} -P ${PROJECT_SOURCE_DIR}/scripts/cmake/test/AddTestWrapper.cmake ) - set_tests_properties(${TEST_NAME} PROPERTIES COST ${MeshTest_RUNTIME}) + current_dir_as_list(ProcessLib labels) + if(${MeshTest_RUNTIME} LESS_EQUAL ${ogs.ctest.large_runtime}) + list(APPEND labels default) + else() + list(APPEND labels large) + endif() + set_tests_properties(${TEST_NAME} + PROPERTIES + COST ${MeshTest_RUNTIME} + LABELS "meshtest;${labels}" + TIMEOUT ${timeout} + ) if(TARGET ${MeshTest_EXECUTABLE}) add_dependencies(ctest ${MeshTest_EXECUTABLE}) @@ -214,6 +228,10 @@ function(MeshTest) --debug-output WORKING_DIRECTORY ${MeshTest_SOURCE_PATH} ) - set_tests_properties(${TESTER_NAME} PROPERTIES DEPENDS ${TEST_NAME}) + set_tests_properties(${TESTER_NAME} + PROPERTIES + DEPENDS ${TEST_NAME} + LABELS "tester;${labels}" + ) endfunction() diff --git a/scripts/cmake/test/Test.cmake b/scripts/cmake/test/Test.cmake index e8be884df48..40c6c1404c1 100644 --- a/scripts/cmake/test/Test.cmake +++ b/scripts/cmake/test/Test.cmake @@ -62,7 +62,7 @@ add_custom_target( ctest COMMAND ${CMAKE_CTEST_COMMAND} -T Test --force-new-ctest-process - --output-on-failure --output-log Tests/ctest.log --exclude-regex LARGE + --output-on-failure --output-log Tests/ctest.log -LE large ${CONFIG_PARAMETER} DEPENDS ${test_dependencies} ctest-cleanup USES_TERMINAL @@ -76,8 +76,8 @@ add_custom_target( ctest-large COMMAND ${CMAKE_CTEST_COMMAND} -T Test --force-new-ctest-process - --output-on-failure --output-log Tests/ctest-large.log --tests-regex - LARGE ${CONFIG_PARAMETER} + --output-on-failure --output-log Tests/ctest-large.log -L large + ${CONFIG_PARAMETER} DEPENDS ${test_dependencies} ctest-large-cleanup USES_TERMINAL ) -- GitLab