mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
43 lines
1.4 KiB
CMake
43 lines
1.4 KiB
CMake
function(add_invalidation_test TEST_NAME)
|
|
set(options)
|
|
set(oneValueArgs STEP INPUT PIPELINE INVALIDATIONS)
|
|
set(multiValueArgs TARGETS)
|
|
cmake_parse_arguments(OPT "${options}" "${oneValueArgs}" "${multiValueArgs}"
|
|
"${ARGN}")
|
|
|
|
add_test(
|
|
NAME "${TEST_NAME}"
|
|
COMMAND
|
|
bash -c "rm -rf ${CMAKE_BINARY_DIR}/${TEST_NAME} &&
|
|
mkdir ${CMAKE_BINARY_DIR}/${TEST_NAME} &&
|
|
${CMAKE_BINARY_DIR}/libexec/revng/revng-pipeline \
|
|
-P ${OPT_PIPELINE} \
|
|
${OPT_TARGETS} \
|
|
-i begin:Strings1:${OPT_INPUT} \
|
|
-l ${CMAKE_BINARY_DIR}/lib/librevngStringContainerLibrary.so \
|
|
-p ${CMAKE_BINARY_DIR}/${TEST_NAME} \
|
|
--step ${OPT_STEP} &&
|
|
${CMAKE_BINARY_DIR}/libexec/revng/revng-invalidate \
|
|
-P ${OPT_PIPELINE} \
|
|
${OPT_INVALIDATIONS} \
|
|
-l ${CMAKE_BINARY_DIR}/lib/librevngStringContainerLibrary.so \
|
|
-p ${CMAKE_BINARY_DIR}/${TEST_NAME} \
|
|
--step ${OPT_STEP}")
|
|
set_tests_properties(
|
|
"${TEST_NAME}" PROPERTIES LABELS "pipeline;run" ENVIRONMENT
|
|
"PATH=${CMAKE_BINARY_DIR}/bin:$ENV{PATH}")
|
|
endfunction()
|
|
|
|
add_invalidation_test(
|
|
simple_invalidation_test
|
|
TARGETS
|
|
"Strings2:Root:StringKind"
|
|
STEP
|
|
"FirstStep"
|
|
INPUT
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/InvalidateTestInput.txt"
|
|
PIPELINE
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/SimpleInvalidationTestPipeline.yml"
|
|
INVALIDATIONS
|
|
"Strings1:Root:StringKind")
|