| 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() |