From 7e90e65bab7c5b374345b27b966d3b296b17140f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Tue, 23 Apr 2024 21:44:01 +0200 Subject: [PATCH] WIP: Allow detailed selection with CTest --- tests/CMakeLists.txt | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 811886ce5be..6625e55e009 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -39,6 +39,36 @@ list(APPEND STLASAN_LIT_COMMAND "${STL_LIT_OUTPUT}" "-D" "tags=ASAN" "${STL_LIT_TEST_DIRS}") -add_test(NAME stl COMMAND ${Python_EXECUTABLE} ${STL_LIT_COMMAND} COMMAND_EXPAND_LISTS) -add_test(NAME stlasan COMMAND ${Python_EXECUTABLE} ${STLASAN_LIT_COMMAND} COMMAND_EXPAND_LISTS) -set_tests_properties(stl stlasan PROPERTIES RUN_SERIAL ON) +# libcxx will be handled differently, because they use their own runner +foreach(DIR std tr1) + file(GLOB globbed_dirs + LIST_DIRECTORIES ON + "${DIR}/tests/*") + foreach(test_dir ${globbed_dirs}) + # There are some .lst files alongside the directories + if (NOT IS_DIRECTORY ${test_dir}) + continue() + endif() + get_filename_component(just_folder ${test_dir} NAME) + add_test(NAME "${DIR}::${just_folder}" + COMMAND ${Python_EXECUTABLE} ${STL_LIT_OUTPUT} ${LIT_FLAGS} "-o" "${CMAKE_CURRENT_BINARY_DIR}/test_results_${DIR}_${just_folder}.json" "-D" "notags=ASAN" ${test_dir}) + set_tests_properties("${DIR}::${just_folder}" + PROPERTIES + RUN_SERIAL ON + LABELS "${DIR}" + ) + add_test(NAME "${DIR}::${just_folder}::ASAN" + COMMAND ${Python_EXECUTABLE} ${STL_LIT_OUTPUT} ${LIT_FLAGS} "-o" "${CMAKE_CURRENT_BINARY_DIR}/test_results_${DIR}_${just_folder}_asan.json" "-D" "tags=ASAN" ${test_dir}) + set_tests_properties("${DIR}::${just_folder}::ASAN" + PROPERTIES + RUN_SERIAL ON + LABELS "${DIR};asan" + ) + endforeach() +endforeach() + + +# TODO: explicitly add libcxx the way it was done before +#add_test(NAME stl COMMAND ${Python_EXECUTABLE} ${STL_LIT_COMMAND} COMMAND_EXPAND_LISTS) +#add_test(NAME stlasan COMMAND ${Python_EXECUTABLE} ${STLASAN_LIT_COMMAND} COMMAND_EXPAND_LISTS) +#set_tests_properties(stl stlasan PROPERTIES RUN_SERIAL ON)