Skip to content

Commit

Permalink
tests/patterns: support multiple test files for a pattern (#161)
Browse files Browse the repository at this point in the history
Allow either a single test file in tests/patterns/${pattern}.hexpat.${ext},
as we do now, or multiple files in tests/patterns/${pattern}.hexpat/*.

Closes #158.
  • Loading branch information
bgilbert authored Sep 10, 2023
1 parent 7fba66a commit c0c117a
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions tests/patterns/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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}.*")
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 ()

if (TEST_FILES)
list(GET TEST_FILES 0 TEST_FILE)
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_FILE "")
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 ()

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 ()
endforeach ()

0 comments on commit c0c117a

Please sign in to comment.