set(expected_number_of_tests 12) # Check the flushing of the test names buffer list(LENGTH flush_script_test_TESTS num_test_names) if(NOT num_test_names EQUAL expected_number_of_tests) message(FATAL_ERROR "Test name list has wrong number of test names:\n" " Expected: ${expected_number_of_tests}\n" " Actual: ${num_test_names}" ) endif() # Check the flushing of the script content variable. # Note that flushing errors would repeat a test name, so such errors are not # uncovered by checking the name buffer flushing above. # PRE_TEST can have a config-specific tests file, POST_BUILD never does set(tests_file "@CMAKE_CURRENT_BINARY_DIR@/flush_script_test[1]_tests-Debug.cmake") if(NOT EXISTS "${tests_file}") set(tests_file "@CMAKE_CURRENT_BINARY_DIR@/flush_script_test[1]_tests.cmake") endif() if(NOT EXISTS "${tests_file}") message(FATAL_ERROR "Tests file is missing") endif() file(STRINGS "${tests_file}" add_test_lines REGEX "^add_test" ENCODING UTF-8) list(LENGTH add_test_lines num_add_test_lines) if(NOT num_add_test_lines EQUAL expected_number_of_tests) message(FATAL_ERROR "Test script has wrong number of add_test() calls:\n" " Expected: ${expected_number_of_tests}\n" " Actual: ${num_add_test_lines}" ) endif()