diff --git a/tests/patterns/CMakeLists.txt b/tests/patterns/CMakeLists.txt index 8b4dd40..9acb493 100644 --- a/tests/patterns/CMakeLists.txt +++ b/tests/patterns/CMakeLists.txt @@ -22,16 +22,22 @@ set_target_properties(patterns_tests PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE foreach (pattern IN LISTS PATTERNS) get_filename_component(PATTERN_NAME ${pattern} NAME) - file(GLOB TEST_FILES "${CMAKE_CURRENT_SOURCE_DIR}/test_data/${PATTERN_NAME}.*") - - if (TEST_FILES) - list(GET TEST_FILES 0 TEST_FILE) - else () - set(TEST_FILE "") + file(GLOB TEST_FILES "${CMAKE_CURRENT_SOURCE_DIR}/test_data/${PATTERN_NAME}/*") + if (NOT TEST_FILES) + file(GLOB TEST_FILES "${CMAKE_CURRENT_SOURCE_DIR}/test_data/${PATTERN_NAME}.*") + list(SUBLIST TEST_FILES 0 1 TEST_FILES) endif () - set(TEST_NAME "Patterns/${PATTERN_NAME}") - - add_test(NAME ${TEST_NAME} COMMAND patterns_tests "${PATTERN_NAME}" "${pattern}" "${PATTERN_INCLUDES}" "${TEST_FILE}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) - set_tests_properties(${TEST_NAME} PROPERTIES SKIP_RETURN_CODE 77) -endforeach () \ No newline at end of file + if (TEST_FILES) + foreach (TEST_FILE IN LISTS TEST_FILES) + get_filename_component(TEST_FILENAME ${TEST_FILE} NAME) + set(TEST_NAME "Patterns/${PATTERN_NAME}/${TEST_FILENAME}") + add_test(NAME ${TEST_NAME} COMMAND patterns_tests "${PATTERN_NAME}" "${pattern}" "${PATTERN_INCLUDES}" "${TEST_FILE}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + set_tests_properties(${TEST_NAME} PROPERTIES SKIP_RETURN_CODE 77) + endforeach () + else () + set(TEST_NAME "Patterns/${PATTERN_NAME}") + add_test(NAME ${TEST_NAME} COMMAND patterns_tests "${PATTERN_NAME}" "${pattern}" "${PATTERN_INCLUDES}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + set_tests_properties(${TEST_NAME} PROPERTIES SKIP_RETURN_CODE 77) + endif () +endforeach ()