file(GLOB replies "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/reply/target-headers-*.json")
if(NOT replies)
  set(RunCMake_TEST_FAILED "No File API reply for headers")
  return()
endif()
validate_json_schema("${RunCMake_SOURCE_DIR}/../../../Help/manual/file_api/schema_target.json" "${replies}")
foreach(reply IN LISTS replies)
  file(READ "${reply}" contents)
  string(JSON count ERROR_VARIABLE error LENGTH "${contents}" interfaceIncludes)
  if(error OR NOT count EQUAL 1)
    set(RunCMake_TEST_FAILED "Expected one language-independent interface include in ${reply}")
    return()
  endif()
  string(JSON path GET "${contents}" interfaceIncludes 0 path)
  string(JSON languages ERROR_VARIABLE error GET "${contents}" interfaceIncludes 0 languages)
  if(NOT error)
    set(RunCMake_TEST_FAILED "Unexpected languages for a project with no enabled languages: ${languages}")
    return()
  endif()
  if(NOT path STREQUAL RunCMake_SOURCE_DIR)
    set(RunCMake_TEST_FAILED "Unexpected language-independent interface include: ${path}")
    return()
  endif()
endforeach()
