if (NOT EXISTS ${ProfilingTestOutput}) set(RunCMake_TEST_FAILED "Expected ${ProfilingTestOutput} to exists") endif() file(READ "${ProfilingTestOutput}" JSON_HEADER LIMIT 2) if (NOT JSON_HEADER MATCHES "^\\[{") set(RunCMake_TEST_FAILED "Expected valid JSON start") return() endif() file(SIZE "${ProfilingTestOutput}" OUTPUT_SIZE) math(EXPR END_OFFSET "${OUTPUT_SIZE} -2 ") file(READ "${ProfilingTestOutput}" JSON_TRAILER OFFSET ${END_OFFSET}) if (NOT JSON_TRAILER MATCHES "^}]$") set(RunCMake_TEST_FAILED "Expected valid JSON end") return() endif() file(STRINGS ${ProfilingTestOutput} upperCaseCommand REGEX [["name"[ ]*:[ ]*"__TESTING_COMMAND_CASE"]]) if (NOT "${upperCaseCommand}" STREQUAL "") set(RunCMake_TEST_FAILED "Command name not stored in lowercase") endif() file(STRINGS ${ProfilingTestOutput} lowerCaseCommand REGEX [["name"[ ]*:[ ]*"__testing_command_case"]]) list(LENGTH lowerCaseCommand numInvocations) if (NOT numInvocations EQUAL 1) set(RunCMake_TEST_FAILED "Unexpected number of lowercase command names: ${numInvocations}") endif()