blob: e50c50b59092764cc12f12766dd5ed71571d6cda [file]
# Creating new target to call all the added tests
add_custom_target(all_xsl_tests ALL)
function(XSL_GOLDEN_TEST)
# ~~~
# XSL_GOLDEN_TEST(
# NAME name
# )
# ~~~
#
# This function is to test the xml_canonicalize_merge function which uses the
# convert_and_merge_composable_fpga_architecture.xsl script correctly
# transforms XML by comparing against a golden output file.
#
# NAME name of the test.
#
# Usage: xsl_golden_testl(NAME <test_name>)
set(options "")
set(oneValueArgs NAME)
set(multiValueArgs "")
cmake_parse_arguments(
XSL_GOLDEN_TEST
"${options}"
"${oneValueArgs}"
"${multiValueArgs}"
${ARGN}
)
set(NAME ${XSL_GOLDEN_TEST_NAME})
set(INPUT_XML ${NAME}.xml)
add_file_target(FILE ${INPUT_XML} SCANNER_TYPE xml)
set(ACTUAL_XML ${NAME}.actual.xml)
xml_canonicalize_merge(
NAME merge_${ACTUAL_XML}
FILE ${INPUT_XML}
OUTPUT ${ACTUAL_XML}
EXTRA_ARGUMENTS "-param" "strip_comments" "1"
)
set(GOLDEN_XML ${NAME}.golden.xml)
add_file_target(FILE ${GOLDEN_XML} SCANNER_TYPE xml)
diff(NAME diff_${NAME} GOLDEN ${GOLDEN_XML} ACTUAL ${ACTUAL_XML})
add_dependencies(all_xsl_tests diff_${NAME})
endfunction(XSL_GOLDEN_TEST)