cmake/tests.cmake (30 lines of code) (raw):

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0. # function(add_protocol_tests) set(PROTOCOL_TESTS_LOG "") # Add test clients, which are just like a regular SDK client, but must not be installed. file(GLOB subdirs LIST_DIRECTORIES true "${CMAKE_SOURCE_DIR}/generated/protocol-tests/test-clients/*") foreach(subdir ${subdirs}) if(EXISTS "${subdir}/CMakeLists.txt") add_subdirectory(${subdir} EXCLUDE_FROM_ALL) endif() endforeach() # Add tests file(GLOB protoTestTypes LIST_DIRECTORIES true "${CMAKE_SOURCE_DIR}/generated/protocol-tests/tests/*") foreach(protoTestType ${protoTestTypes}) file(GLOB subdirs LIST_DIRECTORIES true ${protoTestType}/*) foreach(subdir ${subdirs}) if(EXISTS "${subdir}/CMakeLists.txt") add_subdirectory(${subdir}) get_filename_component(testGroup ${protoTestType} NAME) get_filename_component(testName ${subdir} NAME) list(APPEND PROTOCOL_TESTS_LOG "${testGroup}/${testName}") endif() endforeach() endforeach() message(STATUS "Protocol tests: ${PROTOCOL_TESTS_LOG}") endfunction() if (ENABLE_PROTOCOL_TESTS) add_protocol_tests() endif ()