TestOutputSize-check.cmake 877 B

1234567891011121314151617
  1. file(GLOB test_xml_file "${RunCMake_TEST_BINARY_DIR}/Testing/*/Test.xml")
  2. if(test_xml_file)
  3. file(READ "${test_xml_file}" test_xml LIMIT 4096)
  4. if("${test_xml}" MATCHES [[(<Test Status="passed">.*</Test>).*(<Test Status="failed">.*</Test>)]])
  5. set(test_passed "${CMAKE_MATCH_1}")
  6. set(test_failed "${CMAKE_MATCH_2}")
  7. else()
  8. set(RunCMake_TEST_FAILED "Test.xml does not contain a passed then failed test:\n ${test_xml}")
  9. endif()
  10. if(NOT "${test_passed}" MATCHES [[<Value>PassingTes\.\.\..*10 bytes]])
  11. set(RunCMake_TEST_FAILED "Test.xml passed test output not truncated at 10 bytes:\n ${test_passed}")
  12. elseif(NOT "${test_failed}" MATCHES [[<Value>CMake Error:\.\.\..*12 bytes]])
  13. set(RunCMake_TEST_FAILED "Test.xml failed test output not truncated at 12 bytes:\n ${test_failed}")
  14. endif()
  15. else()
  16. set(RunCMake_TEST_FAILED "Test.xml not found")
  17. endif()