validate_schema.cmake 801 B

12345678910111213141516171819
  1. function(validate_schema file expected_result)
  2. if (NOT CMakePresets_VALIDATE_SCRIPT_PATH)
  3. set(CMakePresets_VALIDATE_SCRIPT_PATH "${RunCMake_SOURCE_DIR}/validate_schema.py")
  4. endif()
  5. execute_process(
  6. COMMAND "${PYTHON_EXECUTABLE}" "${CMakePresets_VALIDATE_SCRIPT_PATH}" "${file}"
  7. RESULT_VARIABLE _result
  8. OUTPUT_VARIABLE _output
  9. ERROR_VARIABLE _error
  10. )
  11. if(NOT _result STREQUAL expected_result)
  12. string(REPLACE "\n" "\n " _output_p "${_output}")
  13. string(REPLACE "\n" "\n " _error_p "${_error}")
  14. string(APPEND RunCMake_TEST_FAILED "Expected result of validating ${file}: ${expected_result}\nActual result: ${_result}\nOutput:\n ${_output_p}\nError:\n ${_error_p}\n")
  15. endif()
  16. set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE)
  17. endfunction()