| # 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) |